Diff for /cdli/DownloadBasket.py between versions 1.2 and 1.7

version 1.2, 2008/10/02 11:42:43 version 1.7, 2008/10/29 12:20:08
Line 1 Line 1
   
 from threading import Thread  from threading import Thread
 from ZPublisher.HTTPResponse import HTTPResponse  from ZPublisher.HTTPResponse import HTTPResponse
 from ZPublisher.HTTPRequest import HTTPRequest  from ZPublisher.HTTPRequest import HTTPRequest
Line 6  from ZPublisher.BaseRequest import Reque Line 5  from ZPublisher.BaseRequest import Reque
 import logging  import logging
 import os  import os
 import transaction  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):  class DownloadBasketFinallyThread(Thread):
   
     def __init__(self):      def __init__(self):
Line 87  class DownloadBasketFinallyThread(Thread Line 95  class DownloadBasketFinallyThread(Thread
         req = HTTPRequest(None, env, resp)          req = HTTPRequest(None, env, resp)
         return app.__of__(RequestContainer(REQUEST = req))          return app.__of__(RequestContainer(REQUEST = req))
                       
           
     def downloadObjectsAsOneFileFinally(self,lock=None,procedure=None,user=None,current="no",basketVersion=None):      def downloadObjectsAsOneFileFinally(self,lock=None,procedure=None,user=None,current="no",basketVersion=None):
         """print do the download"""          """print do the download"""
         logging.debug("download thread")          logging.debug("download thread")
       
         logging.debug("donwloadBasketasonefile: found basket:"+repr(basketVersion))          logging.debug("downloadBasketasonefile: found basket:"+repr(basketVersion))
         ret=""          ret=""
   
         self.counter=0          self.counter=0
         #fh=file("/var/tmp/test","w")          #fh=file("/var/tmp/test","w")
         files=[]          files=[]
           lockedFiles=[]
         objects=basketVersion.getContent()          objects=basketVersion.getContent()
           logging.debug("got object in main call")
         self.number=len(objects)          self.number=len(objects)
           logging.debug("objects:"+repr(self.number))
         for object in objects:          for object in objects:
                          obj=self.ctx.getFileObject(object[0])
                 self.counter+=1                  self.counter+=1
 #                logging.error("ret:"+repr(object[0]))  #                logging.error("ret:"+repr(object[0]))
 #                logging.error("    -"+repr(procedure))  #                logging.error("    -"+repr(procedure))
                 lockedBy=object[1].lockedBy                  try:
                       lockedBy=obj.lockedBy
                   except:
                       logging.error("no object:"+repr(self.counter))
                       logging.error("no object:"+repr(object))
                       continue
               
 #                lockedBy=""  #                lockedBy=""
 #                logging.error("    -"+repr(lockedBy))  #                logging.error("    -"+repr(lockedBy))
 #                  #                
                 if (procedure=="downloadAll") or (lockedBy=='') or (lockedBy==user):                  
                     #logging.error("ret1")                      #logging.error("ret1")
                     if current=="no": #version as they are in the basket                      if current=="no": #version as they are in the basket
                         #logging.error("ret2")                          #logging.error("ret2")
                         #object[0].addToFile2("/var/tmp/test2")                          #object[0].addToFile2("/var/tmp/test2")
                         #ret+=str(object[0].getData())+"\n"                          #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":                      elif current=="yes":
                         logging.error("ret3")                      #logging.error("ret3")
                         #search current object                          #search current object
                         #founds=self.CDLICatalog.search({'title':object[1].getId().split(".")[0]})                          #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:                          if obj:
                             files.append(obj.getFileName())                          logging.debug("CURRENT NO")
                           files.append(correctFileName(obj.getFileName()))
                         else:                          else:
                             logging.error("donwloadBasketasonefile: don't know: "+repr(object[0].getId()))                          logging.error("downloadBasketasonefile: don't know: "+repr(object[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"
                                               
                   #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],lockedBy))
               
                 #if lock and lockedBy=='':                  #if lock and lockedBy=='':
                     #obj=self.ctx.getFileObject(object[1].getId())                      #obj=self.ctx.getFileObject(object[1].getId())
Line 154  class DownloadBasketFinallyThread(Thread Line 178  class DownloadBasketFinallyThread(Thread
         if not hasattr(self.ctx,'resultHash'):          if not hasattr(self.ctx,'resultHash'):
             self.ctx.resultHash={}              self.ctx.resultHash={}
         self.ctx.resultHash[self.getName()]=files          self.ctx.resultHash[self.getName()]=files
           
           if not hasattr(self.ctx,'resultLockedHash'):
               self.ctx.resultLockedHash={}
           self.ctx.resultLockedHash[self.getName()]=lockedFiles
           
         transaction.get().commit()          transaction.get().commit()
         self.conn.close()          self.conn.close()
         logging.error("---------download thread:run9")          logging.error("---------download thread:run9")

Removed from v.1.2  
changed lines
  Added in v.1.7


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>