As an extra precaution you could explicitly disallow a refresh by setting __refresh_module__ = 0 in your monkey patch module. Stefan --On Freitag, 21. März 2003 12:47 -0500 Paul Winkler <pw_lists@slinkp.com> wrote:
Posting this on the off chance that it saves someone the week of hair-tearing that I've just experienced...
I sometimes find MonkeyPatches a convenient way to globally change behavior of zope or 3rd-party products. But I just discovered something very important:
it's apparently NOT safe to "refresh" a MonkeyPatch-style product.
I have a monkeypatch that works fine until I refresh it, then I get mysterious errors like "Object of type 'None' is not callable" with no indication in the traceback of what object is None or even what's trying to call it! In a debugging session, I explored everything near the end of the traceback and could not find any variables that are None. I know it's in there somewhere...
If I restart zope, everything works fine.
-- Those who write software only for pay should go hurt some other field. /Erik Naggum/