--- ECHO_content/ECHO_collection.py 2006/03/03 18:04:57 1.265
+++ ECHO_content/ECHO_collection.py 2006/07/03 17:24:35 1.269
@@ -34,10 +34,11 @@ from Globals import DTMLFile
import Globals
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
from Products.PageTemplates.PageTemplate import PageTemplate
-from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
+from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate,manage_addPageTemplate
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
@@ -823,6 +824,11 @@ class ECHO_resource(CatalogAware,Folder,
return pt()
+ def setMetaLink(self, newLink=None):
+ """change metalink field"""
+ if link is not None:
+ self.metalink = newLink
+
def getTextToolsField(self,name,default=''):
"""Lese Textoolsfelder aus index.meta im path aus"""
@@ -2857,8 +2863,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"""
@@ -3638,6 +3656,15 @@ 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')
@@ -3991,3 +4018,48 @@ def repairCoords(self):
col.addMapArea(area)
msg += "\nDone!"
return msg
+
+from ECHO_Nav import ECHO_navigation
+
+class ECHO_main(ECHO_root,ECHO_navigation):
+ """echo main object combines ECHO_root and ECHO_navigation"""
+
+ meta_type="ECHO_main"
+
+ def __init__(self,id,title):
+ """init"""
+ self.id=id
+ self.title=title
+ self.pathToHierarchy="/"+self.id # hierarchie always starts with the object.
+ self.displayedMetaTypes=displayTypes
+
+
+ manage_options = Folder.manage_options+(
+ {'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'},
+ {'label':'Copy MD for indexing and search','action':'copySearchFields'},
+ )
+
+
+def manage_addECHO_mainForm(self):
+ """Form for adding"""
+ pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddECHO_main.zpt')).__of__(self)
+ return pt()
+
+def manage_addECHO_main(self,id,title,RESPONSE=None):
+ """Add an ECHO_main"""
+ self._setObject(id,ECHO_main(id,title))
+
+ obj=self._getOb(id)
+ text=file(os.path.join(package_home(globals()),'zpt','main_template')).read()
+
+ manage_addPageTemplate(obj,'main_template',text=text)
+
+
+ if RESPONSE is not None:
+ RESPONSE.redirect('manage_main')