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

version 1.35, 2004/07/01 07:46:42 version 1.49, 2006/06/14 16:33:42
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 102  class OSAS_add_Document(Folder): Line 105  class OSAS_add_Document(Folder):
     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():
               
               #print str(self.metadata[tag]).decode('utf-8').encode('utf-8')
         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(encoding='utf-8')
           #return renderxml
         metapath=self.REQUEST.SESSION['pathnew']+"/index.meta"          metapath=self.REQUEST.SESSION['pathnew']+"/index.meta"
           
       
     f=open(metapath,'w')      f=open(metapath,'w')
     f.writelines(renderxml)  
           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 136  class OSAS_add_Document(Folder): Line 142  class OSAS_add_Document(Folder):
     for tag in self.metadata.keys():      for tag in self.metadata.keys():
         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(encoding='utf-8')
         metapath=self.REQUEST.SESSION['pathnew']+"/index.meta"          metapath=self.REQUEST.SESSION['pathnew']+"/index.meta"
           
           
     f=open(metapath,'w')      f=open(metapath,'w')
     f.writelines(renderxml)          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 161  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 194  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 222  class OSAS_add_Text(Folder): Line 228  class OSAS_add_Text(Folder):
           
 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 244  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 270  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 279  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 URL
             return urllib.urlopen(URL).read()              return urllib.urlopen(URL).read()
Line 299  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 [("",URL)]              return [("",URL)]
Line 318  class OSAS_add_contextData(Folder): Line 327  class OSAS_add_contextData(Folder):
           
     def addContextData(self,path):      def addContextData(self,path):
         """Hinzufuegen 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 fuer 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()
           
           
Line 340  class OSAS_add_contextData(Folder): Line 361  class OSAS_add_contextData(Folder):
         #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,'contentType':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})
   
         print params  
                   
           try:
         retStr=urllib.urlopen(collection+"/addResource",params).read()          retStr=urllib.urlopen(collection+"/addResource",params).read()
           except:
               return "An Error occured adding the resource\n", collection,params
   
           #print "added"
     if not retStr:      if not retStr:
             return "An Error occured adding the resource\n"              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])
   
         print urllib.urlopen(collection+"/"+id+"/copyIndex_meta2echo_resource").read()  
         print urllib.urlopen(collection+"/"+id+"/generate_label").read()  
         print urllib.urlopen(collection+"/"+id+"/generate_title").read()  
   
         return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)          return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)
                   
Line 368  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 412  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 432  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 464  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 516  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 getViewerTemplateSets(self,obj_ids=None):      def getViewerTemplateSets(self,obj_ids=None):
Line 573  class OSAS_combineTextImage(Folder): Line 615  class OSAS_combineTextImage(Folder):
                   
         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()
   
Line 618  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.35  
changed lines
  Added in v.1.49


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