Commit 4f19e010 authored by Jérome Perrin's avatar Jérome Perrin

patches/ExternalMethod update patch for Zope4

In the changes from ExternalMethod 2.13.1 -> 4.5, now ExternalMethod
define __code__ (and __defaults__) to a computed attribute calling
getFunction, but getFunction is different in our patched class, so
when unwrapMethod tries to get __code__, it will raise and mapply
will not consider the external method as being callable, so a simple
__repr__ of the ExternalMethod will be used as response body when
published.

By defining __code__ to something using our patched logic, this
problem does not happen.
parent b91dd8df
...@@ -69,6 +69,7 @@ class _(PatchClass(ExternalMethod)): ...@@ -69,6 +69,7 @@ class _(PatchClass(ExternalMethod)):
last_read = None last_read = None
path = getPath('Extensions', self._module, path = getPath('Extensions', self._module,
suffixes=('', 'py', 'pyc')) suffixes=('', 'py', 'pyc'))
if path:
ts = os.stat(path)[stat.ST_MTIME] ts = os.stat(path)[stat.ST_MTIME]
if last_read != ts: if last_read != ts:
self._v_fs = ts, path self._v_fs = ts, path
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment