Diff for /OSAS/OSA_system/OSAS_add.py between versions 1.16 and 1.53

version 1.16, 2004/03/21 15:49:45 version 1.53, 2010/02/15 19:09:00
Line 1 Line 1
 #BAUSTELLE  #Neue Version Begin 5.4.2004
   
   
 """Methoden zum hinzufügen von Dokumenten ins Archiv"""  """Methoden zum hinzufuegen von Dokumenten ins Archiv"""
 from OSAS_helpers import readArchimedesXML   from OSAS_helpers import readArchimedesXML 
   try:
 import archive  import archive
   except:
           print "archive not imported"
           
 import os  import os
   import os.path
 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
 import urllib  import urllib
   import logging
   
   #ersetzt logging
   def logger(txt,method,txt2):
       """logging"""
       logging.info(txt+ txt2)
   
   
 import xml.dom.minidom  import xml.dom.minidom
 from time import localtime,strftime  from time import localtime,strftime
   from Globals import package_home
 #referencetypes=['Book','Bic','Journal Article','Manuscript','jiji']  from types import *
   
 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"""
                   
     self.referencetypes=['Book','Journal Article','Manuscript']          #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']          self.REQUEST.SESSION['path']=self.REQUEST['path']
     if no_upload==0:      if no_upload==0:
         self.REQUEST.SESSION['no_upload']='yes'          self.REQUEST.SESSION['no_upload']='yes'
Line 30  def add(self, no_upload=0): Line 51  def add(self, no_upload=0):
             del self.REQUEST.SESSION['no_upload']              del self.REQUEST.SESSION['no_upload']
                           
     return newtemplate()      return newtemplate()
     return self.referencetypes  
   
   
   
 def getISO():  def getISO():
     """ISO"""      """ISO"""
     try:      try:
         f=file('/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/iso639-1.inc','r').readlines()                  f=file(os.path.join(package_home(globals()),'iso639-1.inc'),'r').readlines()
         #f=file('OSA_system/iso639-1.inc','r').readlines()  
         ret={}          ret={}
         for lineraw in f:          for lineraw in f:
             line=lineraw.encode('ascii','replace')                          line=lineraw.encode('ascii','replace').strip()
             value=string.split(line,'\t')[0].encode('ascii','replace')              value=string.split(line,'\t')[0].encode('ascii','replace')
             key=string.split(line,'\t')[1].encode('ascii','replace')              key=string.split(line,'\t')[1].encode('ascii','replace')
             ret[key]=value              ret[key]=value
Line 49  def getISO(): Line 69  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={'Book':['author','year','title','series editor','series title','series volume','number of pages','city','publisher','edition','number of volumes','translator','ISBN ISSN'],          self.bibdata={}
 'Journal Article':['author','year','title','journal','volume','issue','pages','alternate journal','call number'],          for referenceType in self.referencetypes:
 'Manuscript':['author','year','title','location','signature','pages','editorial remarks','description','keywords']}                  #print referenceType
                   if referenceType[1].title == self.reftype: 
                           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 66  def add2(self): Line 90  def add2(self):
         #sorted=listed.sort()          #sorted=listed.sort()
     #print sorted      #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 newtemplate()
     #return self.fields      #return self.fields
   
Line 100  def add3(self): Line 124  def add3(self):
     """Foldername"""      """Foldername"""
     metadata=parse_query_string(self.REQUEST['QUERY_STRING'])      metadata=parse_query_string(self.REQUEST['QUERY_STRING'])
     self.REQUEST.SESSION['metadata']=metadata      self.REQUEST.SESSION['metadata']=metadata
     vorschlag_naming=metadata['author'][:5]+"_"+metadata['title'][:5]+"_"+metadata['year']          vorschlag=[]
     self.vorschlag_naming=vorschlag_naming.decode('ascii','ignore')  
           if metadata.has_key('author'):
                   vorschlag.append(metadata['author'][:5])
           if metadata.has_key('title'):
                   vorschlag.append(metadata['title'][:5])
           if metadata.has_key('year'):
                   vorschlag.append(metadata['year'])
           
                   
           vorschlag_naming=string.join(vorschlag,"_")
           
                   
           self.vorschlag_naming=unicode(vorschlag_naming,'ascii','ignore')
     if self.REQUEST.SESSION.has_key('no_upload'):      if self.REQUEST.SESSION.has_key('no_upload'):
         self.REQUEST.SESSION['folder_name']=self.REQUEST.SESSION['path']          self.REQUEST.SESSION['folder_name']=self.REQUEST.SESSION['path']
         return add5(self)          return add5(self)
     else:      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()          return newtemplate()
           
   
 def add4(self):  def add4(self):
   
     self.path=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1)      self.path=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1)
           
     self.folder_name=self.REQUEST['folder_name']      self.folder_name=self.REQUEST['folder_name']
     # netx 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
           #return self.REQUEST['submit']
   
           try:    
                   #os.popen('mkdir '+self.REQUEST.SESSION['path'])
                   os.mkdir(os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name']))
                   os.chmod(os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name']),0775)
   
           except:
   
                   """nothing"""
   
           if self.REQUEST['submit']=="upload images":
                   self.REQUEST.SESSION['path']=os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name'])
   
   
     self.REQUEST.SESSION['folder_name']=self.folder_name  
     self.image_folder_name="pageimg"      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()      return newtemplate()
           
           elif self.REQUEST['submit']=="upload pdf":
                   os.mkdir(os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name']))
                   return addPdf(self,os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name']))
           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"""
     newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_metadata').__of__(self)          try:
                   os.chmod(self.REQUEST.SESSION['path'],0775)
           except:
                   pass
   
           newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_add_metadata')).__of__(self)
     return newtemplate()      return newtemplate()
   
 def add6(self):  def add6(self):
