version 1.92, 2008/10/06 13:35:39
|
version 1.99, 2008/10/15 07:48:05
|
Line 228 class BasketContent(SimpleItem):
|
Line 228 class BasketContent(SimpleItem):
|
"""content""" |
"""content""" |
self.contentList=content[0:] |
self.contentList=content[0:] |
|
|
def getContent(self): |
def getContent(self,filtered=True): |
"""get content""" |
"""get content""" |
|
ret=[] |
|
if filtered: |
|
for x in self.contentList: |
|
if not((x[0] is None) or (x[1] is None)): |
|
ret.append(x) |
|
return ret |
|
|
|
else: |
return self.contentList |
return self.contentList |
|
|
|
def allContent(self): |
|
"""get all content""" |
|
return self.getContent(filtered=False) |
|
|
def setContent(self,content): |
def setContent(self,content): |
self.contentList=content[0:] |
self.contentList=content[0:] |
|
|
Line 401 class uploadATFfinallyThread(Thread):
|
Line 412 class uploadATFfinallyThread(Thread):
|
basketId=ob.getId() |
basketId=ob.getId() |
basket=getattr(ctx2.basketContainer,str(basketId)) |
basket=getattr(ctx2.basketContainer,str(basketId)) |
ids=os.listdir(SESSION['tmpdir']) |
ids=os.listdir(SESSION['tmpdir']) |
logging.debug("should add:"+repr(ids)) |
#logging.debug("should add:"+repr(ids)) |
basket.addObjects(ids,deleteOld=True,username=str(username)) |
basket.addObjects(ids,deleteOld=True,username=str(username)) |
|
|
logging.debug("uploadatffinallythread uploadfinally done") |
logging.debug("uploadatffinallythread uploadfinally done") |
Line 640 class CDLIBasketContainer(OrderedFolder)
|
Line 651 class CDLIBasketContainer(OrderedFolder)
|
ret+=str(object[0].getData())+"\n" |
ret+=str(object[0].getData())+"\n" |
elif current=="yes": |
elif current=="yes": |
#search current object |
#search current object |
logging.debug("current: %s"%object[1].getId().split(".")[0]) |
#logging.debug("current: %s"%object[1].getId().split(".")[0]) |
founds=self.CDLICatalog.search({'title':object[1].getId().split(".")[0]}) |
founds=self.CDLICatalog.search({'title':object[1].getId().split(".")[0]}) |
if len(founds)>0: |
if len(founds)>0: |
ret+=str(founds[0].getObject().getLastVersion().getData())+"\n" |
ret+=str(founds[0].getObject().getLastVersion().getData())+"\n" |
Line 659 class CDLIBasketContainer(OrderedFolder)
|
Line 670 class CDLIBasketContainer(OrderedFolder)
|
def deleteBaskets(self,ids=None): |
def deleteBaskets(self,ids=None): |
"""delete baskets, i.e. move them into trash folder""" |
"""delete baskets, i.e. move them into trash folder""" |
|
|
|
if ids is None: |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','cdliError_html.zpt')).__of__(self) |
|
txt="Sorry, no basket selected!" |
|
return pt(txt=txt) |
|
|
found=self.ZopeFind(self,obj_ids=['trash']) |
found=self.ZopeFind(self,obj_ids=['trash']) |
|
|
Line 670 class CDLIBasketContainer(OrderedFolder)
|
Line 685 class CDLIBasketContainer(OrderedFolder)
|
|
|
if type(ids) is not ListType: |
if type(ids) is not ListType: |
ids=[ids] |
ids=[ids] |
|
logging.error("XERXON:"+repr(ids)) |
|
if len(ids)==0: |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','cdliError_html.zpt')).__of__(self) |
|
txt="Sorry, no basket selected!" |
|
return pt(txt=txt) |
|
|
cut=self.manage_cutObjects(ids) |
cut=self.manage_cutObjects(ids) |
trash.manage_pasteObjects(cut) |
trash.manage_pasteObjects(cut) |
|
return None |
security.declareProtected('manage','manageBaskets') |
security.declareProtected('manage','manageBaskets') |
def manageBaskets(self,submit,ids=None,basket1="",basket2="",joinBasket="",subtractBasket="",REQUEST=None,RESPONSE=None): |
def manageBaskets(self,submit,ids=None,basket1="",basket2="",joinBasket="",subtractBasket="",REQUEST=None,RESPONSE=None): |
"""manage baskets, delete or copy""" |
"""manage baskets, delete or copy""" |
if submit=="delete": |
if submit=="delete": |
self.deleteBaskets(ids) |
ret= self.deleteBaskets(ids) |
|
if ret: |
|
return ret |
elif submit=="join": |
elif submit=="join": |
flag,msg=self.joinBasket(joinBasket, ids) |
flag,msg=self.joinBasket(joinBasket, ids) |
logging.info("joining %s %s"%(flag,msg)) |
logging.info("joining %s %s"%(flag,msg)) |
|
if not flag: |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','cdliError_html.zpt')).__of__(self) |
|
|
|
return pt(txt=msg) |
|
|
elif submit=="subtract": |
elif submit=="subtract": |
logging.info("BBBb %s %s"%(basket1,basket2)) |
logging.info("BBBb %s %s"%(basket1,basket2)) |
Line 821 class CDLIBasketContainer(OrderedFolder)
|
Line 847 class CDLIBasketContainer(OrderedFolder)
|
@param basket2: see above |
@param basket2: see above |
|
|
""" |
""" |
|
|
logging.info("CCCCC %s %s"%(basket1,basket2)) |
logging.info("CCCCC %s %s"%(basket1,basket2)) |
|
|
try: |
try: |
Line 861 class CDLIBasketContainer(OrderedFolder)
|
Line 888 class CDLIBasketContainer(OrderedFolder)
|
@param newbasket: name of the new basket |
@param newbasket: name of the new basket |
@param oldbaskets: list of baskets to be joined |
@param oldbaskets: list of baskets to be joined |
""" |
""" |
|
if oldBaskets is None: |
|
return False, "No Baskets selected!" |
|
|
try: |
try: |
newB=self.addBasket(newBasket) |
newB=self.addBasket(newBasket) |
except: |
except: |
return False, "cannot create the new basket" |
return False, "cannot create the new basket" |
|
|
newBasketContent={} |
newBasketContent={} |
|
|
for ob in oldBaskets: |
for ob in oldBaskets: |
x= getattr(self,ob,None) |
x= getattr(self,ob,None) |
if x is None: |
if x is None: |
Line 1032 class CDLIBasket(Folder,CatalogAware):
|
Line 1063 class CDLIBasket(Folder,CatalogAware):
|
def isActual(self,obj): |
def isActual(self,obj): |
"""teste ob im basket die aktuelle version ist""" |
"""teste ob im basket die aktuelle version ist""" |
try: |
try: |
logging.debug("isActual:"+repr(obj)) |
#logging.debug("isActual:"+repr(obj)) |
actualNo=obj[1].getLastVersion().getVersionNumber() |
actualNo=obj[1].getLastVersion().getVersionNumber() |
storedNo=obj[0].getVersionNumber() |
storedNo=obj[0].getVersionNumber() |
|
|
|
|
actualNo=self.getFileObjectLastVersion(obj.getId()).getVersionNumber() |
#actualNo=self.getFileObjectLastVersion(obj.getId()).getVersionNumber() |
|
|
#if len(founds)>0 and founds[0].getObject().aq_parent.getId()==".trash": |
#if len(founds)>0 and founds[0].getObject().aq_parent.getId()==".trash": |
# return False, -1 |
# return False, -1 |
Line 1047 class CDLIBasket(Folder,CatalogAware):
|
Line 1078 class CDLIBasket(Folder,CatalogAware):
|
else: |
else: |
return False, actualNo |
return False, actualNo |
except: |
except: |
|
logging.error( """is actual: %s (%s %s)"""%(repr(obj),sys.exc_info()[0],sys.exc_info()[1])) |
|
|
return False, -1 |
return False, -1 |
|
|
def history(self): |
def history(self): |
Line 1222 class CDLIBasket(Folder,CatalogAware):
|
Line 1255 class CDLIBasket(Folder,CatalogAware):
|
|
|
hash = md5.new(repr(makelist(ids))).hexdigest() # erzeuge hash als identification |
hash = md5.new(repr(makelist(ids))).hexdigest() # erzeuge hash als identification |
#logging.debug("JJJJJJJ:"+repr(self.makelist(ids))) |
#logging.debug("JJJJJJJ:"+repr(self.makelist(ids))) |
logging.debug("JJJJJJJ:"+repr(hash)) |
|
|
|
if hasattr(self.cdliRoot,'v_tmpStore') and self.cdliRoot.v_tmpStore.has_key(hash): |
|
|
if hasattr(self.cdliRoot,'v_tmpStore') and self.cdliRoot.v_tmpStore.has_key("hash"): #TODO: muss eigentlich self.cdliRoot.v_tmpStore.has_key(hash): heissen (ohne "), erstmal so gesetzt damit der hash hier nie benutzt wird |
logging.debug("from store!") |
logging.debug("from store!") |
newContent=Set(map(swap,self.cdliRoot.v_tmpStore[hash])) |
newContent=Set(map(swap,self.cdliRoot.v_tmpStore[hash])) |
|
|
Line 1253 class CDLIBasket(Folder,CatalogAware):
|
Line 1286 class CDLIBasket(Folder,CatalogAware):
|
|
|
lv=self.getLastVersion() |
lv=self.getLastVersion() |
for obj in lv.content.getContent(): |
for obj in lv.content.getContent(): |
logging.info("XXXXXXXXXX %s"%repr(obj)) |
#logging.info("XXXXXXXXXX %s"%repr(obj)) |
ret.append((obj[1].getId(),obj[0].versionNumber)) |
ret.append((obj[1].getId(),obj[0].versionNumber)) |
|
|
return ret |
return ret |
Line 1362 class CDLIBasketVersion(Implicit,Persist
|
Line 1395 class CDLIBasketVersion(Implicit,Persist
|
security.declareProtected('manage','downloadObjectsAsOneFile') |
security.declareProtected('manage','downloadObjectsAsOneFile') |
def downloadObjectsAsOneFile(self,lock=None,procedure=None,REQUEST=None,check="yes",current="no"): |
def downloadObjectsAsOneFile(self,lock=None,procedure=None,REQUEST=None,check="yes",current="no"): |
"""download all selected files in one file""" |
"""download all selected files in one file""" |
logging.debug("doasof") |
|
if self.temp_folder.downloadCounterBaskets > 10000: |
if self.temp_folder.downloadCounterBaskets > 10000: |
return """I am sorry, currently the server has to many requests for downloads, please come back later!""" |
return """I am sorry, currently the server has to many requests for downloads, please come back later!""" |
|
|
Line 1379 class CDLIBasketVersion(Implicit,Persist
|
Line 1412 class CDLIBasketVersion(Implicit,Persist
|
def downloadObjectsAsOneFileFinally(self,lock=None,procedure=None,REQUEST=None,current="no",repeat=None): |
def downloadObjectsAsOneFileFinally(self,lock=None,procedure=None,REQUEST=None,current="no",repeat=None): |
"""print do the download""" |
"""print do the download""" |
|
|
logging.debug("HIHHHH") |
|
ret="" |
ret="" |
lockedObjects={} |
lockedObjects={} |
|
|
|
|
logging.debug("lock:"+repr(lock)) |
|
if lock: |
if lock: |
logging.debug("------lock:"+repr(lock)) |
logging.debug("------lock:"+repr(lock)) |
if str(self.REQUEST['AUTHENTICATED_USER'])=='Anonymous User': |
if str(self.REQUEST['AUTHENTICATED_USER'])=='Anonymous User': |
Line 1426 class CDLIBasketVersion(Implicit,Persist
|
Line 1459 class CDLIBasketVersion(Implicit,Persist
|
|
|
self._v_downloadBasket[threadName]=thread |
self._v_downloadBasket[threadName]=thread |
logging.debug("dwonloadfinally:"+repr(self)) |
logging.debug("dwonloadfinally:"+repr(self)) |
basketID=self.aq_parent.aq_parent.getId() |
|
versionNumber=self.aq_parent.getId() |
if isinstance(self,CDLIBasketVersion): |
|
obj=self |
|
else: |
|
obj=self.aq_parent |
|
logging.debug("dwonloadfinally2:"+repr(obj)) |
|
logging.debug("dwonloadfinally2:"+repr(obj.aq_parent)) |
|
|
|
obj2=obj.aq_parent |
|
if not isinstance(obj2,CDLIBasket): |
|
obj2=obj2.aq_parent |
|
|
|
basketID=obj2.getId() |
|
versionNumber=obj.getId() |
|
logging.debug("dwonloadfinally2:"+repr(basketID)) |
|
logging.debug("dwonloadfinally2:"+repr(versionNumber)) |
|
|
|
|
if lock: |
if lock: |
logging.debug("-----start locking") |
logging.debug("-----start locking") |
Line 2119 class CDLIFileFolder(extVersionedFileFol
|
Line 2167 class CDLIFileFolder(extVersionedFileFol
|
ids = fileTree & self.v_file_ids |
ids = fileTree & self.v_file_ids |
#self.REQUEST.SESSION['fileIds']=ids#store fieldIds in session for further usage |
#self.REQUEST.SESSION['fileIds']=ids#store fieldIds in session for further usage |
l=makelist(fileTree)[0:] |
l=makelist(fileTree)[0:] |
logging.debug("l-list:"+repr(l)) |
#logging.debug("l-list:"+repr(l)) |
self.REQUEST.SESSION['fileIds']=l#store fieldIds in session for further usage |
self.REQUEST.SESSION['fileIds']=l#store fieldIds in session for further usage |
self.REQUEST.SESSION['searchList']=l |
self.REQUEST.SESSION['searchList']=l |
#self.REQUEST.SESSION['searchList']=['P000001.atf'] |
#self.REQUEST.SESSION['searchList']=['P000001.atf'] |
Line 2352 class CDLIRoot(Folder):
|
Line 2400 class CDLIRoot(Folder):
|
def getFileObjectLastVersion(self,fileId): |
def getFileObjectLastVersion(self,fileId): |
"""get an object""" |
"""get an object""" |
x=self.v_files_lastVersion.get(fileId) |
x=self.v_files_lastVersion.get(fileId) |
#logging.debug(x) |
#logging.debug("lastVersion: "+repr(x)) |
return x |
return x |
|
|
def showFileIds(self): |
def showFileIds(self): |