Diff for /OSAS/OSA_system/OSAS_addfiles.py between versions 1.24 and 1.49

version 1.24, 2004/04/05 21:54:42 version 1.49, 2006/06/14 16:33:42
Line 1 Line 1
 # Methoden und Classen zum Hinzufuegen von Dokumenten  # Methoden und Classen zum Hinzufuegen von Dokumenten
   
   
 from OSAS_helpers import readArchimedesXML, getISO, getText  from OSAS_helpers import readArchimedesXML, getText
 import os  import os
 import xml.dom.minidom  import xml.dom.minidom
 import re  import re
Line 15  from Globals import InitializeClass Line 15  from Globals import InitializeClass
 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 archive # check if this is necessary  import archive # check if this is necessary
   from Globals import package_home
   
 from xml.sax import make_parser  from xml.sax import make_parser
 from xml.sax.handler import ContentHandler  from xml.sax.handler import ContentHandler
   import sys
   import zLOG
   
 def spaces(depth):  def spaces(depth):
     """needed in XMLtoTree"""      """needed in XMLtoTree"""
Line 49  class OSAS_add_Document(Folder): Line 51  class OSAS_add_Document(Folder):
     security.declarePublic('add_Document_config')      security.declarePublic('add_Document_config')
     def add_Document_config(self):      def add_Document_config(self):
         """Main configuration"""          """Main configuration"""
         pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_addDocument.zpt').__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeOSAS_addDocument.zpt')).__of__(self)
         return pt()          return pt()
           
     security.declarePublic('change_OSAS_add_Document')      security.declarePublic('change_OSAS_add_Document')
Line 76  class OSAS_add_Document(Folder): Line 78  class OSAS_add_Document(Folder):
   
     def add4(self):      def add4(self):
         """Applet"""          """Applet"""
           
         return OSAS_add.add4(self)          return OSAS_add.add4(self)
   
     def add5(self):      def add5(self):
Line 86  class OSAS_add_Document(Folder): Line 89  class OSAS_add_Document(Folder):
         """write new index.meta file"""          """write new index.meta file"""
         return OSAS_add.add6(self)          return OSAS_add.add6(self)
   
       def addText2(self):
           """add only a text"""
           metadata=OSAS_add.parse_query_string(self.REQUEST['QUERY_STRING'])
           metadata['archive-creation-date']=OSAS_add.date(self)
           metadata['creator']=self.REQUEST['creator']
           metadata['description']=self.REQUEST['content_description']
           metadata['archive-path']=os.path.split(self.REQUEST.SESSION['pathnew'])[0]
           #metadata['folder_name']=self.REQUEST.SESSION['folder_name']
           metadata['folder_name']=os.path.split(self.REQUEST.SESSION['pathnew'])[1]
           metadata['content-type']="fulltext document"
           self.reftype=self.REQUEST.SESSION['reftype']
           self.REQUEST.SESSION['add_metadata']=metadata   
           self.add_metadata=metadata
           self.metadata=self.REQUEST.SESSION['metadata']
           self.metadataprint=""
           for tag in self.metadata.keys():
               
               #print str(self.metadata[tag]).decode('utf-8').encode('utf-8')
               self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n"
   
           newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','index_meta')).__of__(self)
           newtemplate.content_type="text/plain"
           renderxml = newtemplate(encoding='utf-8')
           #return renderxml
           metapath=self.REQUEST.SESSION['pathnew']+"/index.meta"
           
           f=open(metapath,'w')
   
           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']) 
           
           return OSAS_add.addText2(self)
   
       def addPdf2(self):
           """add only a pdf"""
           metadata=OSAS_add.parse_query_string(self.REQUEST['QUERY_STRING'])
           metadata['archive-creation-date']=OSAS_add.date(self)
           metadata['creator']=self.REQUEST['creator']
           metadata['description']=self.REQUEST['content_description']
           metadata['archive-path']=os.path.split(self.REQUEST.SESSION['pathnew'])[0]
           #metadata['folder_name']=self.REQUEST.SESSION['folder_name']
           metadata['folder_name']=os.path.split(self.REQUEST.SESSION['pathnew'])[1]
           metadata['content-type']="fulltext document"
           self.reftype=self.REQUEST.SESSION['reftype']
           self.REQUEST.SESSION['add_metadata']=metadata   
           self.add_metadata=metadata
           self.metadata=self.REQUEST.SESSION['metadata']
           self.metadataprint=""
           for tag in self.metadata.keys():
                   self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n"
   
           newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','index_meta')).__of__(self)
           newtemplate.content_type="text/plain"
           renderxml = newtemplate(encoding='utf-8')
           metapath=self.REQUEST.SESSION['pathnew']+"/index.meta"
           
           
           f=open(metapath,'w')
           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']) 
           
           return OSAS_add.addPdf2(self)
   
     def addImages(self,path):      def addImages(self,path):
         """Hinzufügen eines neuen Imagesfolders"""          """Hinzufügen eines neuen Imagesfolders"""
