version 1.182, 2004/10/27 14:23:24
|
version 1.187, 2004/10/28 13:38:40
|
Line 29 from Products.PageTemplates.PageTemplate
|
Line 29 from Products.PageTemplates.PageTemplate
|
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate |
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate |
from Globals import Persistent, package_home |
from Globals import Persistent, package_home |
from Acquisition import Implicit |
from Acquisition import Implicit |
from ECHO_helpers import displayTypes, getText,readFieldFromXML |
from ECHO_helpers import * |
import urllib |
import urllib |
import smtplib |
import smtplib |
import time |
import time |
Line 263 def content_html(self,type):
|
Line 263 def content_html(self,type):
|
pt.content_type="text/html" |
pt.content_type="text/html" |
return pt() |
return pt() |
|
|
def toList(field): |
|
"""Einzelfeld in Liste umwandeln""" |
|
if type(field)==StringType: |
|
return [field] |
|
else: |
|
return field |
|
|
|
|
|
|
|
Line 1011 class ECHO_resource(Folder,Persistent):
|
Line 1005 class ECHO_resource(Folder,Persistent):
|
def createImageUrl(self,pn=1): |
def createImageUrl(self,pn=1): |
"""create ImageUrl""" |
"""create ImageUrl""" |
|
|
resourcepath=readFieldFromXML(self.metalink,'resource','archive-path').replace('/mpiwg/online','') |
|
|
resourcepath=readFieldFromXML(self.metalink,'resource','archive-path') |
|
|
digiliburlprefix=readFieldFromXML(self.metalink,'texttool','digiliburlprefix') |
digiliburlprefix=readFieldFromXML(self.metalink,'texttool','digiliburlprefix') |
images=readFieldFromXML(self.metalink,'texttool','image') |
images=readFieldFromXML(self.metalink,'texttool','image') |
|
|
|
|
|
if (not resourcepath) or (not digiliburlprefix) or (not images): |
|
zLOG.LOG("ECHO (createImageUrl)",zLOG.ERROR,"Cannot create ImageUrl for %s"%self.absolute_url()) |
|
return None |
|
resourcepath=resourcepath.replace('/mpiwg/online','') |
if not digiliburlprefix: digiliburlprefix="http://echo.mpiwg-berlin.mpg.de/zogilib?" |
if not digiliburlprefix: digiliburlprefix="http://echo.mpiwg-berlin.mpg.de/zogilib?" |
|
|
if (not images) or (not resourcepath): return None |
if (not images) or (not resourcepath): return None |
|
|
return "%sfn=%s&pn=%i"%(digiliburlprefix,resourcepath+"/"+images,pn) |
return "%sfn=%s&pn=%i"%(digiliburlprefix,resourcepath+"/"+images,pn) |
|
|
def copyTitleToInfoXML(self): |
def copyTitleToInfoXML(self,RESPONSE=None): |
"""copy title from the resource""" |
"""copy title from the resource""" |
presentationXML=readFieldFromXML(self.metalink,'texttool','presentation') |
presentationXML=readFieldFromXML(self.metalink,'texttool','presentation') |
resourcepath=readFieldFromXML(self.metalink,'resource','archive-path') |
resourcepath=readFieldFromXML(self.metalink,'resource','archive-path') |
print os.path.join(resourcepath,presentationXML) |
if (not presentationXML) or (not resourcepath): |
|
if RESPONSE: |
|
RESPONSE.write("Error: %s\n"%self.getId()) |
|
else: |
|
return None,self.absolute_url() |
|
|
|
try: |
fh=file(os.path.join(resourcepath,presentationXML),'w') |
fh=file(os.path.join(resourcepath,presentationXML),'w') |
fh.write("""<info> |
fh.write("""<info> |
<author></author> |
<author></author> |
Line 1035 class ECHO_resource(Folder,Persistent):
|
Line 1041 class ECHO_resource(Folder,Persistent):
|
<display>yes</display> |
<display>yes</display> |
</info>"""%self.title) |
</info>"""%self.title) |
fh.close() |
fh.close() |
|
return 1,self.getId() |
|
except: |
|
if RESPONSE: |
|
RESPONSE.write("Error: %s\n"%self.getId()) |
|
else: |
|
return None,self.absolute_url() |
|
|
|
|
def setStartPage(self,startpage=None,RESPONSE=None): |
def setStartPage(self,startpage=None,RESPONSE=None): |
Line 1177 class ECHO_resource(Folder,Persistent):
|
Line 1189 class ECHO_resource(Folder,Persistent):
|
"""getFullTextXML; gives the FullText as an XML Document, and <error></error> if somthing goes wrong.""" |
"""getFullTextXML; gives the FullText as an XML Document, and <error></error> if somthing goes wrong.""" |
|
|
try: |
try: |
zLOG.LOG("ECHO Fulltext",zLOG.INFO,"open %s"%self.metalink) |
#zLOG.LOG("ECHO Fulltext",zLOG.INFO,"open %s"%self.metalink) |
fh=ECHO_helpers.urlopen(self.metalink) |
fh=ECHO_helpers.urlopen(self.metalink) |
zLOG.LOG("ECHO Fulltext",zLOG.INFO,"opened %s"%self.metalink) |
#zLOG.LOG("ECHO Fulltext",zLOG.INFO,"opened %s"%self.metalink) |
dom=xml.dom.minidom.parse(fh) |
dom=xml.dom.minidom.parse(fh) |
texttools=dom.getElementsByTagName('texttool') |
texttools=dom.getElementsByTagName('texttool') |
text=texttools[0].getElementsByTagName('text') |
text=texttools[0].getElementsByTagName('text') |
texturl=getText(text[0].childNodes) |
texturl=getText(text[0].childNodes) |
|
|
zLOG.LOG("ECHO Fulltext",zLOG.INFO,"found %s"%texturl) |
#zLOG.LOG("ECHO Fulltext",zLOG.INFO,"found %s"%texturl) |
fh.close() |
fh.close() |
zLOG.LOG("ECHO Fulltext",zLOG.INFO,"closed fh") |
#zLOG.LOG("ECHO Fulltext",zLOG.INFO,"closed fh") |
#keine url |
#keine url |
if not (texturl.split(":")[0] in ['http','ftp','file']): |
if not (texturl.split(":")[0] in ['http','ftp','file']): |
if not noredirect: |
if not noredirect: |
Line 2213 class ECHO_collection(Folder, Persistent
|
Line 2225 class ECHO_collection(Folder, Persistent
|
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
def copyTitleToInfoXMLFolder(self): |
def copyTitleToInfoXMLFolder(self,RESPONSE=None): |
"""copy title into the title field of info.xml |
"""copy title into the title field of info.xml |
author and date werden leer!!! |
author and date werden leer!!! |
""" |
""" |
|
|
|
|
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: |
|
|
|
resource[1].copyTitleToInfoXML() |
for resource in resources: |
|
ret,txt=resource[1].copyTitleToInfoXML() |
|
if (not ret) and RESPONSE: |
|
RESPONSE.write("error: %s\n"%txt) |
|
if ret and RESPONSE: |
|
RESPONSE.write("ok: %s\n"%txt) |
|
|
|
#zLOG.LOG("ECHO (copyTitleToInfoXMLFolder)",zLOG.INFO,txt) |
if RESPONSE is not None: |
if RESPONSE is not None: |
|
RESPONSE.write("done!\n") |
|
RESPONSE.close() |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
def copySearchFields(self,RESPONSE=None): |
def copySearchFields(self,RESPONSE=None): |
Line 3083 class ECHO_root(Folder,Persistent,Implic
|
Line 3103 class ECHO_root(Folder,Persistent,Implic
|
#return "http://enlil.museum.upenn.edu/cgi-bin/cdlget.plx?item=%s&project=ncdl" |
#return "http://enlil.museum.upenn.edu/cgi-bin/cdlget.plx?item=%s&project=ncdl" |
###END CDLI add |
###END CDLI add |
|
|
|
|
|
def checkResource(self,id): |
|
"""checks if a resource is in the tree, gives back none or list of resources""" |
|
if hasattr(self,"_v_checkResource") and self._v_checkResource.has_key(id): #existiert ein cache und id ist bereits drin? |
|
return self._v_checkResource[id] |
|
|
|
else: |
|
resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],obj_ids=[id],search_sub=1) |
|
|
|
if not hasattr(self,"_v_checkResource"): self._v_checkResource={}#lege cache an falls nicht existent |
|
if resources: |
|
self._v_checkResource[id]=resources[0:] # slicing to be sure that data is stabil |
|
else: |
|
self._v_checkResource[id]=None |
|
|
|
return self._v_checkResource[id] |
|
|
def sendForm(self,fromaddr,content,server='mail.mpiwg-berlin.mpg.de'): |
def sendForm(self,fromaddr,content,server='mail.mpiwg-berlin.mpg.de'): |
"""sendform""" |
"""sendform""" |
toaddrs=["dwinter@mpiwg-berlin.mpg.de"] |
toaddrs=["dwinter@mpiwg-berlin.mpg.de"] |