I have been trying to get hold of a script that can automatically convert various dtml methods to custom zclass instances. I found a script on the zope mailing list (see bottom) I put my file (see below) in the Extensions directory and added an external method from within zope. This all appeared to go fine. To execute the script, I made a method that simply had <dtml-call conscript()> and then standard_h_h etc. The problem is, nothing seems to happen. I can view the method that was supposed to run the script, but the call doesn't seem to work. Within the filesystem, there is no file called tempo (as a kind of log of what's been done), and the methods with extension .shtml certainly do not get changed to dtml documents. Has anyone done this before? Can you shed any light on what I'm doing wrong? Much obliged. tim Script from [EMAIL PROTECTED] ------- import re def convert_dtml(self): """Convert DTML Methods and DTML Documents from old syntax to new syntax. Warning: recursive! This assumes that DTML Method and DTML Document haven't been subclassed. """ print 'convert_dtml: id=%s' % self.title_and_id() if hasattr(self, 'meta_type') and \ (self.meta_type == 'DTML Method' or \ self.meta_type == 'DTML Document'): convert(self) # should this be "isPrincipiaFolderish"? if hasattr(self, 'isAnObjectManager') and self.isAnObjectManager: for v in self.objectValues(): v.convert_dtml() _convert_regex = re.compile('''<!--#(/?)(([^"-]+?|"[^"]*?"|'[^']*?'|-[^-])+?)-->''') def convert(dtml_item): print 'converting...' title = dtml_item.title # like document_src, but doesn't require RESPONSE data = dtml_item.PrincipiaSearchSource() print '----data----' print data newdata = _convert_regex.sub('<\g<1>dtml-\g<2>>', data) print '----newdata----' print newdata print '----end----' dtml_item.manage_edit(newdata, title) ------ And here is how I adjusted it for my purposes: ------ import re get_shtml = re.compile('\w+\.shtml') f = open("tempo", "w+") def convert_dtml(self): """Convert DTML Methods and DTML Documents from old syntax to new syntax. Warning: recursive! This assumes that DTML Method and DTML Document haven't been subclassed. """ if hasattr(self, 'meta_type') and \ get_shtml.match(self.id): convert(self) # should this be "isPrincipiaFolderish"? if hasattr(self, 'isAnObjectManager') and self.isAnObjectManager: for v in self.objectValues(): v.convert_dtml() def convert(dtml_item): id = dtml_item.id+'2' title = dtml_item.title # like document_src, but doesn't require RESPONSE f.write(id /n) data = dtml_item.PrincipiaSearchSource() PARENTS[0].manage_addDTMLDocument(id, title) id.manage_edit(data, title) _______________________________________________ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )