[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