Diff for /cdli/cdli_files.py between versions 1.6 and 1.11

version 1.6, 2006/02/15 21:57:39 version 1.11, 2006/03/18 01:39:10
Line 20  class Basket_old(Folder): Line 20  class Basket_old(Folder):
   
     def getObjUrl(self,objId):      def getObjUrl(self,objId):
         """getUrl"""          """getUrl"""
         founds=self.CDLICatalog.search({'path':objId})          founds=self.CDLICatalog.search({'title':objId})
         if len(founds)>0:          if len(founds)>0:
              return founds[0].getObject().absolute_url()               return founds[0].getObject().absolute_url()
                     
         else: #assume version number          else: #assume version number
             splitted=objId.split("_")              splitted=objId.split("_")
             founds=self.CDLICatalog.search({'path':splitted[1]})                      founds=self.CDLICatalog.search({'title':splitted[1]})        
             return founds[0].getObject().absolute_url()+'/'+objId              return founds[0].getObject().absolute_url()+'/'+objId
                   
     def storeAllLink(self,results):      def storeAllLink(self,results):
Line 142  class BasketObject_old(Folder): Line 142  class BasketObject_old(Folder):
         """addObjects"""          """addObjects"""
                   
         for id in ids:          for id in ids:
             founds=self.CDLICatalog.search({'path':id})              founds=self.CDLICatalog.search({'title':id})
             for found in founds:              for found in founds:
                 if found.getObject() not in self.contents:                  if found.getObject() not in self.contents:
                     tm=self.contents[0:]                      tm=self.contents[0:]
Line 247  class CDLIBasketContainer(OrderedFolder) Line 247  class CDLIBasketContainer(OrderedFolder)
     """contains the baskets"""      """contains the baskets"""
           
   
           security=ClassSecurityInfo()
     meta_type="CDLIBasketContainer"      meta_type="CDLIBasketContainer"
           
       
     def getBasketIdfromName(self,basketname):      def getBasketIdfromName(self,basketname):
         """get id from name"""          """get id from name"""
   
Line 258  class CDLIBasketContainer(OrderedFolder) Line 259  class CDLIBasketContainer(OrderedFolder)
                 return basket[0]                  return basket[0]
         else:          else:
             None              None
       
       security.declareProtected('manage','uploadBasket_html')        
               
     def uploadBasket_html(self,basketId='0'):      def uploadBasket_html(self,basketId='0'):
         """upload an atf file, html form"""          """upload an atf file, html form"""
           
   
         basketId=str(basketId)          basketId=str(basketId)
         if not basketId=='0':          if not basketId=='0':
             basketName=getattr(self.basketContainer,basketId).title              basketName=getattr(self.basketContainer,basketId).title
Line 273  class CDLIBasketContainer(OrderedFolder) Line 279  class CDLIBasketContainer(OrderedFolder)
                   
     def index_html(self):      def index_html(self):
         """stanadard ansicht"""          """stanadard ansicht"""
           
   
   
         ext=self.ZopeFind(self,obj_ids=["index.html"])          ext=self.ZopeFind(self,obj_ids=["index.html"])
         if ext:          if ext:
             return ext[0][1]()              return ext[0][1]()
Line 407  class CDLIBasketContainer(OrderedFolder) Line 416  class CDLIBasketContainer(OrderedFolder)
                   
                   
         if fromFileList:          if fromFileList:
   
             return self.cdli_main.findObjectsFromList(list=self.REQUEST.SESSION['fileIds'],basketName=basket.title,numberOfObjects=added)              return self.cdli_main.findObjectsFromList(list=self.REQUEST.SESSION['fileIds'],basketName=basket.title,numberOfObjects=added)
                 
         if RESPONSE:          if RESPONSE:
Line 660  class CDLIBasketVersion(SimpleItem): Line 670  class CDLIBasketVersion(SimpleItem):
                     
         else: #assume version number          else: #assume version number
             splitted=objId.split("_")              splitted=objId.split("_")
             founds=self.CDLICatalog.search({'path':splitted[1]})                      founds=self.CDLICatalog.search({'title':splitted[1]})        
             return founds[0].getObject().absolute_url()+'/'+objId              return founds[0].getObject().absolute_url()+'/'+objId
         
 def manage_addCDLIBasketVersion(self,user,comment="",basketContent=[],RESPONSE=None):  def manage_addCDLIBasketVersion(self,user,comment="",basketContent=[],RESPONSE=None):
Line 734  class CDLIFile(versionedFile,CatalogAwar Line 744  class CDLIFile(versionedFile,CatalogAwar
     meta_type="CDLI file"      meta_type="CDLI file"
     default_catalog='CDLICatalog'      default_catalog='CDLICatalog'
           
     def isContainedInBaskets(self):  
         """check is this file is part of any basket"""  
               
         return [x.getObject() for x in self.CDLIBasketCatalog.search({'getFileNamesInLastVersion':self.getId()})]      
       def isContainedInBaskets(self,context=None):
           """check is this file is part of any basket
           @param context: (optional) necessessary if CDLIBasketCatalog is not an (inherited) attribute of self, context.CDLIBasketCatalog
                           has to exist.
           """
   
           if not context:
               context=self
               
           return [x.getObject() for x in context.CDLIBasketCatalog.search({'getFileNamesInLastVersion':self.getId()})]
                   
                   
     def addCDLIFileObjectForm(self):      def addCDLIFileObjectForm(self):
Line 758  class CDLIFile(versionedFile,CatalogAwar Line 776  class CDLIFile(versionedFile,CatalogAwar
         except:          except:
             pass              pass
                   
         author=self.REQUEST['author']          author=self.REQUEST.SESSION['author']
                   
         if changeName=="yes":          if changeName=="yes":
             filename=file.filename              filename=file.filename
Line 861  class CDLIFileFolder(versionedFileFolder Line 879  class CDLIFileFolder(versionedFileFolder
         ret=[]          ret=[]
         searchStr=" OR ".join(ids)          searchStr=" OR ".join(ids)
                   
         founds=self.CDLICatalog.search({'path':searchStr})          founds=self.CDLICatalog.search({'title':searchStr})
                   
         for found in founds:          for found in founds:
             lastVersion=found.getObject().getLastVersion()              lastVersion=found.getObject().getLastVersion()
Line 883  class CDLIFileFolder(versionedFileFolder Line 901  class CDLIFileFolder(versionedFileFolder
         errors=[]          errors=[]
         newPs=[]          newPs=[]
         basketNameFromFile, numberOfFiles=splitatf(upload,dir)          basketNameFromFile, numberOfFiles=splitatf(upload,dir)
           
           if basketId == '0':
               basketObj=self.basketContainer.getActiveBasket()
               if basketObj:
                   basketId=basketObj.getId()
                   
         if basketId == '0':          if basketId == '0':
             basketNameFromId=""              basketNameFromId=""
             basketLen=0              basketLen=0
Line 933  class CDLIFileFolder(versionedFileFolder Line 957  class CDLIFileFolder(versionedFileFolder
             uploadFns=[]              uploadFns=[]
                           
         for fn in uploadFns:          for fn in uploadFns:
             founds=self.CDLICatalog.search({'path':fn})              founds=self.CDLICatalog.search({'title':fn})
             if len(founds)>0:              if len(founds)>0:
                 self.REQUEST['author']=str(self.REQUEST['AUTHENTICATED_USER'])                  self.REQUEST.SESSION['author']=str(self.REQUEST['AUTHENTICATED_USER'])
                 founds[0].getObject().manage_addCDLIFileObject('',comment,self.REQUEST['author'],file=file(os.path.join(self.REQUEST.SESSION['tmpdir'],fn)))  
                   founds[0].getObject().manage_addCDLIFileObject('',comment,self.REQUEST.SESSION['author'],file=file(os.path.join(self.REQUEST.SESSION['tmpdir'],fn)))
                           
                   
                                   
Line 956  class CDLIFileFolder(versionedFileFolder Line 981  class CDLIFileFolder(versionedFileFolder
                         unlockFns.append(x)                          unlockFns.append(x)
                           
             for fn in unlockFns:              for fn in unlockFns:
                 founds=self.CDLICatalog.search({'path':fn})                  founds=self.CDLICatalog.search({'title':fn})
                 if len(founds)>0:                  if len(founds)>0:
                     self.REQUEST['author']=str(self.REQUEST['AUTHENTICATED_USER'])                      self.REQUEST.SESSION['author']=str(self.REQUEST['AUTHENTICATED_USER'])
                                         
                     founds[0].getObject().lockedBy=""                      founds[0].getObject().lockedBy=""
                                           
         if not (basketname ==''):          if not (basketname ==''):
             basketId=self.basketFolder.getBasketIdfromName(basketname)              basketId=self.basketContainer.getBasketIdfromName(basketname)
                           
             basket=getattr(self.basketFolder,basketId)              if not basketId: # create new basket
                   ob=self.basketContainer.addBasket(basketname)
                   basketId=ob.getId()
               basket=getattr(self.basketContainer,str(basketId))
             ids=os.listdir(self.REQUEST.SESSION['tmpdir'])              ids=os.listdir(self.REQUEST.SESSION['tmpdir'])
             basket.addObjects(ids,deleteOld=True)                  basket.addObjects(ids,deleteOld=True)    
                                   
Line 973  class CDLIFileFolder(versionedFileFolder Line 1001  class CDLIFileFolder(versionedFileFolder
             RESPONSE.redirect(self.aq_parent.absolute_url())              RESPONSE.redirect(self.aq_parent.absolute_url())
                   
   
     def findObjectsFromList(self,upload=None,list=None,basketName=None,numberOfObjects=None,RESPONSE=None):      def findObjectsFromList(self,start=None,upload=None,list=None,basketName=None,numberOfObjects=None,RESPONSE=None):
         """findObjectsFromList (, TAB oder LINE separated)"""          """findObjectsFromList (, TAB oder LINE separated)"""
         if upload: # list from file upload          if upload: # list from file upload
             txt=upload.read()              txt=upload.read()
Line 990  class CDLIFileFolder(versionedFileFolder Line 1018  class CDLIFileFolder(versionedFileFolder
             #self.REQUEST.SESSION['ids']=" OR ".join(ids)              #self.REQUEST.SESSION['ids']=" OR ".join(ids)
                           
             pt=getattr(self,'filelist.html')              pt=getattr(self,'filelist.html')
               self.REQUEST.SESSION['searchList']=ids
             return pt(search=ids)              return pt(search=ids)
           
         if basketName:          if basketName:
               #TODO: get rid of one of these..
               
             pt=getattr(self,'filelist.html')              pt=getattr(self,'filelist.html')
             return pt(search=list,basketName=basketName,numberOfObjects=numberOfObjects)              return pt(basketName=basketName,numberOfObjects=numberOfObjects)
                   
         if list: # got already a list          if list: # got already a list
             ret=[]              ret=[]
Line 1002  class CDLIFileFolder(versionedFileFolder Line 1034  class CDLIFileFolder(versionedFileFolder
                         fileId=fileId+".atf"                          fileId=fileId+".atf"
                                                   
                 ret+=self.CDLICatalog({'title':fileId})                  ret+=self.CDLICatalog({'title':fileId})
               #TODO: get rid of one of these..
             self.REQUEST.SESSION['fileIds']=[x.getObject().getId() for x in ret]#store fieldIds in session for further usage              self.REQUEST.SESSION['fileIds']=[x.getObject().getId() for x in ret]#store fieldIds in session for further usage
               self.REQUEST.SESSION['searchList']=self.REQUEST.SESSION['fileIds']
             return ret              return ret
                   
         #RESPONSE.redirect("filelist.html?path=%s"%" OR ".join(ids))          if start:
               RESPONSE.redirect("filelist.html?start:int="+str(start))
           
     def createAllFilesAsSingleFile(self,RESPONSE=None):      def createAllFilesAsSingleFile(self,RESPONSE=None):
         """download all files"""          """download all files"""

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


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