Diff for /OSAS/OSA_system/OSAS_add.py between versions 1.18 and 1.24

version 1.18, 2004/04/05 21:54:42 version 1.24, 2004/04/15 09:45:29
Line 9  except: Line 9  except:
     print "archive not imported"      print "archive not imported"
           
 import os  import os
   
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile  from Products.PageTemplates.PageTemplateFile import PageTemplateFile
 from Products.PageTemplates.PageTemplate import PageTemplate  from Products.PageTemplates.PageTemplate import PageTemplate
 import string  import string
Line 18  from time import localtime,strftime Line 19  from time import localtime,strftime
 from Globals import package_home  from Globals import package_home
   
 import re  import re
   def showHelp(helptext):
       """show helptext"""
       return """<html>
       <body>
       %
       </body>
       </html>"""%helptext
 def add(self, no_upload=0):  def add(self, no_upload=0):
         """ Add metadata or metadata and documents to the repository          """ Add metadata or metadata and documents to the repository
         no_upload=0 kein upload sonst upload von documententen"""          no_upload=0 kein upload sonst upload von documententen"""
Line 52  def getISO(): Line 60  def getISO():
         ret={}          ret={}
         return ret          return ret
   
   
 def add2(self):  def add2(self):
     self.reftype=self.REQUEST['Reference Type']      self.reftype=self.REQUEST['Reference Type']
     self.REQUEST.SESSION['reftype']=self.reftype      self.REQUEST.SESSION['reftype']=self.reftype
     self.bibdata={}      self.bibdata={}
     for referenceType in self.referencetypes:      for referenceType in self.referencetypes:
         print referenceType          #print referenceType
         self.bibdata[referenceType[1].title]=referenceType[1].fields          self.bibdata[referenceType[1].title]=referenceType[1].fields
           self.bibdata['data']=referenceType[1]
     self.fields=self.bibdata[self.reftype]      self.fields=self.bibdata[self.reftype]
       
     self.isolist=getISO()      self.isolist=getISO()
     tmp=getISO().keys()      tmp=getISO().keys()
     tmp.sort()      tmp.sort()
Line 130  def add4(self): Line 140  def add4(self):
           
     self.folder_name=self.REQUEST['folder_name']      self.folder_name=self.REQUEST['folder_name']
     # next has to be changed -> error if back button is used!!      # 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.REQUEST.SESSION['folder_name']=self.folder_name
       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"      self.image_folder_name="pageimg"
     newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_upload').__of__(self)      newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_upload').__of__(self)
     return newtemplate()      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):  def add5(self):
     """ADD INDEX.META"""      """ADD INDEX.META"""
Line 155  def add6(self): Line 168  def add6(self):
     self.metadata=self.REQUEST.SESSION['metadata']      self.metadata=self.REQUEST.SESSION['metadata']
     self.metadataprint=""      self.metadataprint=""
     for tag in self.metadata.keys():      for tag in self.metadata.keys():
           if tag!="":
         self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n"          self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n"
   
     newtemplate=PageTemplateFile('Products/OSA_system/zpt/index_meta').__of__(self)      newtemplate=PageTemplateFile('Products/OSA_system/zpt/index_meta').__of__(self)
Line 177  def add6(self): Line 191  def add6(self):
     else:      else:
                 #print self.add_metadata['archive-path']                  #print self.add_metadata['archive-path']
         self.viewpath=re.search(r"/mpiwg/online/(.*)",self.add_metadata['archive-path']).group(1)           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=PageTemplateFile('Products/OSA_system/zpt/OSAS_saved').__of__(self)
       
           
         newtemplate2.content_type="text/html"          newtemplate2.content_type="text/html"
         self.REQUEST.response.setHeader('Content-Type','text/html')          self.REQUEST.response.setHeader('Content-Type','text/html')
       
   
         return newtemplate2()          return newtemplate2()
           else:
               """text upload"""
               return 1
   
   
   
Line 205  def addPresentation(self,path): Line 218  def addPresentation(self,path):
         try:          try:
             author=archive.getText(dom.getElementsByTagName('Author')[0].childNodes)              author=archive.getText(dom.getElementsByTagName('Author')[0].childNodes)
         except:          except:
               try:
             author=archive.getText(dom.getElementsByTagName('Editor')[0].childNodes)              author=archive.getText(dom.getElementsByTagName('Editor')[0].childNodes)
                           except:
                   author=""
       try:
     title=archive.getText(dom.getElementsByTagName('title')[0].childNodes)      title=archive.getText(dom.getElementsByTagName('title')[0].childNodes)
       except:
           title=""
           
     try:      try:
         date=archive.getText(dom.getElementsByTagName('year')[0].childNodes)          date=archive.getText(dom.getElementsByTagName('year')[0].childNodes)
     except:      except:
         try:          try:
             date=archive.getText(dom.getElementsByTagName('Year')[0].childNodes)              date=archive.getText(dom.getElementsByTagName('Year')[0].childNodes)
         except:          except:
               try:
             date=archive.getText(dom.getElementsByTagName('date')[0].childNodes)              date=archive.getText(dom.getElementsByTagName('date')[0].childNodes)
               except:
                   date=""
     i=1      i=1
     while os.path.exists("%02d-presentation"%i):      while os.path.exists("%02d-presentation"%i):
         i+=1          i+=1
Line 256  def addPresentation2(self): Line 278  def addPresentation2(self):
     f=open(path+"/"+folder_name+"/"+file_name,"w")      f=open(path+"/"+folder_name+"/"+file_name,"w")
     f.write(xmlinfo)      f.write(xmlinfo)
     f.close()      f.close()
       try:
     os.chmod(path+"/"+folder_name,0755)      os.chmod(path+"/"+folder_name,0755)
       except:
           """NO"""
   
     os.chmod(path+"/"+folder_name+"/"+file_name,0644)      os.chmod(path+"/"+folder_name+"/"+file_name,0644)
     addDirsToIndexMeta(path,folder_name,content_description,'presentation')      addDirsToIndexMeta(path,folder_name,content_description,'presentation')
           
     return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)      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"""      """add fulltext to the path"""
     self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing text files      self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing text files
     self.REQUEST.SESSION['path']=path      self.REQUEST.SESSION['path']=path
Line 270  def addText(self,path): Line 296  def addText(self,path):
     return newtemplate()      return newtemplate()
   
 def addText2(self):  def addText2(self):
       """addtext"""
     folder_name=self.REQUEST['folder_name']      folder_name=self.REQUEST['folder_name']
     #print self.REQUEST['folder_name']      #print self.REQUEST['folder_name']
     content_description=self.REQUEST['content_description']      content_description=self.REQUEST['content_description']
Line 557  def combineTextImage2(self,path): Line 584  def combineTextImage2(self,path):
         node2=node.getElementsByTagName('bib')[0]          node2=node.getElementsByTagName('bib')[0]
         subs=node2.getElementsByTagName('lang')          subs=node2.getElementsByTagName('lang')
         for sub in subs:          for sub in subs:
             print "X",sub  
             node2.removeChild(sub)              node2.removeChild(sub)
     except:      except:
         """nothing"""          """nothing"""
Line 565  def combineTextImage2(self,path): Line 591  def combineTextImage2(self,path):
         main=dom.getElementsByTagName('bib')[0]          main=dom.getElementsByTagName('bib')[0]
         node=dom.createElement('lang')          node=dom.createElement('lang')
         textnode=dom.createTextNode(self.REQUEST['lang'])          textnode=dom.createTextNode(self.REQUEST['lang'])
         print "LANG:",lang  
         node.appendChild(textnode)          node.appendChild(textnode)
         main.appendChild(node)          main.appendChild(node)
     except:      except:
Line 593  def combineTextImage2(self,path): Line 618  def combineTextImage2(self,path):
           
           
   
     urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines()      print 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)  
       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']))      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'])      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="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="<info>\n"
       ret+="<remotetext>%s</remotetext>\n"%archive.getText(dom.getElementsByTagName('text')[0].childNodes)
       ret+="<pagebreak>%s</pagebreak>\n"%archive.getText(dom.getElementsByTagName('pagebreak')[0].childNodes)
       ret+="<display>%s</display>\n"%archive.getText(dom.getElementsByTagName('display')[0].childNodes)
       try:
           ret+="<toptemplate>%s</toptemplate>\n"%archive.getText(dom.getElementsByTagName('toptemplate')[0].childNodes)
       except:
           """not"""
       try:
           ret+="<thumbtemplate>%s</thumbtemplate>\n"%archive.getText(dom.getElementsByTagName('thumbtemplate')[0].childNodes)
       except:
           """not"""
       try:
           ret+="<startpage>%s</startpage>\n"%archive.getText(dom.getElementsByTagName('startpage')[0].childNodes)
       except:
           """not"""
           
       ret+="<lang>%s</lang>\n"%archive.getText(dom.getElementsByTagName('lang')[0].childNodes)
       ret+="<author>%s</author>\n"%archive.getText(dom.getElementsByTagName('author')[0].childNodes)
       ret+="<title>%s</title>\n"%archive.getText(dom.getElementsByTagName('title')[0].childNodes)
       ret+="</info>"
   
       return ret

Removed from v.1.18  
changed lines
  Added in v.1.24


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