--- ECHO_content/ECHO_collection.py 2005/12/13 12:45:21 1.260 +++ ECHO_content/ECHO_collection.py 2006/03/03 20:34:11 1.266 @@ -342,7 +342,7 @@ class ECHO_fullText(ZopePageTemplate,ECH def getPage(self,nr='1'): """get page n""" #return self().encode('latin-1','ignore') - dom=xml.dom.minidom.parseString(self().encode('utf-8','ignore')) + dom=xml.dom.minidom.parseString(self()) pages=dom.getElementsByTagName('page') return pages[int(nr)-1].toxml() @@ -852,9 +852,11 @@ class ECHO_resource(CatalogAware,Folder, params="project=%s&xslt=%s&thumbtemplate=%s&topbar=%s&digiLibTemplate=%s&digiliburlprefix=%s"%(project,xslt,thumbtemplate,topbar,digiLibTemplate,digiliburlprefix) - - ECHO_helpers.urlopen('http://echo.mpiwg-berlin.mpg.de/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))).read() - + try: + ECHO_helpers.urlopen('http://echo.mpiwg-berlin.mpg.de/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))).read() + except: + zLOG.LOG("ECHO_ressource (changeViewerTemplateSet)", zLOG.ERROR,"%s (%s)"%sys.exc_info()[0:2]) + zLOG.LOG("ECHO_ressource (changeViewerTemplateSet)", zLOG.ERROR,'http://echo.mpiwg-berlin.mpg.de/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))) #print self.absolute_url()+'/newMetaXML'+urllib.quote'?'+params) # hack Pfad auf die Dokumente path=self.metalink @@ -863,22 +865,15 @@ class ECHO_resource(CatalogAware,Folder, path=re.sub('/index.meta','',path) - path=re.sub(self.REQUEST['SERVER_URL'],'',path) - path=re.sub('http://'+self.REQUEST['HTTP_HOST'],'',path) - - path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server - path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server - path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server - - path=re.sub('http://foxridge.rz-berlin.mpg.de:8080','',path) # falls foxridge als server - path=re.sub('http://foxridge.rz-berlin.mpg.de','',path) # falls foxridge als server - path=re.sub('http://content.mpiwg-berlin.mpg.de','',path) # falls content als server - path=re.sub('http://echo.mpiwg-berlin.mpg.de','',path) # falls echo - - path=re.sub('http://vision.rz-berlin.mpg.de','',path) # falls vision als server - - return ECHO_helpers.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() - + #TODO: direct access to the file system necessary, fix that also xmlrpc to the server where the index file is stored is possible + parsedUrl=urlparse.urlparse(path) + path=parsedUrl[2] + + try: + return ECHO_helpers.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() + except: + zLOG.LOG("ECHO_Resource (changeViewerTemplateSet)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2]) + zLOG.LOG("ECHO_Resource (changeViewerTemplateSet)", zLOG.INFO,"http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path) if RESPONSE is not None: RESPONSE.redirect('manage_main') @@ -1189,6 +1184,7 @@ class ECHO_resource(CatalogAware,Folder, except: zLOG.LOG("ECHO_collection (changeECHO_resource_metadata)",zLOG.ERROR,"%s (%s)"%sys.exc_info()[0:2]) + print self.newMetaXML() ECHO_helpers.urlopen('http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML')).read() @@ -1249,6 +1245,7 @@ class ECHO_resource(CatalogAware,Folder, return "" else: + ret= self.metaDataHash.get(fieldNameTest,empty) @@ -1256,7 +1253,7 @@ class ECHO_resource(CatalogAware,Folder, return ret.decode('utf-8') else: return ret - + getFieldValue=getMDValue #depricated def newMetaXML(self,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None,digiliburlprefix=None): @@ -1513,8 +1510,10 @@ class ECHO_resource(CatalogAware,Folder, + self.REQUEST.SESSION['diffs']=checkDiffs(self,metadict) + if template=="yes": #pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/ECHO_resourceMD.zpt'),metadict=metadict).__of__(self) pt=zptFile(self, 'zpt/ECHO_resourceMD.zpt') @@ -2850,6 +2849,29 @@ class ECHO_root(Folder,Persistent,Implic meta_type="ECHO_root" management_page_charset="utf-8" + getSubCols = ECHO_helpers.getSubCols + + 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 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""" return re.sub(pattern,replace,string) @@ -2888,19 +2910,6 @@ class ECHO_root(Folder,Persistent,Implic if RESPONSE: RESPONSE.write("

ok

\n") - def printer(self,txt): - print txt - print txt[2] - print txt[2].getImageTag() - print "HO" - return txt[2].getImageTag() - - def printer2(self,txt): - print txt - - - def item2(self,txt): - return txt[2] def setLanguage(self,lang): """Set language cookie""" @@ -2915,6 +2924,7 @@ class ECHO_root(Folder,Persistent,Implic self.REQUEST.RESPONSE.setCookie('lang_exhibition',lang,path="/") self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']) + def getLanguage(self): """get language cookie""" lang= self.REQUEST.cookies.get('lang_exhibition','de') @@ -3104,17 +3114,7 @@ class ECHO_root(Folder,Persistent,Implic pt=zptFile(self, 'zpt/changeWeightForm') pt.content_type="text/html" return pt() - getSubCols = ECHO_helpers.getSubCols - - 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'}, - -) - - + def reloadMetaDataFromStorageWarning(self,RESPONSE=None): """warning""" @@ -3643,7 +3643,37 @@ class ECHO_root(Folder,Persistent,Implic inst=self.ZopeFind(self.institutions, obj_ids=[id]) return inst + def updateResourceCatalog(self,REQUEST,RESPONSE): + """update ressource catalog""" + catalog=getattr(self,'resourceCatalog',None) + if not catalog: + return """

No resourceCatalog available

""" + else: + return catalog.manage_catalogReindex(REQUEST,RESPONSE,'manage_main') + + + def checkMetaDataLinks(self,correct=None): + """check all metadatalinks and if correct is set change the servername to content.mpiwg-berlin.mpg.de""" + + self.REQUEST.RESPONSE.write("") + for resource in self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1): + metalink=resource[1].metalink + + try: + url=urllib.urlopen(metalink) + except: + + self.REQUEST.RESPONSE.write("

ERROR (opening %s):"%resource[1].absolute_url() +" -- %s %s
"%sys.exc_info()[0:2]) + self.REQUEST.RESPONSE.write("-----------%s"%metalink) + + if correct: + urlparsed=[x for x in urlparse.urlparse(metalink)] + urlparsed[1]="content.mpiwg-berlin.mpg.de" + neu=urlparse.urlunparse(urlparsed) + resource[1].metalink=neu[0:] + self.REQUEST.RESPONSE.write("----------changed to:%s)"%neu) + def manage_addECHO_root(self,id,title,RESPONSE=None): """Add an ECHO_root""" self._setObject(id,ECHO_root(id,title))