[Zope] Zope 2.8.0 monkey patch issue
Tino Wildenhain
tino at wildenhain.de
Mon Jun 13 06:53:18 EDT 2005
Am Montag, den 13.06.2005, 12:26 +0200 schrieb Bernd Dorn:
> Pascal Peregrina wrote:
> > Hi,
> >
> > I am trying to migrate from Zope 2.7.6 to 2.8.0
> >
> > In some product I did, I need to monkey patch some OFS and CMF classes (I do
> > this in product init).
> >
> > I get this error whenever I try to do
> > <someclass>.__dict__[<someclassattributename>]=<newvalue> :
> > TypeError: object does not support item assignment
>
> 'got the same problem
>
> use:
> setattr(<someclass>,<someclassattributename>,<newvalue>)
>
> must be something about the new implementation of extensionclass
Yes, something... I wonder whats the difference - since I do it
similar (setattr) in my history monkey patch. However in 2.8:
Traceback (innermost last):
Module ZPublisher.Publish, line 113, in publish
111 | missing_name,
112 | dont_publish_class,
113>| request, bind=1)
114 |
115 | if result is not response:
Module ZPublisher.mapply, line 88, in mapply
086 |
087 | args=tuple(args)
088>| if debug is not None: return debug(object,args,context)
089 | else: return object(*args)
Module ZPublisher.Publish, line 40, in call_object
038 |
039 |def call_object(object, args, request):
040>| result=apply(object,args) # Type s<cr> to step into published object.
041 | return result
042 |
Module Shared.DC.Scripts.Bindings, line 311, in __call__
309 | def __call__(self, *args, **kw):
310 | '''Calls the script.'''
311>| return self._bindAndExec(args, kw, None)
312 |
313 | def __render_with_namespace__(self, namespace):
Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
346 | exec bindcode
347 | bound_data = bound_data[0]
348>| return self._exec(bound_data, args, kw)
349 | finally:
350 | security.removeContext(self)
Module App.special_dtml, line 175, in _exec
173 | value = self.ZDocumentTemplate_beforeRender(ns, _marker)
174 | if value is _marker:
175>| try: result = render_blocks(self._v_blocks, ns)
176 | except DTReturn, v: result = v.v
177 | except AttributeError:
TypeError: unbound method manage_change_history() must be called with Historical instance as first argument (got nothing instead)
The patch is available here:
http://www.zope.org/Members/tino/PatchHistory/view
if someone likes to try.
More information about the Zope
mailing list