--- ECHO_content/ECHO_collection.py 2004/10/05 07:31:09 1.173 +++ ECHO_content/ECHO_collection.py 2004/10/14 09:48:50 1.178 @@ -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 @@ -589,7 +590,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 @@ -3023,7 +3024,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) @@ -3536,14 +3548,17 @@ class ECHO_root(Folder,Persistent,Implic links=Ft.Xml.XPath.Evaluate(".//link", contextNode=dom) for link in links: #link.tagName="a" - + ref=link.getAttributeNS(EMPTY_NAMESPACE,"ref") pn=link.getAttributeNS(EMPTY_NAMESPACE,"page") - cns=link.childNodes + + cns=link.childNodes[0:] newLink=dom.createElementNS(EMPTY_NAMESPACE,"a") - for cn in cns: - newLink.appendChild(cn) + for x in cns: + newLink.appendChild(x) + + link.parentNode.replaceChild(newLink,link) if self.checkRef(ref): @@ -3561,17 +3576,27 @@ class ECHO_root(Folder,Persistent,Implic #print link.toxml('utf-8') #print type(str) retStr=regexpPage.search(str) - - return retStr.group(1) + try: # hack warum fehtl manchmal page?? + return retStr.group(1) + except: + return str return "" def checkRef(self,ref): - dbs={'vl_literature':'AND CD LIKE \'%lise%\'','vl_technology':'','vl_people':'','vl_sites':''} - res=None - for db in dbs.keys(): - - res=res or self.search(var=str("select reference from %s where reference =\'%s\' %s"%(db,ref,dbs[db]))) - return res + 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 + for db in dbs.keys(): + res=res or self.search(var=str("select reference from %s where reference =\'%s\' %s"%(db,ref,dbs[db]))) + return res #Ende Methode fuer vlp