--- ECHO_content/ECHO_collection.py 2004/10/05 14:58:56 1.175 +++ ECHO_content/ECHO_collection.py 2004/10/19 19:20:19 1.181 @@ -31,6 +31,7 @@ from Globals import Persistent, package_ from Acquisition import Implicit from ECHO_helpers import displayTypes import urllib +import smtplib import time from Ft.Xml.Domlette import NonvalidatingReader from Ft.Xml.Domlette import PrettyPrint @@ -38,6 +39,7 @@ from Ft.Xml import EMPTY_NAMESPACE import Ft.Xml.XPath import cStringIO +import zLOG try: from psycopg import libpq @@ -589,7 +591,7 @@ class ECHO_layoutTemplate(ZopePageTempla def manage_addECHO_layoutTemplateForm(self): """Form for adding""" - pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_layoutTemplate.zpt').__of__(self) + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddECHO_layoutTemplate.zpt')).__of__(self) return pt() from urllib import quote @@ -1141,17 +1143,29 @@ class ECHO_resource(Folder,Persistent): def getFullTextXML(self,noredirect=None): """getFullTextXML; gives the FullText as an XML Document, and if somthing goes wrong.""" + try: + zLOG.LOG("ECHO Fulltext",zLOG.INFO,"open %s"%self.metalink) fh=ECHO_helpers.urlopen(self.metalink) + zLOG.LOG("ECHO Fulltext",zLOG.INFO,"opened %s"%self.metalink) dom=xml.dom.minidom.parse(fh) texttools=dom.getElementsByTagName('texttool') text=texttools[0].getElementsByTagName('text') texturl=getText(text[0].childNodes) + + zLOG.LOG("ECHO Fulltext",zLOG.INFO,"found %s"%texturl) + fh.close() + zLOG.LOG("ECHO Fulltext",zLOG.INFO,"closed fh") + #keine url if not (texturl.split(":")[0] in ['http','ftp','file']): - texturl=re.sub("//","/",texturl) - #return texturl+"::"+texturl.split(":")[0] + if not noredirect: + return file(texturl).read() + else: + return texturl + if not noredirect: self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') + zLOG.LOG("ECHO Fulltext",zLOG.INFO,"redirect to:%s"%texturl) self.REQUEST.RESPONSE.redirect(texturl) else: return texturl @@ -1177,6 +1191,8 @@ class ECHO_resource(Folder,Persistent): archivepath=getText(text[0].childNodes) archivepath=re.sub('/mpiwg/online/','',archivepath) imageurl="http://echo.mpiwg-berlin.mpg.de/zogilib?fn="+archivepath+"/"+imagetemp + fh.close() + if not noredirect: self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') self.REQUEST.RESPONSE.redirect(imageurl) @@ -3023,7 +3039,18 @@ class ECHO_root(Folder,Persistent,Implic #return "http://enlil.museum.upenn.edu/cgi-bin/cdlget.plx?item=%s&project=ncdl" ###END CDLI add - + def sendForm(self,fromaddr,content,server='mail.mpiwg-berlin.mpg.de'): + """sendform""" + toaddrs=["dwinter@mpiwg-berlin.mpg.de"] + + msg = ("From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n" + % (fromaddr, ", ".join(toaddrs),"testsub")) + server = smtplib.SMTP(server) + #server.set_debuglevel(1) + msg=msg+content + server.sendmail(fromaddr, toaddrs, msg) + server.quit() + def generateFromRDFForm(self): """change form""" pt=PageTemplateFile('Products/ECHO_content/zpt/generateFromRDFForm').__of__(self) @@ -3574,6 +3601,11 @@ class ECHO_root(Folder,Persistent,Implic if ref[0:3]=='lit': if len(self.library_data({ 'id':ref}))>0: return 1 + try: + if ref[0:7]=="tec_cat": + return 1 + except: + """nothing""" dbs={'vl_technology':'','vl_people':'','vl_sites':''} res=None