--- ECHO_content/ECHO_collection.py 2004/07/23 13:15:08 1.152 +++ ECHO_content/ECHO_collection.py 2004/07/30 16:46:04 1.153 @@ -30,6 +30,7 @@ from Globals import Persistent, package_ from Acquisition import Implicit from ECHO_helpers import displayTypes import urllib +import time try: from psycopg import libpq @@ -46,6 +47,49 @@ import xml.dom.minidom from ECHO_graphicalOverview import javaHandler,javaScriptMain import ECHO_helpers +def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']): + """Rerender all Links""" + ret="" + + if not obj: + obj = self + + entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_resource'],search_sub=1) + + for entry in entries: + if entry[1].meta_type == 'ECHO_resource': + try: + entry[1].ECHO_getResourceMD(template="no") + if "title" in types: + entry[1].generate_title() + if "label" in types: + entry[1].generate_label() + ret+="OK:"+entry[0]+"-- "+entry[1].getTitle().decode('utf-8')+"-- "+entry[1].getTitle().decode('utf-8')+"
" + except: + ret+="Error:"+entry[0]+"
" + + + + + return ""+ret+"Rerenderd all links to resources in: "+self.title+"" + +def reloadMetaDataFromStorage(self,RESPONSE=None): + """copy metadata from the storage to ECHO""" + ret="" + resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1) + + for resource in resources: + x=str(resource[1].copyIndex_meta2echo_resource())+"
" + ret+=x + #print x + + + if RESPONSE is not None: + #RESPONSE.redirect('./manage_main') + return ""+ret+"" + + return ret + def getRDFDescription(self,linkURL,urn=None,nameDef=None,typeName=None): """rdf""" @@ -1365,7 +1409,7 @@ class ECHO_resource(Folder,Persistent): self.metaDataHash={} if not error=="": #Fehler beim Auslesen des Metafiles - return "ERROR:",error + return "ERROR:",error,self.absolute_url() self.contentType=metadict['bib_type'][0:] fields=self.findTagsFromMapping(self.contentType) @@ -1802,7 +1846,7 @@ class ECHO_collection(Folder, Persistent def changeViewerTemplateSets(self,project,xslt,thumbtemplate,topbar,digiLibTemplate,RESPONSE=None): """change the templates""" - resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource']) + resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1) for resource in resources: @@ -1812,6 +1856,28 @@ class ECHO_collection(Folder, Persistent RESPONSE.redirect('manage_main') + def setStartpageFolderForm(self): + """Form for changing the startpage""" + + + pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resourceStartPageFolder.zpt').__of__(self) + 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 copySearchFields(self,RESPONSE=None): """copys import metadatafields to the object""" resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource']) @@ -1822,21 +1888,19 @@ class ECHO_collection(Folder, Persistent if RESPONSE is not None: RESPONSE.redirect('manage_main') + + def reloadMetaDataFromStorageWarning(self,RESPONSE=None): + """warning""" + pt=PageTemplateFile('Products/ECHO_content/zpt/reloadMetaDataFromStorageWarning.zpt').__of__(self) + pt.content_type="text/html" + return pt() def reloadMetaDataFromStorage(self,RESPONSE=None): """copy metadata from the storage to ECHO""" - ret="" - resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource']) - - for resource in resources: - ret+=str(resource[1].copyIndex_meta2echo_resource())+"
" + return reloadMetaDataFromStorage(self,RESPONSE=None) - - if RESPONSE is not None: - # RESPONSE.redirect('manage_main') - return ret - + def getPartnerCopyright(self,name,sonst="generic"): """gibt generisches copyright eines partners aus, sonst behalte jetzige einsteillung""" #print "hi",name,sonst @@ -2084,34 +2148,20 @@ class ECHO_collection(Folder, Persistent security.declarePublic('ECHO_rerenderLinksMD') - def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']): - """Rerender all Links""" - ret="" - - if not obj: - obj = self - - entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_resource','ECHO_collection']) - for entry in entries: - if entry[1].meta_type == 'ECHO_resource': - try: - entry[1].ECHO_getResourceMD(template="no") - if "title" in types: - entry[1].generate_title() - if "label" in types: - entry[1].generate_label() - ret+="OK:"+entry[0]+"-- "+entry[1].getTitle().decode('utf-8')+"-- "+entry[1].getTitle().decode('utf-8')+"
" - except: - ret+="Error:"+entry[0]+"
" + def ECHO_rerenderLinksMDWarning(self): + """change form""" + pt=PageTemplateFile('Products/ECHO_content/zpt/rerenderLinksWarning').__of__(self) + pt.content_type="text/html" + return pt() - else: - self.ECHO_rerenderLinksMD(entry[1]) - - - return ret+"Rerenderd all links to resources in: "+self.title + + def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']): + """Rerender all Links""" + return ECHO_rerenderLinksMD(self,obj,types) + security.declarePublic('ECHO_newViewerLink') @@ -2150,11 +2200,12 @@ class ECHO_collection(Folder, Persistent {'label':'Main Config','action':'ECHO_collection_config'}, {'label':'Change Labels','action':'changeLabels'}, {'label':'Change Titles','action':'changeTitles'}, - {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMD'}, + {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMDWarning'}, {'label':'Graphics','action':'ECHO_graphicEntry'}, {'label':'create resources from XML','action':'createRessourcesFromXMLForm'}, + {'label':'Set Startpage','action':'setStartpageFolderForm'}, {'label':'Change Viewer Templates','action':'changeViewerTemplateSetsForm'}, - {'label':'Reload Metadata','action':'reloadMetaDataFromStorage'}, + {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, {'label':'ImportCollection','action':'updateCollection'}, {'label':'Copy MD for indexing and search','action':'copySearchFields'}, ) @@ -2360,7 +2411,7 @@ class ECHO_group(ECHO_collection): manage_options = Folder.manage_options+( {'label':'Main Config','action':'ECHO_group_config'}, - {'label':'Rerender Links','action':'ECHO_rerenderLinksMD'}, + {'label':'Rerender Links','action':'ECHO_rerenderLinksMDWarning'}, {'label':'Graphics','action':'ECHO_graphicEntry'}, ) @@ -2612,6 +2663,13 @@ class ECHO_root(Folder,Persistent,Implic security=ClassSecurityInfo() meta_type="ECHO_root" + + + manage_options=Folder.manage_options+( + {'label':'Main Config','action':'ECHO_copyright_configForm'}, + {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, + ) + def showRDF(self): """showrdf""" @@ -2622,6 +2680,18 @@ class ECHO_root(Folder,Persistent,Implic ret+="""""" return ret + + def reloadMetaDataFromStorageWarning(self,RESPONSE=None): + """warning""" + pt=PageTemplateFile('Products/ECHO_content/zpt/reloadMetaDataFromStorageWarning.zpt').__of__(self) + 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""" @@ -3111,7 +3181,12 @@ class ECHO_root(Folder,Persistent,Implic if filter and not re.search(filter,viewer_url): continue - ret+="""\n"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(meta_url,safe='/:?')) + #modificationDate=time.strptime(str(resource[1].bobobase_modification_time()),"%Y/%m/%d %H:%M:%S %Z") + + modificationDate=resource[1].bobobase_modification_time().strftime("%Y/%m/%d %H:%M:%S") + + ret+="""\n"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(meta_url,safe='/:?'),modificationDate) + ret +="""\n"""