Line 98  class OSAS_add_Document(Folder): Line 167  class OSAS_add_Document(Folder):
           
 def manage_AddOSAS_add_DocumentForm(self):  def manage_AddOSAS_add_DocumentForm(self):
     """interface for adding the OSAS_add_Metadata"""      """interface for adding the OSAS_add_Metadata"""
     pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_document.zpt').__of__(self)      pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_document.zpt')).__of__(self)
     return pt()      return pt()
   
 def manage_AddOSAS_add_Document(self,id,RESPONSE=None):  def manage_AddOSAS_add_Document(self,id,RESPONSE=None):
Line 131  class OSAS_add_Text(Folder): Line 200  class OSAS_add_Text(Folder):
     security.declarePublic('add_Text_config')      security.declarePublic('add_Text_config')
     def add_Text_config(self):      def add_Text_config(self):
         """Main configuration"""          """Main configuration"""
         pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_addText.zpt').__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeOSAS_addText.zpt')).__of__(self)
         return pt()          return pt()
           
     security.declarePublic('change_OSAS_add_Text')      security.declarePublic('change_OSAS_add_Text')
Line 141  class OSAS_add_Text(Folder): Line 210  class OSAS_add_Text(Folder):
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
       def addPdf(self,path):
           """Add a pdf"""
           return OSAS_add.addPdf(self,path)
   
       def addPdf2(self):
           """Read the file and store it"""
           return OSAS_add.addPdf2(self)
       
     def addText(self,path):      def addText(self,path):
         """Add a fulltext"""          """Add a fulltext"""
         return OSAS_add.addText(self,path)          return OSAS_add.addText(self,path)
Line 148  class OSAS_add_Text(Folder): Line 225  class OSAS_add_Text(Folder):
     def addText2(self):      def addText2(self):
         """Read the file and store it"""          """Read the file and store it"""
         return OSAS_add.addText2(self)          return OSAS_add.addText2(self)
       
 def manage_AddOSAS_add_TextForm(self):  def manage_AddOSAS_add_TextForm(self):
     """interface for adding the OSAS_add_Metadata"""      """interface for adding the OSAS_add_Metadata"""
     pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_text.zpt').__of__(self)      pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_text.zpt')).__of__(self)
     return pt()      return pt()
   
 def manage_AddOSAS_add_Text(self,id,RESPONSE=None):  def manage_AddOSAS_add_Text(self,id,RESPONSE=None):
Line 172  class OSAS_add_contextData(Folder): Line 250  class OSAS_add_contextData(Folder):
                           
     meta_type='OSAS_add_contextData'          meta_type='OSAS_add_contextData'    
   
     def XmlToTree(self,URL):      def XmlToTree(self,URL,pwstr=None):
         """Collection XML to Tree"""          """Collection XML to Tree"""
                   
           
         class requestHandler(ContentHandler):          class requestHandler(ContentHandler):
             def __init__(self):              def __init__(self):
                 self.depth=0                  self.depth=0
Line 187  class OSAS_add_contextData(Folder): Line 264  class OSAS_add_contextData(Folder):
                     begin=""                      begin=""
                     end=""                      end=""
                     if self.depth==1:                      if self.depth==1:
                         print "hi"  
                         begin="<b>"                          begin="<b>"
                         end="</b>"                          end="</b>"
                                                   
                     self.retStr+=spaces(self.depth)+"<input type='radio' name='collection' value='%s'>%s</input>"%(attrs.get('url'),begin+attrs.get('name')+end)+"<br>\n"                      self.retStr+=spaces(self.depth)+"<input type='radio' name='collection' value='%s'>%s</input>"%(attrs.get('url'),begin+urllib.unquote(attrs.get('name'))+end)+"<br>\n"
   
   
                                           
Line 199  class OSAS_add_contextData(Folder): Line 275  class OSAS_add_contextData(Folder):
                 if name=="element":                  if name=="element":
                     self.depth-=1                      self.depth-=1
   
           if pwstr=="":
               pwstr=None
   
         try:          try:
               if pwstr:
                   URL+="/getCollectionTreeXML?pwstr=%s"%pwstr    
               else:
             URL+="/getCollectionTreeXML"              URL+="/getCollectionTreeXML"
             parser=make_parser()              parser=make_parser()
             curHandler=requestHandler()              curHandler=requestHandler()
Line 208  class OSAS_add_contextData(Folder): Line 289  class OSAS_add_contextData(Folder):
   
             parser.parse(urllib.urlopen(URL))              parser.parse(urllib.urlopen(URL))
             return curHandler.retStr              return curHandler.retStr
   
         except:          except:
               return URL
             return urllib.urlopen(URL).read()              return urllib.urlopen(URL).read()
                   
         
     def __init__(self,id,collection):      def __init__(self,id,collection):
         self.id=id          self.id=id
         self.collection=collection          self.collection=collection
Line 226  class OSAS_add_contextData(Folder): Line 310  class OSAS_add_contextData(Folder):
                                   
             def startElement(self,name,attrs):              def startElement(self,name,attrs):
                 if name=="partner":                  if name=="partner":
                     self.ret.append((attrs.get('id'),attrs.get('title')))                      self.ret.append((attrs.get('id'),attrs.get('title').encode('utf-8')))
   
   
         URL+="/getPartnersXML"          URL+="/getPartnersXML"
               
         try:  
               
             parser=make_parser()              parser=make_parser()
             curHandler=requestHandler()              curHandler=requestHandler()
             parser.setContentHandler(curHandler)              parser.setContentHandler(curHandler)
               
             parser.parse(urllib.urlopen(URL))              parser.parse(urllib.urlopen(URL))
           try:    
                     
             return curHandler.ret              return curHandler.ret
         except:          except:
             return [("",urllib.urlopen(URL).read())]                  return [("",URL)]
   
           
     def addContextData(self,path):      def addContextData(self,path):
         """Hinzufügen zu einer Sammlung"""          """Hinzufuegen zu einer Sammlung"""
           
           server=getattr(self,'serverUrl',self.REQUEST['SERVER_URL'])
           if path[0]=="/": #strip leading slash
           urlpath=path[1:]
       else:
           urlpath=path
         try:          try:
             urllib.urlopen(self.REQUEST['SERVER_URL']+path+"/index.meta")              urllib.urlopen(server+"/"+urlpath+"/index.meta")
                           
         except:          except:
             return self.REQUEST['SERVER_URL']+path+"/index.meta file has to exist!"              zLOG.LOG("OSAS_addfiles (addContextData)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2])
               return server+"/"+urlpath+"/index.meta file has to exist!"
   
         links=[(path,'standard storage')]          # old version for foxridge storage viewer
           #links=[(path,'storage server view')]
           # libcoll viewer with imagepath: needs pageimg directory
           links=[('http://libcoll.mpiwg-berlin.mpg.de/libview?mode=imagepath&url=%s/pageimg'%path,'libcoll standard viewer (pageimg)')]
           # libcoll viewer with imagepath: needs pageimg directory
           links+=[('http://libcoll.mpiwg-berlin.mpg.de/libview?mode=texttool&url=%s/index.meta'%path,'libcoll standard viewer (texttool)')]
                   
         links+=OSAS_show.readContexts(path) # auslesen von contexten für den link          links+=OSAS_show.readContexts(path) # auslesen von contexten fuer den link
         #print "LINK",links          #print "LINK",links
         #return links          #return links
         self.REQUEST.SESSION['links']=links          self.REQUEST.SESSION['links']=links
         pt=PageTemplateFile('Products/OSA_system/zpt/contextDataMain.zpt').__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','contextDataMain.zpt')).__of__(self)
         return pt()          return pt()
           
           
     def addContextData2(self,path,collection,context,link,label,description,content_type,responsible,weight,credits=None):      def addContextData2(self,path,collection,link,label,description,content_type,responsible,weight,credits=None):
         """Hinzufuegen der Resource"""          """Hinzufuegen der Resource"""
         splitted=path.split("/")          splitted=path.split("/")
         #print "BLU"          #print "BLU"
         id=splitted[len(splitted)-1]          id=splitted[len(splitted)-1]
         title=splitted[len(splitted)-1]          title=splitted[len(splitted)-1]
         metalink=self.REQUEST['SERVER_URL']+path+"/index.meta"          server=getattr(self,'serverUrl',self.REQUEST['SERVER_URL'])
           if path[0]=="/": #strip leading slash
           urlpath=path[1:]
       else:
           urlpath=path
   
   
           metalink=server+"/"+urlpath+"/index.meta"
                   
         #link=TOBEDONE"          #link=TOBEDONE"
         """Hinzufügen der Ressource"""          """Hinzufuegen der Ressource"""
   
         params=urllib.urlencode({'id':id,'title':title,'link':link,'label':label,'description':description,'content_type':content_type,'responsible':responsible,'weight':weight,'credits':credits,'metalink':metalink})          params=urllib.urlencode({'id':id,'title':title,'link':link,'label':label,'description':description,'contentType':content_type,'responsible':responsible,'weight':weight,'credits':credits,'metalink':metalink})
   
   
           try:
         retStr=urllib.urlopen(collection+"/addResource",params).read()          retStr=urllib.urlopen(collection+"/addResource",params).read()
         if not retStr:          except:
             return "An Error occured adding the resource\n"              return "An Error occured adding the resource\n", collection,params
   
         urllib.urlopen(collection+"/"+id+"/ECHO_getResourceMD").read()          #print "added"
         #exec("collection_object=self"+collection)          if not retStr:
               return "An Error occured adding the resource\n", collection,params
                   
           #print collection+"/"+id+"/copyIndex_meta2echo_resource"
           #TODO: fehler falls generate label oder title nicht funktioniert abfangen, bei ECHO geht das z.B. manchmal nicht.
           urllib.urlopen(collection+"/"+id+"/copyIndex_meta2echo_resource").read()
           #print "copy2res"
       try:
               urllib.urlopen(collection+"/"+id+"/generate_label").read()
           except:
           zLOG.LOG("OSAS_addfiles (addContextData2,label not generated)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2])
       try:
               urllib.urlopen(collection+"/"+id+"/generate_title").read()
       except:
           zLOG.LOG("OSAS_addfiles (addContextData2,title not generated)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2])
   
                   
         #ECHO_collection.manage_addECHO_resource(collection_object,id,title,label,description,content_type,responsible,link,metalink,credits,weight,RESPONSE=None)  
         #print "HI5"  
         #try:  
         #    getattr(collection_object,id).ECHO_getResourceMD()  
         #except:  
         #    """nothing"""  
         #return "BLUByy"  
         return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)          return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)
                   
     manage_options = Folder.manage_options+(      manage_options = Folder.manage_options+(
Line 299  class OSAS_add_contextData(Folder): Line 408  class OSAS_add_contextData(Folder):
             
     def add_contextData_config(self):      def add_contextData_config(self):
         """Main configuration"""          """Main configuration"""
         pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_add_contextData.zpt').__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeOSAS_add_contextData.zpt')).__of__(self)
         return pt()          return pt()
           
           
     def change_OSAS_add_contextData(self,collection,RESPONSE=None):      def change_OSAS_add_contextData(self,collection,serverUrl,pwstr=None,RESPONSE=None):
         """Change"""          """Change"""
           self.pwstr=pwstr
         self.collection=collection          self.collection=collection
           self.serverUrl=serverUrl
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
                           
 def manage_AddOSAS_add_contextDataForm(self):  def manage_AddOSAS_add_contextDataForm(self):
     """interface for adding the OSAS_add_Metadata"""      """interface for adding the OSAS_add_Metadata"""
     pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_contextData.zpt').__of__(self)      pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_contextData.zpt')).__of__(self)
     return pt()      return pt()
   
 def manage_AddOSAS_add_contextData(self,id,collection,RESPONSE=None):  def manage_AddOSAS_add_contextData(self,id,collection,RESPONSE=None):
