--- OSAS/OSA_system/OSAS_add.py 2005/01/20 13:38:02 1.40 +++ OSAS/OSA_system/OSAS_add.py 2005/04/27 13:17:45 1.45 @@ -9,14 +9,16 @@ except: print "archive not imported" import os - +import os.path from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate import string import urllib +import zLOG import xml.dom.minidom from time import localtime,strftime from Globals import package_home +from types import * import re def showHelp(helptext): @@ -33,7 +35,7 @@ def add(self, no_upload=0): #self.referencetypes=self.ZopeFind(self,obj_metatypes=['OSAS_MetadataMapping']) self.referencetypes=self.ZopeFind(self) - newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_new').__of__(self) + newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_add_new')).__of__(self) self.REQUEST.SESSION['path']=self.REQUEST['path'] if no_upload==0: self.REQUEST.SESSION['no_upload']='yes' @@ -81,7 +83,7 @@ def add2(self): #sorted=listed.sort() #print sorted - newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_bibdata').__of__(self) + newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_add_bibdata')).__of__(self) return newtemplate() #return self.fields @@ -116,6 +118,7 @@ def add3(self): metadata=parse_query_string(self.REQUEST['QUERY_STRING']) self.REQUEST.SESSION['metadata']=metadata vorschlag=[] + if metadata.has_key('author'): vorschlag.append(metadata['author'][:5]) if metadata.has_key('title'): @@ -132,7 +135,7 @@ def add3(self): self.REQUEST.SESSION['folder_name']=self.REQUEST.SESSION['path'] return add5(self) else: - newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_naming').__of__(self) + newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_add_naming')).__of__(self) return newtemplate() @@ -159,7 +162,7 @@ def add4(self): self.image_folder_name="pageimg" - newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_upload').__of__(self) + newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_upload')).__of__(self) return newtemplate() @@ -178,7 +181,7 @@ def add5(self): except: pass - newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_metadata').__of__(self) + newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_add_metadata')).__of__(self) return newtemplate() def add6(self): @@ -196,16 +199,23 @@ def add6(self): if tag!="": self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"\n" - newtemplate=PageTemplateFile('Products/OSA_system/zpt/index_meta').__of__(self) + newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','index_meta')).__of__(self) newtemplate.content_type="text/plain" renderxml = newtemplate(encode='utf-8') + + if self.REQUEST.SESSION.has_key('no_upload'): metapath=self.REQUEST.SESSION['path']+"/index.meta" else: metapath=self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']+"/index.meta" f=open(metapath,'w') - f.write(renderxml.encode('utf-8')) + try: + f.write(renderxml.encode('utf-8')) + except: + f.write(unicode(renderxml,'latin-1').encode('utf-8')) + #f.write(renderxml) + f.close() os.chmod(metapath,0664) os.popen('chmod -R 0775 %s'%self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']) @@ -221,7 +231,7 @@ def add6(self): """text upload""" return 1 else: - newtemplate2=PageTemplateFile('Products/OSA_system/zpt/OSAS_saved').__of__(self) + newtemplate2=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_saved')).__of__(self) newtemplate2.content_type="text/html" self.REQUEST.response.setHeader('Content-Type','text/html') return newtemplate2() @@ -279,7 +289,7 @@ def addPresentation(self,path): self.REQUEST.SESSION['xmlvorschlag']=tmpTxt.encode('utf-8') - newtemplate=PageTemplateFile('Products/OSA_system/zpt/addPresentation').__of__(self) + newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addPresentation')).__of__(self) return newtemplate() def addPresentation2(self): @@ -323,7 +333,7 @@ def addPdf(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['pathnew']=path - newtemplate=PageTemplateFile('Products/OSA_system/zpt/addPdf').__of__(self) + newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addPdf')).__of__(self) return newtemplate() def addPdf2(self): @@ -357,7 +367,7 @@ 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['pathnew']=path - newtemplate=PageTemplateFile('Products/OSA_system/zpt/addText').__of__(self) + newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addText')).__of__(self) return newtemplate() def addText2(self): @@ -482,7 +492,7 @@ def addImages(self,path): """Imagesfolder to the path""" self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing pageimages files self.REQUEST.SESSION['path']=path - newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_addImages').__of__(self) + newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_addImages')).__of__(self) return newtemplate() def addImages2(self): @@ -496,7 +506,7 @@ def addImages2(self): self.content_type='images' addDirsToIndexMeta(self.REQUEST.SESSION['path'],self.image_folder_name,self.content_description,self.content_type) self.REQUEST.SESSION['path']=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1) - newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_upload2').__of__(self) + newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_upload2')).__of__(self) return newtemplate() @@ -695,8 +705,12 @@ def combineTextImage2(self,path): if self.REQUEST.has_key('image'): # falls bilder path=re.sub('//','/',self.REQUEST['path']) # falls '//' im Pfad dlpath = re.sub('/mpiwg/online/','',path)+"/"+self.REQUEST['image'] - os.popen("ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat -src=/mpiwg/online -dest=/mpiwg/temp/online/scaled/thumb -dir=%s -scaleto=90 -sync >> /tmp/sc.out &"%dlpath ) - #os.popen("ssh archive@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'])) + + zLOG.LOG('OSas',zLOG.INFO,"ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat -src=/mpiwg/online -dest=/mpiwg/temp/online/scaled/thumb -dir=%s -scaleto=90 -sync >> /tmp/sc.out &"%dlpath ) + ret=os.popen("ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat -src=/mpiwg/online -dest=/mpiwg/temp/online/scaled/thumb -dir=%s -scaleto=90 -sync >> /tmp/sc.out &"%dlpath ).read() + zLOG.LOG('OSAS (combine)',zLOG.INFO,ret) + + else: # falls keine Bilder (bug in reg.cgi info file ersetzen) f=file("/tmp/tmp_info.xml","w")