Skip to content
Snippets Groups Projects

Remove dependency on 'decorator'

Compare and
2 files
+ 9
9
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -24,10 +24,10 @@
#
from collections import defaultdict
import functools
from inspect import getcallargs
from typing import Any, Callable, DefaultDict, List, NoReturn, Optional, Type
from decorator import decorator
from requests import Response
@@ -143,14 +143,15 @@ class Negotiator:
def negotiate(
negotiator_cls: Type[Negotiator], formatter_cls: Type[Formatter], *args, **kwargs
) -> Callable:
def _negotiate(f, *args, **kwargs):
return f.negotiator(*args, **kwargs)
def decorate(f):
def decorator(f):
if not hasattr(f, "negotiator"):
f.negotiator = negotiator_cls(f)
f.negotiator.register_formatter(formatter_cls, *args, **kwargs)
return decorator(_negotiate, f)
return decorate
@functools.wraps(f)
def newf(*args, **kwargs):
return f.negotiator(*args, **kwargs)
return newf
return decorator
Loading