HomeSoftware Heritage

Remove dependency on 'decorator'

Description

Remove dependency on 'decorator'

I don't understand what this library does or why we needed it.
This commit replaces it with the good old functools.wraps(),
which fixes this crash that started occuring with
decorator 5.0.5:

ERROR    testapp:app.py:1892 Exception on /foo [POST]
Traceback (most recent call last):
  File "/home/dev/.local/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/dev/.local/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/dev/.local/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/dev/.local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/home/dev/.local/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/dev/.local/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/dev/.local/lib/python3.7/site-packages/decorator.py", line 231, in fun
    args, kw = fix(args, kw, sig)
  File "/home/dev/.local/lib/python3.7/site-packages/decorator.py", line 203, in fix
    ba = sig.bind(*args, **kwargs)
  File "/usr/lib/python3.7/inspect.py", line 3015, in bind
    return args[0]._bind(args[1:], kwargs)
  File "/usr/lib/python3.7/inspect.py", line 2930, in _bind
    raise TypeError(msg) from None
TypeError: missing a required argument: 'self'

https://github.com/micheles/decorator/issues/109

Details

Provenance
vlorentzAuthored on Apr 6 2021, 12:00 PM
vlorentzPushed on Apr 6 2021, 12:34 PM
Differential Revision
D5421: Remove dependency on 'decorator'
Parents
rDCOREa6d8ccbd6186: Improve/fix documentation of requests_mock_datadir
Branches
Unknown
Tags
Unknown
References
tag: v0.12.1
Tasks
T3207: RPC server broken since python-decorator v5.0.5
Build Status
Buildable 20435
Build 31718: test-and-buildJenkins console · Jenkins