Line 140  def add6(self): Line 203  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(os.path.join(package_home(globals()),'zpt','index_meta')).__of__(self)
     newtemplate.content_type="text/plain"      newtemplate.content_type="text/plain"
     renderxml = newtemplate()          renderxml = newtemplate(encode='utf-8')
           
                   
     if self.REQUEST.SESSION.has_key('no_upload'):      if self.REQUEST.SESSION.has_key('no_upload'):
         metapath=self.REQUEST.SESSION['path']+"/index.meta"          metapath=self.REQUEST.SESSION['path']+"/index.meta"
     else:      else:
         metapath=self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']+"/index.meta"          metapath=self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']+"/index.meta"
           
     f=open(metapath,'w')      f=open(metapath,'w')
     f.writelines(renderxml)          try:
                   f.write(renderxml.encode('utf-8'))
           except:
                   f.write(unicode(renderxml,'latin-1').encode('utf-8'))
                   #f.write(renderxml)
   
     f.close()      f.close()
     os.chmod(metapath,0664)      os.chmod(metapath,0664)
     os.popen('chmod -R 0775 %s'%self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name'])       os.popen('chmod -R 0775 %s'%self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']) 
Line 162  def add6(self): Line 233  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) 
         newtemplate2=PageTemplateFile('Products/OSA_system/zpt/OSAS_saved').__of__(self)  
       
                   
           if (self.REQUEST.SESSION.has_key('no_upload')) and (self.REQUEST.SESSION['no_upload']=="text"):
                           """text upload"""
                           return 1
           else:   
                           newtemplate2=PageTemplateFile(os.path.join(package_home(globals()),'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()
   
   
   
   
 def date(self):  def date(self):
     return strftime("%d.%m.%Y",localtime())       return strftime("%d.%m.%Y",localtime()) 
   
Line 190  def addPresentation(self,path): Line 261  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(path+"/%02d-presentation"%i):
         i+=1          i+=1
         self.REQUEST.SESSION['presentationname']="%02d-presentation"%i          self.REQUEST.SESSION['presentationname']="%02d-presentation"%i
     self.REQUEST.SESSION['path']=path      self.REQUEST.SESSION['path']=path
     self.REQUEST.SESSION['xmlvorschlag']="""<info>  
           tmpTxt=u"""<?xml version="1.0" encoding="UTF-8"?>
           <info>
     <author>%s</author>      <author>%s</author>
     <title>%s</title>      <title>%s</title>
     <date>%s</date>      <date>%s</date>
     <display>yes</display>      <display>yes</display>
 </info>"""%(author,title,date)  </info>"""%(author,title,date)
           
     newtemplate=PageTemplateFile('Products/OSA_system/zpt/addPresentation').__of__(self)          self.REQUEST.SESSION['xmlvorschlag']=tmpTxt.encode('utf-8')
           
           newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addPresentation')).__of__(self)
     return newtemplate()      return newtemplate()
   
 def addPresentation2(self):  def addPresentation2(self):
Line 239  def addPresentation2(self): Line 323  def addPresentation2(self):
         """nothing"""          """nothing"""
     #print "NAME:",file_name      #print "NAME:",file_name
     f=open(path+"/"+folder_name+"/"+file_name,"w")      f=open(path+"/"+folder_name+"/"+file_name,"w")
     f.write(xmlinfo)          f.write(xmlinfo.encode('utf-8'))
           f.close()
           try:
                   os.chmod(path+"/"+folder_name,0775)
           except:
                   """NO"""
   
           os.chmod(path+"/"+folder_name+"/"+file_name,0664)
           addDirsToIndexMeta(path,folder_name,content_description,'presentation')
           
           return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)
   
   
   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(os.path.join(package_home(globals()),'zpt','addPdf')).__of__(self)
           return newtemplate()
   
   def addPdf2(self):
           """addtext"""
           folder_name="pdf" # foldername fixed
           
           if self.REQUEST['file_name']=="":
                   file_name=self.REQUEST['fileupload'].filename
           else:
                   file_name=self.REQUEST['file_name']
                   
           #print self.REQUEST['folder_name']
           content_description=self.REQUEST['content_description']
           path=self.REQUEST.SESSION['pathnew']
   
           filedata=self.REQUEST.form['fileupload'].read()
           try:
                   os.mkdir(path+"/"+folder_name)
           except:
                   """nothing"""
           f=open(path+"/"+folder_name+"/"+file_name,"w")
           f.write(filedata)
     f.close()      f.close()
     os.chmod(path+"/"+folder_name,0755)      os.chmod(path+"/"+folder_name,0755)
     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,'pdf')
           
     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['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()      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']
     path=self.REQUEST.SESSION['path']          path=self.REQUEST.SESSION['pathnew']
     file_name=self.REQUEST['fileupload'].filename      file_name=self.REQUEST['fileupload'].filename
     filedata=self.REQUEST.form['fileupload'].read()      filedata=self.REQUEST.form['fileupload'].read()
     os.mkdir(path+"/"+folder_name)      os.mkdir(path+"/"+folder_name)
