--- ECHO_content/ECHO_collection.py 2005/11/10 11:12:12 1.251 +++ ECHO_content/ECHO_collection.py 2005/11/25 18:46:40 1.255 @@ -1039,15 +1039,24 @@ class ECHO_resource(CatalogAware,Folder, - + def getMDValueSimpleSearchField(self): + """returns value for simple search""" + return " ".join([self.getMDValue('title',generic="yes"), + self.getMDValue('author',generic="yes"), + self.getMDValue('year',generic="yes")]) + def getMDValue(self,fieldNameTest,empty=None,generic=None): """get md values""" #TODO: cache mappinghash - + fieldName=None if generic: - ct=self.contentType.replace(" ","_").lower() - + if self.contentType: + ct=self.contentType.replace(" ","_").lower() + else: + zLOG.LOG("ECHO_collection (getMDValue)", zLOG.INFO, "no_content type for %s"%self.getId()) + ct="" + #caching if not hasattr(self,'_v_mapHash'): #noch keine cachevariable self._v_mapHash={} @@ -1448,16 +1457,15 @@ class ECHO_externalLink(Folder,ECHO_basi """template fuer content""" ret= ECHO_basis.content_html(self,'externalLink') + try: - print "a" - return ret.decode('utf-8') + return ret.encode('utf-8') except: try: - print "b" return ret.decode('latin-1') except: - print "c" + return ret def __init__(self,id,link,title,label,description,contentType,responsible,credits,weight,coords): @@ -1825,15 +1833,20 @@ class ECHO_collection(Folder, Persistent pass return ret - def updateCollection(self,RESPONSE=None): + def importCollection(self,path=None,RESPONSE=None): """liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner""" - files=os.listdir(self.path) + + if path is None: + pt=zptFile(self, 'zpt/importCollection.zpt') + return pt() + + files=os.listdir(path) ret="" for fileName in files: if fileName: - tempPath=re.sub("/mpiwg/online","",self.path) + tempPath=re.sub("/mpiwg/online","",path) link="http://echo.mpiwg-berlin.mpg.de/zogilib_book?fn="+tempPath+"/"+fileName+"/pageimg" metalink=self.path+"/"+fileName+"/index.meta" @@ -1856,20 +1869,6 @@ class ECHO_collection(Folder, Persistent if RESPONSE is not None: RESPONSE.redirect('manage_main') - def updateCollectionMD(self,RESPONSE=None): - """updateMD""" - files=os.listdir(self.path) - for fileName in files: - if fileName: - genObj=getattr(self,fileName) - genObj.copyIndex_meta2echo_resource() - genObj.generate_title() - - if RESPONSE is not None: - RESPONSE.redirect('manage_main') - - - def changeViewerTemplateSetsForm(self): """change the viewer template set""" pt=zptFile(self, 'zpt/changeViewerTemplateSet') @@ -1960,7 +1959,7 @@ class ECHO_collection(Folder, Persistent RESPONSE.redirect('manage_main') def copySearchFields(self,RESPONSE=None): - """copys import metadatafields to the object""" + """copys < metadatafields to the object""" resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1) for resource in resources: @@ -2190,7 +2189,7 @@ class ECHO_collection(Folder, Persistent {'label':'Set Startpage','action':'setStartpageFolderForm'}, {'label':'Change Viewer Templates and Image Viewer','action':'changeViewerTemplateSetsForm'}, {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, - {'label':'ImportCollection','action':'updateCollection'}, + {'label':'ImportCollection','action':'importCollection'}, {'label':'Copy MD for indexing and search','action':'copySearchFields'}, ) @@ -2655,6 +2654,10 @@ class ECHO_root(Folder,Persistent,Implic meta_type="ECHO_root" + def mod_re_sub(self,pattern,replace,string): + """re.sub aus mod re zur Verfuegung stellen""" + return re.sub(pattern,replace,string) + def findObjectFromFulltext(self,existUri): '''