At 07:11 AM 8/7/99 +0100, Tony.McDonald@newcastle.ac.uk wrote:
I got the same error when doing something similar. I don't think you can say 'in "function"' Store the function to a variable first and then
say 'in
variable'. Donner
Cheers for the thoughts Donald, I did this: import DocumentTemplate from Acquisition import Implicit
def doit(self): template_str = str(self.modulecontributor) template_str2 = '''<table> <tr><td bgcolor=silver colspan=2>This data is being dynamically generated from a database</td></tr>
<dtml-let result="info_from_email(email=content)"> <dtml-in result> <tr><td><dtml-var Title> <dtml-var Surname></td></tr> </dtml-in> </dtml-let> </table>'''
template = DocumentTemplate.HTML(template_str2 ) return template(content='hirst')
Try: return template(self,content='hirst') Right now, your DocumentTemplate has nowhere to get info_from_email *from*. Also, btw, <!--#in "function()"--> is perfectly valid, I do it all the time. However, in a case where an ExternalMethod needs a 'self', you may have to call it as: <!--#in "function(name_of_folder_to_be_used_as_self)"--> This was true in older versions of Zope, anyway, I don't know what the current state of things is.