Line 272  def addText2(self): Line 396  def addText2(self):
     return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)      return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)
   
 def addTextExternal(self,path,texturl,version):  def addTextExternal(self,path,texturl,version):
     """hinzufügen eines externen textes"""          """hinzufuegen eines externen textes"""
     try: #neue text version einlesen      try: #neue text version einlesen
         texttemp=urllib.urlopen(texturl).readlines()          texttemp=urllib.urlopen(texturl).readlines()
         text=""          text=""
Line 282  def addTextExternal(self,path,texturl,ve Line 406  def addTextExternal(self,path,texturl,ve
         return "ERROR: cannot read: %s"%texturl          return "ERROR: cannot read: %s"%texturl
     if TextExternalError(text): #kein xml header      if TextExternalError(text): #kein xml header
         return "ERROR: cannot read: %s"%texturl, "received:",text           return "ERROR: cannot read: %s"%texturl, "received:",text 
     textpath=getNewTextPath(path) #erzeuge neuen Ornder für den Text          textpath=getNewTextPath(path) #erzeuge neuen Ornder fuer den Text
     splitted=string.split(texturl,"/")      splitted=string.split(texturl,"/")
     name=splitted[len(splitted)-1] #Name des XML-files      name=splitted[len(splitted)-1] #Name des XML-files
     try:      try:
Line 317  def addTextExternal(self,path,texturl,ve Line 441  def addTextExternal(self,path,texturl,ve
     node.appendChild(subnode)      node.appendChild(subnode)
   
     writefile=file(path+"/index.meta","w")      writefile=file(path+"/index.meta","w")
     writefile.write(dom.toxml().encode('utf-8'))          writefile.write(dom.toxml(encoding="UTF-8"))
     writefile.close()      writefile.close()
   
     #change texttool tag      #change texttool tag
Line 333  def addTextExternal(self,path,texturl,ve Line 457  def addTextExternal(self,path,texturl,ve
     try:      try:
         texttoolnodelist=subnode.getElementsByTagName('text')          texttoolnodelist=subnode.getElementsByTagName('text')
           
         if not len(texttoolnodelist)==0: #texttool tag existiert schon, dann löschen                  if not len(texttoolnodelist)==0: #texttool tag existiert schon, dann loeschen
             subsubnode=subnode.removeChild(texttoolnodelist[0])              subsubnode=subnode.removeChild(texttoolnodelist[0])
             subsubnode.unlink()              subsubnode.unlink()
     except:      except:
Line 346  def addTextExternal(self,path,texturl,ve Line 470  def addTextExternal(self,path,texturl,ve
   
     #index.meta ausgeben      #index.meta ausgeben
     writefile=file(path+"/index.meta","w")      writefile=file(path+"/index.meta","w")
     writefile.write(dom.toxml().encode('utf-8'))          writefile.write(dom.toxml(encoding="UTF-8"))
     writefile.close()      writefile.close()
           
     #registrieren      #registrieren
Line 375  def addImages(self,path): Line 499  def addImages(self,path):
     """Imagesfolder to the path"""      """Imagesfolder to the path"""
     self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing pageimages files      self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing pageimages files
     self.REQUEST.SESSION['path']=path      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()      return newtemplate()
   
 def addImages2(self):  def addImages2(self):
Line 389  def addImages2(self): Line 513  def addImages2(self):
     self.content_type='images'      self.content_type='images'
     addDirsToIndexMeta(self.REQUEST.SESSION['path'],self.image_folder_name,self.content_description,self.content_type)      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)      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()      return newtemplate()
           
   
Line 419  def addDirsToIndexMeta(path,folder_name, Line 543  def addDirsToIndexMeta(path,folder_name,
     node.appendChild(subnode)      node.appendChild(subnode)
   
     writefile=file(path+"/index.meta","w")      writefile=file(path+"/index.meta","w")
     writefile.write(dom.toxml().encode('utf-8'))          writefile.write(dom.toxml(encoding='UTF-8'))
     writefile.close()      writefile.close()
   
 def readArchimedesXML(folder):  def readArchimedesXML(folder):
Line 447  def readArchimedesXML(folder): Line 571  def readArchimedesXML(folder):
           
   
 def combineTextImage2(self,path):  def combineTextImage2(self,path):
     """erstellt bzw. ändert texttool meta tag"""          """erstellt bzw. aendert texttool meta tag"""
     dom=xml.dom.minidom.parse(path+"/index.meta")      dom=xml.dom.minidom.parse(path+"/index.meta")
     node=dom.getElementsByTagName('meta')[0] #getNode      node=dom.getElementsByTagName('meta')[0] #getNode
   
   
     subnodelist=node.getElementsByTagName('texttool')      subnodelist=node.getElementsByTagName('texttool')
     if not len(subnodelist)==0: #texttool tag existiert schon, dann löschen          if not len(subnodelist)==0: #texttool tag existiert schon, dann loeschen
         subnode=node.removeChild(subnodelist[0])          subnode=node.removeChild(subnodelist[0])
         subnode.unlink()          subnode.unlink()
   
     subnode=dom.createElement('texttool') #neu erzeugen      subnode=dom.createElement('texttool') #neu erzeugen
   
           
     presentfile=os.listdir(path+"/"+self.REQUEST['presentation'])[0]          presentfiles=os.listdir(path+"/"+self.REQUEST['presentation'])
           for presentfileTmp in presentfiles:
               if (presentfileTmp[0]!="."): #schliesse unsichbare DAteien aus.
                   presentfile=presentfileTmp
           
   
     displaynode=dom.createElement('display')      displaynode=dom.createElement('display')
Line 536  def combineTextImage2(self,path): Line 663  def combineTextImage2(self,path):
             xsltnode.appendChild(xsltnodetext)              xsltnode.appendChild(xsltnodetext)
             subnode.appendChild(xsltnode)              subnode.appendChild(xsltnode)
   
     if self.REQUEST.has_key('digiLibTemplate'):          if self.REQUEST.has_key('digiliburlprefix'):
         if not self.REQUEST['digiLibTemplate']=="":                  if not self.REQUEST['digiliburlprefix']=="":
             xsltnode=dom.createElement('digilibtemplate')                          xsltnode=dom.createElement('digiliburlprefix')
             xsltnodetext=dom.createTextNode(self.REQUEST['digiLibTemplate'])                          xsltnodetext=dom.createTextNode(self.REQUEST['digiliburlprefix'])
             xsltnode.appendChild(xsltnodetext)              xsltnode.appendChild(xsltnodetext)
             subnode.appendChild(xsltnode)              subnode.appendChild(xsltnode)
                           
Line 549  def combineTextImage2(self,path): Line 676  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 557  def combineTextImage2(self,path): Line 683  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 580  def combineTextImage2(self,path): Line 705  def combineTextImage2(self,path):
             """nothing"""              """nothing"""
                           
     writefile=file(path+"/index.meta","w")      writefile=file(path+"/index.meta","w")
     writefile.write(dom.toxml().encode('utf-8'))          writefile.write(dom.toxml(encoding="UTF-8"))
     writefile.close()      writefile.close()
           
           
   
     urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines()  #        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']))  #        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']
   #
   #                logger('OSas',logging.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()
   #                logger('OSAS (combine)',logging.INFO,ret)
           
     #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")
           #        tmp=patchedInfoXML(self.REQUEST['path'])
           #        f.write(tmp.encode('utf-8'))
           #        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="<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)
           try:
                   ret+="<author>%s</author>\n"%archive.getText(dom.getElementsByTagName('author')[0].childNodes)
           except:
                   """not"""
           try:
                   ret+="<title>%s</title>\n"%archive.getText(dom.getElementsByTagName('title')[0].childNodes)
           except:
                   """not"""
                   
           ret+="</info>"
   
           return ret

Removed from v.1.16  
changed lines
  Added in v.1.53


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