version 1.245, 2005/10/28 17:49:45
|
version 1.255, 2005/11/25 18:46:40
|
Line 1038 class ECHO_resource(CatalogAware,Folder,
|
Line 1038 class ECHO_resource(CatalogAware,Folder,
|
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
|
|
|
|
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): |
def getMDValue(self,fieldNameTest,empty=None,generic=None): |
"""get md values""" |
"""get md values""" |
#TODO: cache mappinghash |
#TODO: cache mappinghash |
|
|
fieldName=None |
fieldName=None |
if generic: |
if generic: |
|
if self.contentType: |
ct=self.contentType.replace(" ","_").lower() |
ct=self.contentType.replace(" ","_").lower() |
|
else: |
|
zLOG.LOG("ECHO_collection (getMDValue)", zLOG.INFO, "no_content type for %s"%self.getId()) |
|
ct="" |
|
|
#caching |
#caching |
if not hasattr(self,'_v_mapHash'): #noch keine cachevariable |
if not hasattr(self,'_v_mapHash'): #noch keine cachevariable |
Line 1060 class ECHO_resource(CatalogAware,Folder,
|
Line 1071 class ECHO_resource(CatalogAware,Folder,
|
if not fieldName and hasattr(self.standardMD,ct): |
if not fieldName and hasattr(self.standardMD,ct): |
fieldName=getattr(self.standardMD,ct).generateMappingHash()[fieldNameTest][0] |
fieldName=getattr(self.standardMD,ct).generateMappingHash()[fieldNameTest][0] |
self._v_mapHash[ct][fieldNameTest]=fieldName |
self._v_mapHash[ct][fieldNameTest]=fieldName |
|
if not fieldName: |
|
fieldName=fieldNameTest |
if not empty: |
if not empty: |
|
#FIXME: warum gibt es manchmal kein metadatahas |
|
try: |
return self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType) |
return self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType) |
|
except: |
|
zLOG.LOG("ECHO (line 1069)",zLOG.ERROR,"no md hash for %s"%self.getId()) |
|
return "" |
|
|
else: |
else: |
return self.metaDataHash.get(fieldName,empty) |
|
|
return self.metaDataHash.get(fieldNameTest,empty) |
|
|
|
getFieldValue=getMDValue #depricated |
|
|
def newMetaXML(self,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None,digiliburlprefix=None): |
def newMetaXML(self,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None,digiliburlprefix=None): |
"""new index.meta""" |
"""new index.meta""" |
Line 1296 class ECHO_resource(CatalogAware,Folder,
|
Line 1316 class ECHO_resource(CatalogAware,Folder,
|
if RESPONSE: |
if RESPONSE: |
return RESPONSE.redirect('manage_main') |
return RESPONSE.redirect('manage_main') |
|
|
return "OK:",self.absolute_url().self,contentType |
return "OK:",self.absolute_url(),self.contentType |
|
|
def ECHO_getResourceMD(self,template="yes",back=None): |
def ECHO_getResourceMD(self,template="yes",back=None,overwrite="no"): |
"""Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource""" |
"""Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource""" |
(metadict, error)=readMetadata(self.metalink) |
(metadict, error)=readMetadata(self.metalink) |
|
|
Line 1308 class ECHO_resource(CatalogAware,Folder,
|
Line 1328 class ECHO_resource(CatalogAware,Folder,
|
if not error=="": #Fehler beim Auslesen des Metafiles |
if not error=="": #Fehler beim Auslesen des Metafiles |
return "ERROR:",error |
return "ERROR:",error |
|
|
if not self.contentType: |
if (not self.contentType) or (overwrite=="yes"): |
self.contentType=metadict['bib_type'].lower() |
self.contentType=metadict['bib_type'].lower() |
|
|
if not (metadict['bib_type'].lower()==self.contentType.lower()): |
if not (metadict['bib_type'].lower()==self.contentType.lower()): |
Line 1435 class ECHO_externalLink(Folder,ECHO_basi
|
Line 1455 class ECHO_externalLink(Folder,ECHO_basi
|
security.declarePublic('content_html') |
security.declarePublic('content_html') |
def content_html(self): |
def content_html(self): |
"""template fuer content""" |
"""template fuer content""" |
return ECHO_basis.content_html(self,'externalLink') |
ret= ECHO_basis.content_html(self,'externalLink') |
|
|
|
|
|
try: |
|
return ret.encode('utf-8') |
|
|
|
except: |
|
try: |
|
return ret.decode('latin-1') |
|
except: |
|
|
|
return ret |
|
|
def __init__(self,id,link,title,label,description,contentType,responsible,credits,weight,coords): |
def __init__(self,id,link,title,label,description,contentType,responsible,credits,weight,coords): |
|
|
Line 1508 class ECHO_link(ECHO_externalLink):
|
Line 1539 class ECHO_link(ECHO_externalLink):
|
"""external_link""" |
"""external_link""" |
|
|
meta_type="ECHO_link" |
meta_type="ECHO_link" |
|
|
manage_options = ECHO_externalLink.manage_options+( |
manage_options = ECHO_externalLink.manage_options+( |
{'label':'add links config','action':'ECHO_link_addLinksForm'}, |
{'label':'add links config','action':'ECHO_link_addLinksForm'}, |
) |
) |
Line 1527 class ECHO_link(ECHO_externalLink):
|
Line 1559 class ECHO_link(ECHO_externalLink):
|
def content_html(self): |
def content_html(self): |
"""template fuer link""" |
"""template fuer link""" |
|
|
|
|
if hasattr(self,"link_template"): |
if hasattr(self,"link_template"): |
ret=ECHO_basis.content_html(self,'link') |
ret=ECHO_basis.content_html(self,'link') |
|
|
else: |
else: |
ret=ECHO_basis.content_html(self,'collection') |
ret=ECHO_basis.content_html(self,'collection') |
|
|
try: |
|
return ret.decode('utf-8') |
#return ret |
except: |
|
return ret |
return ret |
|
# |
|
# |
|
# try: |
|
# return ret.decode('utf-8') |
|
# except: |
|
# try: |
|
# return ret.decode('latin-1') |
|
# except: |
|
# |
|
# return ret |
|
# |
|
|
|
|
def index_html(self): |
def index_html(self): |
"""standard link""" |
"""standard link""" |
Line 1788 class ECHO_collection(Folder, Persistent
|
Line 1833 class ECHO_collection(Folder, Persistent
|
pass |
pass |
return ret |
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""" |
"""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="" |
ret="" |
for fileName in files: |
for fileName in files: |
|
|
if fileName: |
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" |
link="http://echo.mpiwg-berlin.mpg.de/zogilib_book?fn="+tempPath+"/"+fileName+"/pageimg" |
|
|
metalink=self.path+"/"+fileName+"/index.meta" |
metalink=self.path+"/"+fileName+"/index.meta" |
Line 1819 class ECHO_collection(Folder, Persistent
|
Line 1869 class ECHO_collection(Folder, Persistent
|
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
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): |
def changeViewerTemplateSetsForm(self): |
"""change the viewer template set""" |
"""change the viewer template set""" |
pt=zptFile(self, 'zpt/changeViewerTemplateSet') |
pt=zptFile(self, 'zpt/changeViewerTemplateSet') |
Line 1923 class ECHO_collection(Folder, Persistent
|
Line 1959 class ECHO_collection(Folder, Persistent
|
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
def copySearchFields(self,RESPONSE=None): |
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) |
resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1) |
|
|
for resource in resources: |
for resource in resources: |
Line 2153 class ECHO_collection(Folder, Persistent
|
Line 2189 class ECHO_collection(Folder, Persistent
|
{'label':'Set Startpage','action':'setStartpageFolderForm'}, |
{'label':'Set Startpage','action':'setStartpageFolderForm'}, |
{'label':'Change Viewer Templates and Image Viewer','action':'changeViewerTemplateSetsForm'}, |
{'label':'Change Viewer Templates and Image Viewer','action':'changeViewerTemplateSetsForm'}, |
{'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, |
{'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, |
{'label':'ImportCollection','action':'updateCollection'}, |
{'label':'ImportCollection','action':'importCollection'}, |
{'label':'Copy MD for indexing and search','action':'copySearchFields'}, |
{'label':'Copy MD for indexing and search','action':'copySearchFields'}, |
) |
) |
|
|
Line 2618 class ECHO_root(Folder,Persistent,Implic
|
Line 2654 class ECHO_root(Folder,Persistent,Implic
|
meta_type="ECHO_root" |
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): |
def findObjectFromFulltext(self,existUri): |
''' |
''' |
|
|