Line 343  class OSAS_add_Presentation(Folder): Line 454  class OSAS_add_Presentation(Folder):
     security.declarePublic('add_Presentation_config')      security.declarePublic('add_Presentation_config')
     def add_Presentation_config(self):      def add_Presentation_config(self):
         """Main configuration"""          """Main configuration"""
         pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_addPresentation.zpt').__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeOSAS_addPresentation.zpt')).__of__(self)
         return pt()          return pt()
           
     security.declarePublic('change_OSAS_add_Presentation')      security.declarePublic('change_OSAS_add_Presentation')
Line 363  class OSAS_add_Presentation(Folder): Line 474  class OSAS_add_Presentation(Folder):
           
 def manage_AddOSAS_add_PresentationForm(self):  def manage_AddOSAS_add_PresentationForm(self):
     """interface for adding the OSAS_add_Metadata"""      """interface for adding the OSAS_add_Metadata"""
     pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_presentation.zpt').__of__(self)      pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_presentation.zpt')).__of__(self)
     return pt()      return pt()
   
 def manage_AddOSAS_add_Presentation(self,id,RESPONSE=None):  def manage_AddOSAS_add_Presentation(self,id,RESPONSE=None):
Line 395  class OSAS_combineTextImage(Folder): Line 506  class OSAS_combineTextImage(Folder):
     security.declarePublic('combineTextImage_config')      security.declarePublic('combineTextImage_config')
     def combineTextImage_config(self):      def combineTextImage_config(self):
         """Main configuration"""          """Main configuration"""
         pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_combineTextImage.zpt').__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeOSAS_combineTextImage.zpt')).__of__(self)
         return pt()          return pt()
           
     security.declarePublic('change_OSAS_combineTextImage')      security.declarePublic('change_OSAS_combineTextImage')
