--- ECHO_content/ECHO_collection.py 2010/10/11 13:15:00 1.309 +++ ECHO_content/ECHO_collection.py 2012/01/04 08:41:37 1.310.2.2 @@ -9,11 +9,7 @@ class ECHO_externalLink contains informa """ -try: - from reportlab.pdfgen import canvas - from reportlab.lib.pagesizes import A4 -except: - print "PDF generation will not work" + import urlparse import string @@ -49,14 +45,15 @@ import urllib2 import cgi import smtplib import time -from Ft.Xml.Domlette import NonvalidatingReader -from Ft.Xml.Domlette import PrettyPrint, Print -from Ft.Xml import EMPTY_NAMESPACE - -import Ft.Xml.XPath +#from Ft.Xml.Domlette import NonvalidatingReader +#from Ft.Xml.Domlette import PrettyPrint, Print +#from Ft.Xml import EMPTY_NAMESPACE +# +#import Ft.Xml.XPath import cStringIO import sys +import logging try: from psycopg import libpq @@ -701,6 +698,39 @@ class ECHO_collection(CatalogAware, Fold path="/mpiwg/online/permanent/shipbuilding" + def getSection(self, crumbs=None): + """returns the current section name""" + # use breadcrumbs if available + if crumbs is not None and len(crumbs) > 0: + return crumbs[0][2].getId() + + p = self + + sec = None + # descend parents to the root (and remember the last id) + while p is not None and p.meta_type != 'ECHO_root' and p.meta_type!='ECHO_main' and p.meta_type!='ECHO_nav': + sec = p.getId() + p = p.aq_parent + + return sec + + def getSubSection(self, crumbs=None): + """returns the current subsection name""" + # use breadcrumbs if available + if crumbs is not None and len(crumbs) > 1: + return crumbs[1][2].getId() + + p = self + sec = None + subsec = None + # descend parents to the root (and remember the last id) + while p is not None and p.meta_type != 'ECHO_root' and p.meta_type!='ECHO_main' and p.meta_type!='ECHO_nav': + subsec = sec + sec = p.getId() + p = p.aq_parent + + return subsec + def exportImportObjects_html(self,RESPONSE): """ImportObject""" @@ -1100,38 +1130,7 @@ class ECHO_collection(CatalogAware, Fold if RESPONSE is not None: RESPONSE.write("

Done

") - 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): - """Form for changing the startpage""" - - - pt=zptFile(self, 'zpt/ChangeECHO_resourceStartPageFolder.zpt') - pt.content_type="text/html" - return pt() - - def setStartpageFolder(self,startpage=None,RESPONSE=None): - """change the templates""" - - resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1) - - for resource in resources: - - resource[1].setStartPage(startpage) - - if RESPONSE is not None: - RESPONSE.redirect('manage_main') + def copyTitleToInfoXMLFolder(self,RESPONSE=None): """copy title into the title field of info.xml @@ -1166,17 +1165,7 @@ class ECHO_collection(CatalogAware, Fold if RESPONSE is not None: RESPONSE.redirect('manage_main') - def reloadMetaDataFromStorageWarning(self,RESPONSE=None): - """warning""" - pt=zptFile(self, 'zpt/reloadMetaDataFromStorageWarning.zpt') - pt.content_type="text/html" - return pt() - - def reloadMetaDataFromStorage(self,RESPONSE=None): - """copy metadata from the storage to ECHO""" - - return reloadMetaDataFromStorage(self,RESPONSE) - + def getPartnerCopyright(self,name,sonst="generic"): """gibt generisches copyright eines partners aus, sonst behalte jetzige einsteillung""" @@ -1409,11 +1398,8 @@ class ECHO_collection(CatalogAware, Fold {'label':'Export/Import Objects','action':'exportImportObjects_html'}, {'label':'Graphic Coords','action':'ECHO_graphicEntry'}, {'label':'create resources from XML','action':'createRessourcesFromXMLForm'}, - {'label':'Set Startpage','action':'setStartpageFolderForm'}, {'label':'Change Viewer Templates and Image Viewer','action':'changeViewerTemplateSetsForm'}, - {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, {'label':'ImportCollection','action':'importCollection'}, - {'label':'Copy MD for indexing and search','action':'copySearchFields'}, {'label':'Change access rights', 'action':'changeAccessRightsCollectionForm'}, ) @@ -1888,12 +1874,12 @@ class ECHO_root(Folder,Persistent,Implic manage_options=Folder.manage_options+( {'label':'Main Config','action':'ECHO_copyright_configForm'}, - {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, {'label':'Change Weights','action':'changeWeights'}, {'label':'Generate from RDF','action':'generateFromRDFForm'}, {'label':'update Resource Catalog','action':'updateResourceCatalog'}, - {'label':'Copy MD for indexing and search','action':'copySearchFields'}, -) + ) + + def getECHORootURL(self): @@ -1902,16 +1888,7 @@ class ECHO_root(Folder,Persistent,Implic def getECHORoot(self): return self - def copySearchFields(self,RESPONSE=None): - """copys < metadatafields to the object""" - resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1) - - for resource in resources: - resource[1].copySearchFields() - - if RESPONSE is not None: - RESPONSE.redirect('manage_main') def mod_re_sub(self,pattern,replace,string): """re.sub aus mod re zur Verfuegung stellen""" @@ -2156,17 +2133,6 @@ class ECHO_root(Folder,Persistent,Implic pt.content_type="text/html" return pt() - - def reloadMetaDataFromStorageWarning(self,RESPONSE=None): - """warning""" - pt=zptFile(self, 'zpt/reloadMetaDataFromStorageWarning.zpt') - pt.content_type="text/html" - return pt() - - def reloadMetaDataFromStorage(self,RESPONSE=None): - """reload MD from Storage""" - - return reloadMetaDataFromStorage(self,RESPONSE) def getRDF(self,urn=None): """rdf of the collection""" @@ -3216,7 +3182,6 @@ class ECHO_main(ECHO_root,ECHO_navigatio {'label':'Main Config','action':'ECHO_navigationConfigForm'}, {'label':'Cache','action':'ECHO_cacheManageForm'}, {'label':'Main Config','action':'ECHO_copyright_configForm'}, - {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, {'label':'Change Weights','action':'changeWeights'}, {'label':'Generate from RDF','action':'generateFromRDFForm'}, {'label':'update Resource Catalog','action':'updateResourceCatalog'},