[Zope] How to override DTMLFile?

Peter Bengtsson mail@peterbe.com
Fri, 23 May 2003 13:31:15 +0100


>
>You can have a look at our SkinMI product in
>http://sourceforge.net/projects/ingeniweb which overrides DTMLFile - but
>maybe not in the way you want to do.
>
>Anyway, it may give you some clues...

Thank you, but that's Hotfixing DTMLFile and is not what I want.
But if I can't get my ideal way working I'll look into hotfixing it to see 
how it goes.

Peter



>Regards,
>
>
>P.-J. Grizel
>--
>Ingeniweb
>www.ingeniweb.com
>
>
> > I want to override DTMLFile from Globals in my own special product. I
> > managed to do this::
> >
> > class PeterDTMLFile(DTMLFile):
> >      def foo(self):
> >          return "works"
> >
> >
> > Then from somewhere else I do::
> >
> > manage_edit = PeterDTMLFile('dtml/manage_edit', globals())
> >
> > This works but doing <dtml-var foo> raises a KeyError.
> >
> > I've looked at Localizer and how they override DTMLFile's __init__ and
> > _exec method.
> > But if I try to do::
> >
> > # pointless inheritance hack but for testing
> > class PeterDTMLFile(DTMLFile):
> >      def __init__(self, name, _prefix=None, **kw):
> >          apply(DTMLFile.inheritedAttribute('__init__'),
> >                (self, name, _prefix), kw)
> >
> > Which in effect is pretty pointless, I get the following error when
> > trying  my manage_edit::
> >
> >
> > Traceback (innermost last):
> >    Module ZPublisher.Publish, line 98, in publish
> >    Module ZPublisher.mapply, line 62, in mapply
> > AttributeError: 'None' object has no attribute 'co_varnames'
> >
> >
> > So, can anybody tell me how to override the DTMLFile class (and possible
> >  also the PageTemplateFile)
> >
> > Grateful,
> > Peter
> >
> >
> > _______________________________________________
> > Zope maillist  -  Zope@zope.org
> > http://mail.zope.org/mailman/listinfo/zope
> > **   No cross posts or HTML encoding!  **
> > (Related lists -
> >  http://mail.zope.org/mailman/listinfo/zope-announce
> >  http://mail.zope.org/mailman/listinfo/zope-dev )
>
>
>
>
>_______________________________________________
>Zope maillist  -  Zope@zope.org
>http://mail.zope.org/mailman/listinfo/zope
>**   No cross posts or HTML encoding!  **
>(Related lists -
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope-dev )