--- ECHO_content/ECHO_collection.py 2006/03/03 09:45:24 1.264 +++ ECHO_content/ECHO_collection.py 2006/03/03 22:05:31 1.267 @@ -38,6 +38,7 @@ from Products.PageTemplates.ZopePageTemp from Globals import Persistent, package_home from Acquisition import Implicit from Products.ZCatalog.CatalogPathAwareness import CatalogAware +from Products.ZCTextIndex.ZCTextIndex import manage_addLexicon import urllib import cgi @@ -342,7 +343,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() @@ -2857,8 +2858,20 @@ class ECHO_root(Folder,Persistent,Implic {'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""" @@ -2898,19 +2911,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""" @@ -2925,6 +2925,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') @@ -3650,10 +3651,39 @@ class ECHO_root(Folder,Persistent,Implic return """

No resourceCatalog available

""" else: + class element: + def __init__(self,group,name): + self.group=group + self.name=name + catalog.manage_delObjects('author splitter') + #elements=[element('Stop Words',""" Don't remove stop words' """),element('Word Splitter','ECHO author splitter')] + elements=[element('Word Splitter','ECHO author splitter')] + manage_addLexicon(catalog,id="author splitter",elements=elements) + 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))