Line 435  class OSAS_combineTextImage(Folder): Line 546  class OSAS_combineTextImage(Folder):
     except:      except:
         filelanguage=""          filelanguage=""
                                   
     self.REQUEST.SESSION['isolist']=getISO()          self.REQUEST.SESSION['isolist']=OSAS_add.getISO()
     tmp=getISO().keys()          
           tmp=self.REQUEST.SESSION['isolist'].keys()
     tmp.sort()      tmp.sort()
     self.REQUEST.SESSION['isolistsort']=tmp      self.REQUEST.SESSION['isolistsort']=tmp
     self.REQUEST.SESSION['path']=path      self.REQUEST.SESSION['path']=path
Line 446  class OSAS_combineTextImage(Folder): Line 558  class OSAS_combineTextImage(Folder):
     self.REQUEST.SESSION['filelanguage']=filelanguage      self.REQUEST.SESSION['filelanguage']=filelanguage
     self.REQUEST.SESSION['externxml']=externxml      self.REQUEST.SESSION['externxml']=externxml
   
     newtemplate=PageTemplateFile('Products/OSA_system/zpt/ImageandText').__of__(self)          newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ImageandText')).__of__(self)
     return newtemplate()      return newtemplate()
           
     def getProjects(self,obj_ids=None):      def getViewerTemplateSets(self,obj_ids=None):
         """Get the Project title for configuration"""          """Get the ViewerTemplateSet title for configuration"""
         ret=[]          ret=[]
         print "HI"          viewerTemplateSets=self.ZopeFind(self.viewerTemplateSets,obj_metatypes=['OSAS_viewerTemplateSet'],obj_ids=obj_ids)#assumes viewerTemplateSets folder somewhere in the hierarchie.
   
         try:          try:
             projects=self.ZopeFind(self.projects,obj_metatypes=['OSAS_project'],obj_ids=obj_ids)#assumes projects folder somewhere in the hierarchie.              viewerTemplateSets=self.ZopeFind(self.viewerTemplateSets,obj_metatypes=['OSAS_viewerTemplateSet'],obj_ids=obj_ids)#assumes viewerTemplateSets folder somewhere in the hierarchie.
             print "pr"              
             for project in projects:              for viewerTemplateSet in viewerTemplateSets:
                 ret.append((project[1].title,project[0],project[1]))                  ret.append((viewerTemplateSet[1].title,viewerTemplateSet[0],viewerTemplateSet[1]))
             print ret              
             return ret              return ret
                   
         except:          except:
             return [('no Projectfolders','')]              return [('no ViewerTemplateSetfolders','')]
   
     def getTextToolsField(self,path,name,default=''):      def getTextToolsField(self,path,name,default=''):
         """Lese Textoolsfelder aus index.meta im path aus"""          """Lese Textoolsfelder aus index.meta im path aus"""
Line 471  class OSAS_combineTextImage(Folder): Line 584  class OSAS_combineTextImage(Folder):
             dom=xml.dom.minidom.parse(path+"/index.meta")              dom=xml.dom.minidom.parse(path+"/index.meta")
             node=dom.getElementsByTagName('texttool')[0] #getNode              node=dom.getElementsByTagName('texttool')[0] #getNode
             subnode=node.getElementsByTagName(name)[0]              subnode=node.getElementsByTagName(name)[0]
             print getText(subnode.childNodes)  
               # bei text wird nur der Folder gebraucht
               if name=="text":
                   splitted=getText(subnode.childNodes).split("/")
                   return splitted[len(splitted)-2]
               else:
             return getText(subnode.childNodes)              return getText(subnode.childNodes)
         except:          except:
             return default              return default
Line 479  class OSAS_combineTextImage(Folder): Line 597  class OSAS_combineTextImage(Folder):
   
     def combineTextImage2(self,path):      def combineTextImage2(self,path):
         """Eingabe von Metadateninformationen"""          """Eingabe von Metadateninformationen"""
           
           # correct path
           path=re.sub("//","/",path)
         OSAS_add.combineTextImage2(self,path) # Add images          OSAS_add.combineTextImage2(self,path) # Add images
         splitted=path.split("/")          splitted=path.split("/")
         linkPath=splitted[len(splitted)-1]          linkPath=splitted[len(splitted)-1]
         linkViewerEnvironment="http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.x.cgi?dir=%s&step=thumb" % linkPath          linkViewerEnvironmentImages="http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.x.cgi?dir=%s&step=thumb" % linkPath
           linkViewerEnvironmentOnlyText="http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.x.cgi?dir=%s&step=textonly" % linkPath
   
           if self.REQUEST.has_key('image'): # bilder vorhanden
               linkViewerEnvironment=linkViewerEnvironmentImages
           else:
               linkViewerEnvironment=linkViewerEnvironmentOnlyText
               
         self.REQUEST.SESSION['linkViewerEnvironment']=linkViewerEnvironment          self.REQUEST.SESSION['linkViewerEnvironment']=linkViewerEnvironment
   
         writeToContext(path,linkViewerEnvironment,"ECHO standard environment",unique="yes")          writeToContext(path,linkViewerEnvironment,"ECHO standard environment",unique="yes")
                   
         pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_combineTextImageFinal.zpt').__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_combineTextImageFinal.zpt')).__of__(self)
   
         return pt()          return pt()
   
     def isSelectedProject(self,obj,id):      def isSelectedViewerTemplateSet(self,obj,id):
         """is ausgewählt"""          """is ausgewählt"""
                   
         if self.REQUEST['project']==id:          if self.REQUEST['viewerTemplateSet']==id:
             return 1              return 1
         else:          else:
             return None              return None
Line 511  def writeToContext(path,link,description Line 639  def writeToContext(path,link,description
             nameTag=getText(context.getElementsByTagName('name')[0].childNodes)              nameTag=getText(context.getElementsByTagName('name')[0].childNodes)
             linkTag=getText(context.getElementsByTagName('link')[0].childNodes)              linkTag=getText(context.getElementsByTagName('link')[0].childNodes)
                           
             print "unique",context,nameTag,description,linkTag,link              
             linkTag=re.sub("\:86","",linkTag) # alter port 86 gleich ohne port nummer (hack)              linkTag=re.sub("\:86","",linkTag) # alter port 86 gleich ohne port nummer (hack)
             if (nameTag==description) and (linkTag==link):              if (nameTag==description) and (linkTag==link):
                 node.removeChild(context).unlink()                  node.removeChild(context).unlink()
Line 532  def writeToContext(path,link,description Line 660  def writeToContext(path,link,description
           
     writefile=file(path+"/index.meta","w")      writefile=file(path+"/index.meta","w")
     #print path+"/index.meta"      #print path+"/index.meta"
     writefile.write(dom.toxml().encode('utf-8'))      writefile.write(dom.toxml(encoding="UTF-8"))
     writefile.close()      writefile.close()
   
 def manage_AddOSAS_combineTextImageForm(self):  def manage_AddOSAS_combineTextImageForm(self):
     """interface for adding the OSAS_add_Metadata"""      """interface for adding the OSAS_add_Metadata"""
     pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_combineTextImage.zpt').__of__(self)      pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_combineTextImage.zpt')).__of__(self)
     return pt()      return pt()
   
 def manage_AddOSAS_combineTextImage(self,id,RESPONSE=None):  def manage_AddOSAS_combineTextImage(self,id,RESPONSE=None):

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


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