Diff for /cdli/cdli_basket.py between versions 1.2 and 1.6

version 1.2, 2009/06/21 11:12:00 version 1.6, 2011/07/20 09:33:35
Line 33  from types import * Line 33  from types import *
 import pickle  import pickle
 import tempfile  import tempfile
 from cdli_files import CDLIFile                from cdli_files import CDLIFile              
   from cdli_files import splitatf,checkFile
 from cdli_helpers import *  from cdli_helpers import *
   
 class BasketContent(SimpleItem):  class BasketContent(SimpleItem):
     """classe fuer den Inhalt eines Baskets"""      """classe fuer den Inhalt eines Baskets"""
         
Line 134  class uploadATFfinallyThread(Thread): Line 136  class uploadATFfinallyThread(Thread):
                   
         self.result=""          self.result=""
         #find context within ZODB          #find context within ZODB
         from Zope import DB          from Zope2 import DB
         conn = DB.open()          conn = DB.open()
         root = conn.root()          root = conn.root()
         app  = root['Application']          app  = root['Application']
Line 308  class uploadATFThread(Thread): Line 310  class uploadATFThread(Thread):
         idTmp=self.idTmp          idTmp=self.idTmp
         self.result=""          self.result=""
         #find context within ZODB          #find context within ZODB
         from Zope import DB          from Zope2 import DB
         conn = DB.open()          conn = DB.open()
         root = conn.root()          root = conn.root()
         app  = root['Application']          app  = root['Application']
Line 347  class uploadATFThread(Thread): Line 349  class uploadATFThread(Thread):
           
         #make sure that id is a string and not an integer          #make sure that id is a string and not an integer
         basketId=str(basketId)          basketId=str(basketId)
                   logging.info("basketID:"+basketId)
         #TODO: make this configurable, at the moment, rootFolder for cdli has to be cdliRoot          #TODO: make this configurable, at the moment, rootFolder for cdli has to be cdliRoot
         ctx2=ctx.cdliRoot          ctx2=ctx.cdliRoot
                   
         #get temporary file for staging the downloaded and splitted files          #get temporary file for staging the downloaded and splitted files
         dir=tempfile.mkdtemp()          dir=tempfile.mkdtemp()
                   
                   logging.info("tmpfFile:"+str(dir))
         changed=[] # changed files          changed=[] # changed files
         errors=[]  # files with errors          errors=[]  # files with errors
         lockerrors=[]  # files with errors          lockerrors=[]  # files with errors
Line 363  class uploadATFThread(Thread): Line 365  class uploadATFThread(Thread):
         psNotInCatalog=[] # files not in the catalog          psNotInCatalog=[] # files not in the catalog
                   
         #split the uploadedd atf file          #split the uploadedd atf file
           logging.info("start splitting")
         basketNameFromFile, numberOfFiles=splitatf(upload,dir,ext=self)          basketNameFromFile, numberOfFiles=splitatf(upload,dir,ext=self)
                   
         #find basketId if not set          #find basketId if not set
Line 572  class CDLIBasketContainer(OrderedFolder) Line 575  class CDLIBasketContainer(OrderedFolder)
           
     security.declareProtected('manage','uploadBasket_html')              security.declareProtected('manage','uploadBasket_html')        
                           
       def uploadBasketAsync_html(self,basketId='0'):
           """upload an atf file, html form, jetzt aufruf der nicht asyncronen version mit ticktes"""
           
   
           basketId=str(basketId)
           if not basketId=='0':
               basketName=getattr(self.basketContainer,basketId).title
           else:
               basketName=""
               
           pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','uploadBasketAsync_html.zpt')).__of__(self)
           return pt(basketId=basketId,basketName=basketName)
      
   
               
     def uploadBasket_html(self,basketId='0'):      def uploadBasket_html(self,basketId='0'):
         """upload an atf file, html form"""          """upload an atf file, html form"""
                   
Line 1120  class CDLIBasket(Folder,CatalogAware): Line 1138  class CDLIBasket(Folder,CatalogAware):
                 
         retrieved = self.CDLICache.retrieve(hash)          retrieved = self.CDLICache.retrieve(hash)
         if retrieved:          if retrieved:
               logging.debug("add Objects: retrieved")
             newContent=Set(map(swap,retrieved))              newContent=Set(map(swap,retrieved))
         else:          else:
               logging.debug("add Objects: new")
             newContent=Set([(self.getFileObjectLastVersion(x),self.getFileObject(x)) for x in ids])                           newContent=Set([(self.getFileObjectLastVersion(x),self.getFileObject(x)) for x in ids])             
                 
             
Line 1167  class CDLIBasket(Folder,CatalogAware): Line 1187  class CDLIBasket(Folder,CatalogAware):
     def changeBasket(self,ids,submit,RESPONSE=None,REQUEST=None):      def changeBasket(self,ids,submit,RESPONSE=None,REQUEST=None):
         """change a basket"""          """change a basket"""
         if submit=="update":          if submit=="update":
             return self.updateObjects(ids,RESPONSE=RESPONSE,REQUEST=REQUEST)              self.updateObjects(ids,RESPONSE=RESPONSE,REQUEST=REQUEST)
         elif submit=="delete":          elif submit=="delete":
             return self.deleteObjects(ids,RESPONSE=RESPONSE,REQUEST=REQUEST)              self.deleteObjects(ids,RESPONSE=RESPONSE,REQUEST=REQUEST)
                           
     def deleteObjects(self,ids,RESPONSE=None,REQUEST=None):      def deleteObjects(self,ids,RESPONSE=None,REQUEST=None):
         """delete objects"""          """delete objects"""

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


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