--- OSAS/OSA_system/OSAS_add.py 2004/04/08 16:50:01 1.20 +++ OSAS/OSA_system/OSAS_add.py 2004/04/15 21:30:42 1.26 @@ -9,6 +9,7 @@ except: print "archive not imported" import os + from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate import string @@ -57,7 +58,7 @@ def getISO(): ret[key]=value except: ret={} - return ret + return ret def add2(self): @@ -69,6 +70,7 @@ def add2(self): self.bibdata[referenceType[1].title]=referenceType[1].fields self.bibdata['data']=referenceType[1] self.fields=self.bibdata[self.reftype] + self.isolist=getISO() tmp=getISO().keys() tmp.sort() @@ -138,13 +140,16 @@ def add4(self): self.folder_name=self.REQUEST['folder_name'] # next has to be changed -> error if back button is used!! - self.REQUEST.SESSION['path']=self.REQUEST.SESSION['path']+"/"+self.REQUEST['folder_name'] - - self.REQUEST.SESSION['folder_name']=self.folder_name - self.image_folder_name="pageimg" - newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_upload').__of__(self) - return newtemplate() + if self.REQUEST['submit']=="upload images": + self.REQUEST.SESSION['path']=os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name']) + self.image_folder_name="pageimg" + newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_upload').__of__(self) + return newtemplate() + else: + os.mkdir(os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name'])) + return addText(self,os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name'])) + def add5(self): """ADD INDEX.META""" @@ -163,7 +168,8 @@ def add6(self): self.metadata=self.REQUEST.SESSION['metadata'] self.metadataprint="" for tag in self.metadata.keys(): - self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"\n" + if tag!="": + self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"\n" newtemplate=PageTemplateFile('Products/OSA_system/zpt/index_meta').__of__(self) newtemplate.content_type="text/plain" @@ -184,16 +190,15 @@ def add6(self): return self.REQUEST.response.redirect(self.REQUEST['URL2']+"?path="+self.REQUEST.SESSION['path']) else: #print self.add_metadata['archive-path'] - self.viewpath=re.search(r"/mpiwg/online/(.*)",self.add_metadata['archive-path']).group(1) - newtemplate2=PageTemplateFile('Products/OSA_system/zpt/OSAS_saved').__of__(self) - - - newtemplate2.content_type="text/html" - self.REQUEST.response.setHeader('Content-Type','text/html') - - - return newtemplate2() - + self.viewpath=re.search(r"/mpiwg/online/(.*)",self.add_metadata['archive-path']).group(1) + if not (self.REQUEST.SESSION['no_upload']=="text"): + newtemplate2=PageTemplateFile('Products/OSA_system/zpt/OSAS_saved').__of__(self) + newtemplate2.content_type="text/html" + self.REQUEST.response.setHeader('Content-Type','text/html') + return newtemplate2() + else: + """text upload""" + return 1 @@ -213,16 +218,25 @@ def addPresentation(self,path): try: author=archive.getText(dom.getElementsByTagName('Author')[0].childNodes) except: - author=archive.getText(dom.getElementsByTagName('Editor')[0].childNodes) - - title=archive.getText(dom.getElementsByTagName('title')[0].childNodes) + try: + author=archive.getText(dom.getElementsByTagName('Editor')[0].childNodes) + except: + author="" + try: + title=archive.getText(dom.getElementsByTagName('title')[0].childNodes) + except: + title="" + try: date=archive.getText(dom.getElementsByTagName('year')[0].childNodes) except: try: date=archive.getText(dom.getElementsByTagName('Year')[0].childNodes) except: - date=archive.getText(dom.getElementsByTagName('date')[0].childNodes) + try: + date=archive.getText(dom.getElementsByTagName('date')[0].childNodes) + except: + date="" i=1 while os.path.exists("%02d-presentation"%i): i+=1 @@ -274,7 +288,7 @@ def addPresentation2(self): return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path) -def addText(self,path): +def addText(self,path,folder=None): """add fulltext to the path""" self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing text files self.REQUEST.SESSION['path']=path @@ -282,6 +296,7 @@ def addText(self,path): return newtemplate() def addText2(self): + """addtext""" folder_name=self.REQUEST['folder_name'] #print self.REQUEST['folder_name'] content_description=self.REQUEST['content_description'] @@ -569,7 +584,6 @@ def combineTextImage2(self,path): node2=node.getElementsByTagName('bib')[0] subs=node2.getElementsByTagName('lang') for sub in subs: - print "X",sub node2.removeChild(sub) except: """nothing""" @@ -577,7 +591,6 @@ def combineTextImage2(self,path): main=dom.getElementsByTagName('bib')[0] node=dom.createElement('lang') textnode=dom.createTextNode(self.REQUEST['lang']) - print "LANG:",lang node.appendChild(textnode) main.appendChild(node) except: @@ -606,8 +619,49 @@ def combineTextImage2(self,path): urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() - #return urllib.quote("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path) - os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 >> /tmp/sc.out &"% re.sub('/mpiwg/online/','',self.REQUEST['path']+"/"+self.REQUEST['image'])) - - #return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+self.REQUEST['path']) + + if self.REQUEST.has_key('image'): # falls bilder + os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 >> /tmp/sc.out &"% re.sub('/mpiwg/online/','',self.REQUEST['path']+"/"+self.REQUEST['image'])) + + else: # falls keine Bilder (bug in reg.cgi info file ersetzen) + f=file("/tmp/tmp_info.xml","w") + f.write(patchedInfoXML(self.REQUEST['path'])) + f.close() + splitted=path.split("/") + fn=splitted[len(splitted)-1] + remotePath="archive@nausikaa2.rz-berlin.mpg.de:/usr/local/share/archimedes/web/docs/proj/echo/1/docs/"+fn+"/info.xml" + os.popen("scp /tmp/tmp_info.xml %s"%remotePath) + +def patchedInfoXML(path): + dom=xml.dom.minidom.parse(path+"/index.meta") + ret="\n" + ret+="%s\n"%archive.getText(dom.getElementsByTagName('text')[0].childNodes) + ret+="%s\n"%archive.getText(dom.getElementsByTagName('pagebreak')[0].childNodes) + ret+="%s\n"%archive.getText(dom.getElementsByTagName('display')[0].childNodes) + try: + ret+="%s\n"%archive.getText(dom.getElementsByTagName('toptemplate')[0].childNodes) + except: + """not""" + try: + ret+="%s\n"%archive.getText(dom.getElementsByTagName('thumbtemplate')[0].childNodes) + except: + """not""" + try: + ret+="%s\n"%archive.getText(dom.getElementsByTagName('startpage')[0].childNodes) + except: + """not""" + + ret+="%s\n"%archive.getText(dom.getElementsByTagName('lang')[0].childNodes) + try: + ret+="%s\n"%archive.getText(dom.getElementsByTagName('author')[0].childNodes) + except: + """not""" + try: + ret+="%s\n"%archive.getText(dom.getElementsByTagName('title')[0].childNodes) + except: + """not""" + + ret+="" + + return ret