Steve Alexander wrote:
> An external method for automated change from old syntax to new syntax
> follows.
>  * Use at your own risk
>  * No warranty implied or given
>  * Use on a copy of your main Zope site
>  * Back up data.fs three times before starting
>  * Not guarenteed not to spin your processor and never terminate
>  * Run on a copy of Zope in debug mode (-D) to see the print statements
>  * Barely tested, if at all
> _convert_regex = re.compile('<!--#(/?)(([^"-]+?|"[^"]*?"|-[^-])+?)-->')

Actually, I missed something in the original regex, above. (Funny how I
noticed just after I pressed the 'send' button!)

It should read like this:

_convert_regex =

The whole thing again -- same disclaimers apply, only more so :-)


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
    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'):
    # should this be "isPrincipiaFolderish"?        
    if hasattr(self, 'isAnObjectManager') and self.isAnObjectManager:
        for v in self.objectValues():
_convert_regex =

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)


Steve Alexander
Software Engineer
Cat-Box limited

Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to