--- cdli/DownloadBasket.py 2008/10/06 13:35:39 1.5 +++ cdli/DownloadBasket.py 2008/10/29 12:10:05 1.6 @@ -5,6 +5,15 @@ from ZPublisher.BaseRequest import Reque import logging import os import transaction + + +def correctFileName(filename): + m1=filename[0:3] + m2=filename[3:5] + name=os.path.join("cdliRoot","cdlimain",m1,m2,filename) + logging.debug("%s corrected zu name %s"%(filename,name)) + return name + class DownloadBasketFinallyThread(Thread): def __init__(self): @@ -85,7 +94,8 @@ class DownloadBasketFinallyThread(Thread } req = HTTPRequest(None, env, resp) return app.__of__(RequestContainer(REQUEST = req)) - + + def downloadObjectsAsOneFileFinally(self,lock=None,procedure=None,user=None,current="no",basketVersion=None): """print do the download""" logging.debug("download thread") @@ -98,15 +108,16 @@ class DownloadBasketFinallyThread(Thread files=[] lockedFiles=[] objects=basketVersion.getContent() + loggin.debug("got object in main call") self.number=len(objects) - logging.error("objects:"+repr(self.number)) + logging.debug("objects:"+repr(self.number)) for object in objects: - + obj=self.ctx.getFileObject(object[0]) self.counter+=1 # logging.error("ret:"+repr(object[0])) # logging.error(" -"+repr(procedure)) try: - lockedBy=object[1].lockedBy + lockedBy=obj.lockedBy except: logging.error("no object:"+repr(self.counter)) logging.error("no object:"+repr(object)) @@ -121,23 +132,25 @@ class DownloadBasketFinallyThread(Thread #logging.error("ret2") #object[0].addToFile2("/var/tmp/test2") #ret+=str(object[0].getData())+"\n" - files.append(object[0].getFileName()) + logging.debug("CURRENT YES") + files.append(obj.getVersionNr(object[1]).getFileName()) elif current=="yes": #logging.error("ret3") #search current object #founds=self.CDLICatalog.search({'title':object[1].getId().split(".")[0]}) - obj=self.ctx.getFileObjectLastVersion(object[1].getId()) + obj=self.ctx.getFileObjectLastVersion(object[0]) if obj: - files.append(obj.getFileName()) + logging.debug("CURRENT NO") + files.append(correctFileName(obj.getFileName())) else: - logging.error("downloadBasketasonefile: don't know: "+repr(object[0].getId())) + logging.error("downloadBasketasonefile: don't know: "+repr(object[0])) #if len(founds)>0: # ret+=str(founds[0].getObject().getLastVersion().getData())+"\n" #falls die Datei gesperrit ist nimm sie in die Liste auf. if not((procedure=="downloadAll") or (lockedBy=='') or (lockedBy==user)): #logging.error("ret4") - lockedFiles.append((object[0].getId(),lockedBy)) + lockedFiles.append((object[0],lockedBy)) #if lock and lockedBy=='': #obj=self.ctx.getFileObject(object[1].getId())