[Zope-dev] Re: On with the show....
Casey Duncan
casey at zope.com
Mon Dec 15 11:51:43 EST 2003
On Mon, 15 Dec 2003 10:02:58 -0600
Evan Simpson <evan at 4-am.com> wrote:
> Sidnei da Silva wrote:
> > If you look at FSPageTemplate, its obvious that it doesn't subclass
> > ZopePageTemplate, but the solution is not so obvious. Using:
> >
> > pt_getContext = ZopePageTemplate.pt_getContext.im_func
>
> Wow, FSPageTemplate is lousy with this sort of thing, isn't it? I'd
> have spelled it ZopePageTemplate.__dict__['pt_getContext'], but your
> code works out to the same thing. I don't endorse this sort of
> cross-tree method copying, but if we're going to do it on this scale, at
> least we can make it tidier. Before the Globals.InitializeClass:
>
> zpd = ZopePageTemplate.__dict__
> for m in ('func_code', '_default_bindings', 'manage_FTPget',
> 'get_size', 'PrincipiaSearchSource', 'document_src',
> 'pt_getContext', 'ZScriptHTML_tryParams'):
> setattr(FSPageTemplate, m, zpd[m])
>
> > A similar error also happened with FSImage.__str__ (which is assigned
> > Image.__str__, but FSImage just subclasses FSObject).
> >
> > Any thought on those?
>
> Yep -- it seems very silly to copy a one-line method like that.
Smells like a broken class hierarchy to me. I really think we need to consider refactoring the code so this sort of sillyness isn't necessary.
-Casey
More information about the Zope-Dev
mailing list