Diff for /ECHO_content/ECHO_collection.py between versions 1.310 and 1.313

version 1.310, 2010/10/13 13:10:19 version 1.313, 2012/01/04 11:21:10
Line 21  import tempfile Line 21  import tempfile
 import zipfile  import zipfile
 import re  import re
 import os,shutil  import os,shutil
   import traceback
 import OFS.Image  import OFS.Image
 from types import *  from types import *
 from OFS.Cache import Cacheable  from OFS.Cache import Cacheable
Line 917  class ECHO_collection(CatalogAware, Fold Line 918  class ECHO_collection(CatalogAware, Fold
                 pt.content_type="text/html"                  pt.content_type="text/html"
                 return pt()                  return pt()
   
       def changeMetaLinks(self):
                   """change form"""
                   pt=zptFile(self, 'zpt/changeMetaLinkForm')
                   pt.content_type="text/html"
                   return pt()
   
     def changeTitles(self):      def changeTitles(self):
                 """change form"""                  """change form"""
                 pt=zptFile(self, 'zpt/changeTitleForm')                  pt=zptFile(self, 'zpt/changeTitleForm')
Line 1037  class ECHO_collection(CatalogAware, Fold Line 1044  class ECHO_collection(CatalogAware, Fold
                             pass                              pass
             return ret              return ret
                 
     def importCollection(self,path=None,viewerUrl=None,metaDataUrl=None,replacePathPermanent=None,replacePathExperimental=None,RESPONSE=None):      def changeMetaLinksInCollection(self):
               """change all lables of a collection"""
               ret=""
               argv=self.REQUEST.form
               
               resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_movie','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink'])
               for resource in resources:
                      
                       try:
                               ret+=resource[1].getId()+"   "+argv[resource[1].getId()]+"</br>"
                               resource[1].metalink=argv[resource[1].getId()][0:]
                       except:
                               pass
               return ret
          
       def importCollection(self,path=None,viewerUrl=None,metaDataUrl=None,replacePathPermanent=None,replacePathExperimental=None,folderListFile=None,RESPONSE=None):
         """liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner"""          """liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner"""
                   
         if path is None:          if (path is None) & (folderListFile is None):
                 pt=zptFile(self, 'zpt/importCollection.zpt')                  pt=zptFile(self, 'zpt/importCollection.zpt')
                 return pt()                  return pt()
   
           
           
           if (path !=""):
         files=os.listdir(path)          files=os.listdir(path)
               pathToFolder=path;
           else:
               pathToFolder="";
               files=[];
               for fileLine in folderListFile.readlines():
                   for fileLine2 in fileLine.split("\r"):
                       logging.debug("append:"+fileLine2)
                       files.append(fileLine2)
           
         ret=""          ret=""
         for fileName in files:          for fileName in files:
                           
             if fileName:              if fileName:
                   logging.debug("split:"+fileName);
                   if(pathToFolder==""): # pfad ist leer, da filename aud folderlistfile dann:
                       splitted=fileName.split("/");
                       path="/".join(splitted[0:-1]);
                       fileName=splitted[-1].rstrip().lstrip();
                       
                   
                                   
                 if (replacePathExperimental and replacePathExperimental!=''):                  if (replacePathExperimental and replacePathExperimental!=''):
                     path=re.sub(replacePathExperimental,"/mpiwg/online/experimental",path)                      path=re.sub(replacePathExperimental,"/mpiwg/online/experimental",path)
Line 1058  class ECHO_collection(CatalogAware, Fold Line 1099  class ECHO_collection(CatalogAware, Fold
                                 
                 link=viewerUrl%(path+"/"+fileName+"/pageimg")                  link=viewerUrl%(path+"/"+fileName+"/pageimg")
                                   
                 metalink=metaDataUrl+"/"+path+"/"+fileName+"/index.meta"                  metalink=metaDataUrl+re.sub("/mpiwg/online/","",path+"/"+fileName+"/index.meta")
                   
                   #metalink=metaDataUrl+"/"+path+"/"+fileName+"/index.meta"
                   
                   newindexMeta =re.sub("/mpiwg/online/","",path+"/"+fileName)
                   
                 try:                  try:
                       type=self.metadata.getBibTypeFromIndexMeta(newindexMeta)
   
                         #link="http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.x.cgi?dir="+fileName+"&step=thumb"                      try:
                                                   
                         newObj=ECHO_resource(fileName,link,metalink,fileName,fileName,fileName,'','book','','','','','','')                              #link="http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.x.cgi?dir="+fileName+"&step=thumb"
                               logging.debug("create:"+fileName);
                               logging.debug("type:"+type);
                               newObj=ECHO_resource(fileName,link,metalink,fileName,fileName,fileName,'',type,'','','','','','')
                         self._setObject(fileName,newObj)                          self._setObject(fileName,newObj)
                                   
                         genObj=getattr(self,fileName)                          genObj=getattr(self,fileName)
                         #genObj.createIndexFile()                          #genObj.createIndexFile()
                         ret+="OK:"+fileName+"<br/>"                          ret+="OK:"+fileName+"<br/>"
                 except:                  except:
                         print "ERROR"                              exc_type, exc_value, exc_traceback = sys.exc_info();    
                               #logging.error("%s %s %s"%[sys.exc_info()[0],ssys.exc_info()[1],;
                               traceback.print_exception(exc_type, exc_value, exc_traceback,
                                     limit=2, file=sys.stdout)
                         ret+="ERROR:"+fileName+"<br/>"                          ret+="ERROR:"+fileName+"<br/>"
                   except:
                        exc_type, exc_value, exc_traceback = sys.exc_info();    
                        #logging.error("%s %s %s"%[sys.exc_info()[0],ssys.exc_info()[1],;
                        traceback.print_exception(exc_type, exc_value, exc_traceback,
                                     limit=2, file=sys.stdout)
                        ret+="not a file ERROR:"+fileName+"<br/>"
   
         return ret          return ret
   
Line 1120  class ECHO_collection(CatalogAware, Fold Line 1179  class ECHO_collection(CatalogAware, Fold
                     RESPONSE.write("<html><body>")                      RESPONSE.write("<html><body>")
   
         for resource in resources:          for resource in resources:
               resource[1].newViewer=newViewer;
                           
             done,msg=resource[1].changeViewer(newViewer)  #             done,msg=resource[1].changeViewer(newViewer)
             if done:  #             if done:
                 if RESPONSE is not None:  #                 if RESPONSE is not None:
                     RESPONSE.write("<p>OK: %s"%resource[0])  #                     RESPONSE.write("<p>OK: %s"%resource[0])
             else:  #             else:
                 if RESPONSE is not None:  #                 if RESPONSE is not None:
                     RESPONSE.write("<p><a href='%s'>ERROR: %s (%s)</a>"%(resource[1].absolute_url()+'/ECHO_resource_config_main',resource[0],msg))  #                     RESPONSE.write("<p><a href='%s'>ERROR: %s (%s)</a>"%(resource[1].absolute_url()+'/ECHO_resource_config_main',resource[0],msg))
                                   
   
                                   
         if RESPONSE is not None:          if RESPONSE is not None:
                     RESPONSE.write("<p>Done</p></body></html>")                      RESPONSE.write("<p>Done</p></body></html>")
   
     def changeViewerTemplateSets(self,project,xslt,thumbtemplate,topbar,digiLibTemplate,digiliburlprefix,RESPONSE=None):  
             """change the templates"""  
   
             resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1)  
   
             for resource in resources:  
   
                     resource[1].changeViewerTemplateSet(project,xslt,thumbtemplate,topbar,digiLibTemplate,digiliburlprefix)  
   
             if RESPONSE is not None:  
                     RESPONSE.redirect('manage_main')  
   
   
     def setStartpageFolderForm(self):      def setStartpageFolderForm(self):
             """Form for changing the startpage"""              """Form for changing the startpage"""
Line 1437  class ECHO_collection(CatalogAware, Fold Line 1485  class ECHO_collection(CatalogAware, Fold
         {'label':'Main Config','action':'ECHO_collection_config'},          {'label':'Main Config','action':'ECHO_collection_config'},
         {'label':'Change Labels','action':'changeLabels'},          {'label':'Change Labels','action':'changeLabels'},
         {'label':'Change Titles','action':'changeTitles'},          {'label':'Change Titles','action':'changeTitles'},
       {'label':'Change MetaLinks','action':'changeMetaLinks'},
         {'label':'Localize','action':'localizeObjects'},          {'label':'Localize','action':'localizeObjects'},
         {'label':'Change Weights','action':'changeWeights'},          {'label':'Change Weights','action':'changeWeights'},
         {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMDWarning'},          {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMDWarning'},
Line 1444  class ECHO_collection(CatalogAware, Fold Line 1493  class ECHO_collection(CatalogAware, Fold
         {'label':'Graphic Coords','action':'ECHO_graphicEntry'},          {'label':'Graphic Coords','action':'ECHO_graphicEntry'},
         {'label':'create resources from XML','action':'createRessourcesFromXMLForm'},          {'label':'create resources from XML','action':'createRessourcesFromXMLForm'},
         {'label':'Set Startpage','action':'setStartpageFolderForm'},          {'label':'Set Startpage','action':'setStartpageFolderForm'},
         {'label':'Change Viewer Templates and Image Viewer','action':'changeViewerTemplateSetsForm'},          {'label':'Change Image Viewer','action':'changeViewerTemplateSetsForm'},
         {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},          {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},
         {'label':'ImportCollection','action':'importCollection'},          {'label':'ImportCollection','action':'importCollection'},
         {'label':'Copy MD for indexing and search','action':'copySearchFields'},          {'label':'Copy MD for indexing and search','action':'copySearchFields'},
Line 1506  class ECHO_collection(CatalogAware, Fold Line 1555  class ECHO_collection(CatalogAware, Fold
           
     def showOverview(self):      def showOverview(self):
         """overview"""          """overview"""
           # ECHO_overview.html template for this instance
         if 'ECHO_overview.html' in self.__dict__.keys():          if 'ECHO_overview.html' in self.__dict__.keys():
             return getattr(self,'ECHO_overview.html')()              return getattr(self,'ECHO_overview.html')()
           
           # ECHO_overview_main template in path
           if hasattr(self, 'ECHO_overview_main'):
               return getattr(self, 'ECHO_overview_main')()
           
           # template from product
         pt=zptFile(self, 'zpt/ECHO_content_overview.zpt')          pt=zptFile(self, 'zpt/ECHO_content_overview.zpt')
         return pt()          return pt()
   
Line 1921  class ECHO_root(Folder,Persistent,Implic Line 1977  class ECHO_root(Folder,Persistent,Implic
     getSubCols = ECHO_helpers.getSubCols      getSubCols = ECHO_helpers.getSubCols
   
     manage_options=Folder.manage_options+(      manage_options=Folder.manage_options+(
                 {'label':'Main Config','action':'ECHO_copyright_configForm'},  
                 {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},                  {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},
                 {'label':'Change Weights','action':'changeWeights'},                  {'label':'Change Weights','action':'changeWeights'},
                 {'label':'Generate from RDF','action':'generateFromRDFForm'},                  {'label':'Generate from RDF','action':'generateFromRDFForm'},
Line 2288  class ECHO_root(Folder,Persistent,Implic Line 2343  class ECHO_root(Folder,Persistent,Implic
                     retStr+="""<option value="%s">%s\n"""%(contentType[0],contentType[0])                      retStr+="""<option value="%s">%s\n"""%(contentType[0],contentType[0])
         except:          except:
                 try:                  try:
                         for contentType in self.ZopeFind(self.standardMD,obj_metatypes=["OSAS_MetadataMapping"]):                          for contentType in self.ZopeFind(self.getStandardMD(),obj_metatypes=["OSAS_MetadataMapping"]):
                                 if selected and (contentType[0]==selected):                                  if selected and (contentType[0]==selected):
                                         retStr+="""<option selected value="%s">%s\n"""%(contentType[0],contentType[0])                                          retStr+="""<option selected value="%s">%s\n"""%(contentType[0],contentType[0])
                                 else:                                                  else:                

Removed from v.1.310  
changed lines
  Added in v.1.313


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