1
0
mirror of https://github.com/ansible/awx.git synced 2024-10-27 09:25:10 +03:00

get rid of decorator dependency

This commit is contained in:
AlanCoding 2018-10-30 11:54:36 -04:00
parent 92f0893764
commit d8d710a83d
No known key found for this signature in database
GPG Key ID: FD2C3C012A72926B
4 changed files with 29 additions and 31 deletions

View File

@ -154,13 +154,12 @@ def test_memoize_delete(memoized_function, mock_cache):
def test_memoize_parameter_error():
with pytest.raises(common.IllegalArgumentError):
@common.memoize(cache_key='foo', track_function=True)
def fn():
return
with pytest.raises(common.IllegalArgumentError):
fn()
def test_extract_ansible_vars():
my_dict = {

View File

@ -18,14 +18,11 @@ import contextlib
import tempfile
import six
import psutil
from functools import reduce
from functools import reduce, wraps
from StringIO import StringIO
from decimal import Decimal
# Decorator
from decorator import decorator
# Django
from django.core.exceptions import ObjectDoesNotExist
from django.db import DatabaseError
@ -136,12 +133,13 @@ def memoize(ttl=60, cache_key=None, track_function=False):
'''
Decorator to wrap a function and cache its result.
'''
cache = get_memoize_cache()
def _memoizer(f, *args, **kwargs):
if cache_key and track_function:
raise IllegalArgumentError("Can not specify cache_key when track_function is True")
cache = get_memoize_cache()
def memoize_decorator(f):
@wraps(f)
def _memoizer(*args, **kwargs):
if track_function:
cache_dict_key = slugify('%r %r' % (args, kwargs))
key = slugify("%s" % f.__name__)
@ -160,7 +158,10 @@ def memoize(ttl=60, cache_key=None, track_function=False):
cache.set(key, value, ttl)
return value
return decorator(_memoizer)
return _memoizer
return memoize_decorator
def memoize_delete(function_name):

View File

@ -5,7 +5,6 @@ boto==2.47.0
channels==1.1.8
celery==4.2.1
daphne==1.3.0 # Last before backwards-incompatible channels 2 upgrade
decorator==4.2.1
Django==1.11.16
django-auth-ldap==1.2.8
django-crum==0.7.2

View File

@ -23,7 +23,6 @@ channels==1.1.8
constantly==15.1.0 # via twisted
cryptography==2.3.1 # via requests
daphne==1.3.0
decorator==4.2.1
defusedxml==0.4.1 # via python-saml
django-auth-ldap==1.2.8
django-crum==0.7.2