--- cdli/cdli_files.py 2006/03/19 03:27:21 1.12 +++ cdli/cdli_files.py 2006/05/10 15:44:07 1.17 @@ -131,8 +131,8 @@ class BasketObject_old(Folder): meta_type="basketObject" def __init__(self): - """init basket object""" - self.contents=[] + """init basket object""" + self.contents=[] def numberOfItems(self): """return anzahl der elemente im basket""" @@ -152,9 +152,9 @@ class BasketObject_old(Folder): return True def index_html(self): - """view the basket""" - pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','basketObject_index_html.zpt')).__of__(self) - return pt() + """view the basket""" + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','basketObject_index_html.zpt')).__of__(self) + return pt() def deleteObjects(self,ids,RESPONSE=None): """delete objects""" @@ -166,7 +166,7 @@ class BasketObject_old(Folder): if RESPONSE: - RESPONSE.redirect(self.absolute_url()) + RESPONSE.redirect(self.absolute_url()) def unlockTest(self): @@ -208,7 +208,7 @@ class BasketObject_old(Folder): elif not procedure: #keine fails gesperrt dann alle donwloaden procedure="downloadAll" - print procedure + for object in self.contents: if (procedure=="downloadAll") or (object.lockedBy=='') or (object.lockedBy==self.REQUEST['AUTHENTICATED_USER']): @@ -757,8 +757,12 @@ class CDLIFileObject(versionedFileObject security.declarePublic('getDesignation') def getDesignation(self): """get the designation out of the file""" - txt=re.search("&[Pp](.*)= (.*)",self.data) - + try: + txt=re.search("&[Pp](.*)= (.+[^\n\r])",self.data[0:]) + except: + txt=self.data[0:] + + return "ERROR" try: return txt.group(2) except: @@ -970,7 +974,10 @@ class CDLIFileFolder(versionedFileFolder return ret - + def checkCatalog(self,fn): + """check if fn is in the catalog""" + + def uploadATF(self,upload,basketId=0,RESPONSE=None): """upload an atf file""" #TODO: add comments @@ -983,6 +990,7 @@ class CDLIFileFolder(versionedFileFolder changed=[] errors=[] newPs=[] + psNotInCatalog=[] basketNameFromFile, numberOfFiles=splitatf(upload,dir) if basketId == '0': @@ -999,6 +1007,11 @@ class CDLIFileFolder(versionedFileFolder for fn in os.listdir(dir): + + if self.checkCatalog(fn): + psNotInCatalog.append(fn) + + founds=self.CDLICatalog.search({'title':fn}) if len(founds)==0: @@ -1029,13 +1042,20 @@ class CDLIFileFolder(versionedFileFolder """upload the files""" if procedure=="uploadchanged": - uploadFns=self.REQUEST.SESSION['changed']+self.REQUEST.SESSION['newPs'] + + uploadFns=self.REQUEST.SESSION.get('changed',[])+self.REQUEST.SESSION.get('newPs',[]) elif procedure=="uploadAll": uploadFns=[] for x in os.listdir(self.REQUEST.SESSION['tmpdir']): if not x in self.REQUEST.SESSION['errors']: uploadFns.append(x) + elif procedure=="noupload": + if RESPONSE is not None: + RESPONSE.redirect(self.aq_parent.absolute_url()) + return "" + else: + return "" else: uploadFns=[] @@ -1043,7 +1063,7 @@ class CDLIFileFolder(versionedFileFolder founds=self.CDLICatalog.search({'title':fn}) if len(founds)>0: self.REQUEST.SESSION['author']=str(self.REQUEST['AUTHENTICATED_USER']) - + founds[0].getObject().manage_addCDLIFileObject('',comment,self.REQUEST.SESSION['author'],file=file(os.path.join(self.REQUEST.SESSION['tmpdir'],fn))) @@ -1086,6 +1106,8 @@ class CDLIFileFolder(versionedFileFolder def findObjectsFromList(self,start=None,upload=None,list=None,basketName=None,numberOfObjects=None,RESPONSE=None): """findObjectsFromList (, TAB oder LINE separated)""" + + if upload: # list from file upload txt=upload.read() txt=txt.replace(",","\n") @@ -1111,7 +1133,7 @@ class CDLIFileFolder(versionedFileFolder pt=getattr(self,'filelist.html') return pt(basketName=basketName,numberOfObjects=numberOfObjects) - if list: # got already a list + if list is not None: # got already a list ret=[] for fileId in list: if len(fileId.split("."))==1: @@ -1125,7 +1147,9 @@ class CDLIFileFolder(versionedFileFolder if start: RESPONSE.redirect("filelist.html?start:int="+str(start)) - + + print "nothing" + def createAllFilesAsSingleFile(self,RESPONSE=None): """download all files""" @@ -1149,7 +1173,7 @@ class CDLIFileFolder(versionedFileFolder #os.write(tf,obj.getLastVersion().data) if RESPONSE: - RESPONSE.write(obj.getLastVersion().data) + RESPONSE.write(obj.getLastVersion().data[0:]) #os.close(tf) #RESPONSE.redirect(self.absolute_url()+"/downloadFile?fn="%tfilename) return True @@ -1275,4 +1299,3 @@ def manage_addCDLIFileFolder(self, id, t if REQUEST is not None: return self.manage_main(self, REQUEST, update_menu=1) -