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

version 1.1, 2008/10/01 15:58:11 version 1.2, 2008/10/02 11:42:43
Line 13  class DownloadBasketFinallyThread(Thread Line 13  class DownloadBasketFinallyThread(Thread
         self.continueVar=True          self.continueVar=True
         self.returnValue=None          self.returnValue=None
         self.end=False          self.end=False
           self.counter=0 # zaehlt wieviele Files schon gefunden wurden
       
           self.number=0 # Anzahl der Files im Basket
         Thread.__init__(self)          Thread.__init__(self)
   
     def set(self,lock,procedure,REQUEST,current,basketID,versionNumber,serverport="28080"):      def set(self,lock,procedure,user,current,basketID,versionNumber,serverport="28080"):
         self.procedure=procedure          self.procedure=procedure
         self.lock=lock          self.lock=lock
         self.REQUEST=REQUEST          self.user=user
         self.basketID = basketID          self.basketID = basketID
         self.versionNumber = versionNumber          self.versionNumber = versionNumber
         self.serverport=serverport          self.serverport=serverport
         self.current=current          self.current=current
         logging.debug("download thread:set")          logging.debug("download thread:set")
           logging.debug("download thread:user"+repr(self.user))
                 
     def __call__(self):      def __call__(self):
         """call of the thread (equals run)"""          """call of the thread (equals run)"""
Line 44  class DownloadBasketFinallyThread(Thread Line 48  class DownloadBasketFinallyThread(Thread
         baskets=self.ctx.ZopeFind(self.ctx,obj_metatypes=['CDLIBasket'],obj_ids=[self.basketID])          baskets=self.ctx.ZopeFind(self.ctx,obj_metatypes=['CDLIBasket'],obj_ids=[self.basketID])
         logging.error("---------download thread:run3")          logging.error("---------download thread:run3")
         if len(baskets)!=1:          if len(baskets)!=1:
             logging.error("ERROR: donwloadBasketcannot find basket:"+self.basketID)              logging.error("ERROR: downloadBasket: cannot find basket:"+self.basketID)
             self.end=True              self.end=True
             return              return
                   
Line 53  class DownloadBasketFinallyThread(Thread Line 57  class DownloadBasketFinallyThread(Thread
                   
         basketVersion=getattr(basket[1],self.versionNumber)          basketVersion=getattr(basket[1],self.versionNumber)
                   
         self.downloadObjectsAsOneFileFinally(self.lock,self.procedure,self.REQUEST,self.current,basketVersion)          self.downloadObjectsAsOneFileFinally(self.lock,self.procedure,self.user,self.current,basketVersion)
         self.end=True          self.end=True
                   
     def getResult(self):      def getResult(self):
Line 61  class DownloadBasketFinallyThread(Thread Line 65  class DownloadBasketFinallyThread(Thread
                   
         return self.result          return self.result
           
       def getCounter(self):
           """gibt den Counter zurueck, wieviele Objekte schon gefunden wurden"""
           logging.error("counter:"+repr(self.counter))
           return self.counter
       
   
       
       def getNumberOfFiles(self):
           """gibt anzahl zurueck"""
           return self.number;
     def getContext(self, app,serverport="8080"):      def getContext(self, app,serverport="8080"):
         """get the context within the ZODB"""          """get the context within the ZODB"""
                   
Line 73  class DownloadBasketFinallyThread(Thread Line 87  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,REQUEST=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("donwloadBasketasonefile: found basket:"+repr(basketVersion))
         ret=""          ret=""
   
         i=0          self.counter=0
         #fh=file("/var/tmp/test","w")          #fh=file("/var/tmp/test","w")
         files=[]          files=[]
         for object in basketVersion.getContent():          objects=basketVersion.getContent()
                 logging.error(i)          self.number=len(objects)
                 i+=1          for object in objects:
          
                   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                  lockedBy=object[1].lockedBy
                 lockedBy=""  #                lockedBy=""
 #                logging.error("    -"+repr(lockedBy))  #                logging.error("    -"+repr(lockedBy))
 #                  #                
                 if (procedure=="downloadAll") or (lockedBy=='') or (lockedBy==self.REQUEST['AUTHENTICATED_USER']):                  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())                          files.append(object[0].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]})
                         if len(founds)>0:                                obj=self.ctx.getFileObjectLastVersion(object[1].getId())
                             ret+=str(founds[0].getObject().getLastVersion().getData())+"\n"                          if obj:
                                                     files.append(obj.getFileName())
                                 else:
                 if lock and lockedBy=='':                              logging.error("donwloadBasketasonefile: don't know: "+repr(object[0].getId()))
                     object[1].lockedBy=self.REQUEST['AUTHENTICATED_USER']                          #if len(founds)>0:      
                             #  ret+=str(founds[0].getObject().getLastVersion().getData())+"\n"
                         
         
                   #if lock and lockedBy=='':
                       #obj=self.ctx.getFileObject(object[1].getId())
                      # founds=self.ctx.CDLICatalog.search({'title':object[1].getId().split(".")[0]})
                      #if len(founds)>0:      
                             #founds[0].getObject().lockedBy=user
                         
                   #    object[1].lockedBy=user
                   #    transaction.get().commit()
                       #obj.lockedBy=user
 #        logging.error("---------download thread:run5")  #        logging.error("---------download thread:run5")
 #        pin,pout =os.popen2("xargs cat")  #        pin,pout =os.popen2("xargs cat")
 #        logging.error("---------download thread:run6")  #        logging.error("---------download thread:run6")

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


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