Skip to content

*: keep using func_code and not yet __code__ with scripts

Jérome Perrin requested to merge fix/revert__code__to_func_code into master

On Zope2, python scripts do not have __code__, they only have func_code (and same for __defauls__/func_defaults). We tried to backport the support of __code__ from Zope4 as a Zope2 patch - it was SlapOS patch https://lab.nexedi.com/nexedi/slapos/commit/4fa33dfc6 - but this patch was incomplete. We tried to backport more, but then realized that we don't need to use __code__ on ERP5 master yet, because ERP5 master branch is still supporting Zope2 only.

This patch revert a small part of a17bb910 (py2/py3: Make Products code compatible with both python2 and python3., 2022-04-13), the part where we use f.__code__ where f might be a python script. For now, we'll apply this patch only on the Zope4 branch.

A few places where f.__code__ was used and f was a for sure not a python script but a simple class method or function are kept here, as __code__ support is missing only on in ZODB scripts.

Edited by Jérome Perrin

Merge request reports