Loading django/utils/functional.py +0 −25 Original line number Diff line number Diff line Loading @@ -2,10 +2,8 @@ import copy import operator from functools import wraps import sys import warnings from django.utils import six from django.utils.deprecation import RemovedInDjango19Warning from django.utils.six.moves import copyreg Loading @@ -18,29 +16,6 @@ def curry(_curried_func, *args, **kwargs): return _curried def memoize(func, cache, num_args): """ Wrap a function so that results for any argument tuple are stored in 'cache'. Note that the args to the function must be usable as dictionary keys. Only the first num_args are considered when creating the key. """ warnings.warn("memoize wrapper is deprecated and will be removed in " "Django 1.9. Use django.utils.lru_cache instead.", RemovedInDjango19Warning, stacklevel=2) @wraps(func) def wrapper(*args): mem_args = args[:num_args] if mem_args in cache: return cache[mem_args] result = func(*args) cache[mem_args] = result return result return wrapper class cached_property(object): """ Decorator that converts a method with a single self argument into a Loading tests/decorators/tests.py +1 −7 Original line number Diff line number Diff line from functools import wraps, update_wrapper from unittest import TestCase import warnings from django.contrib.admin.views.decorators import staff_member_required from django.contrib.auth.decorators import login_required, permission_required, user_passes_test from django.http import HttpResponse, HttpRequest, HttpResponseNotAllowed from django.middleware.clickjacking import XFrameOptionsMiddleware from django.utils.decorators import method_decorator from django.utils.functional import allow_lazy, lazy, memoize from django.utils.functional import allow_lazy, lazy from django.views.decorators.cache import cache_page, never_cache, cache_control from django.views.decorators.clickjacking import xframe_options_deny, xframe_options_sameorigin, xframe_options_exempt from django.views.decorators.http import require_http_methods, require_GET, require_POST, require_safe, condition Loading Loading @@ -63,11 +62,6 @@ full_decorator = compose( lazy, ) # suppress the deprecation warning of memoize with warnings.catch_warnings(): warnings.filterwarnings('ignore') fully_decorated = memoize(fully_decorated, {}, 1) fully_decorated = full_decorator(fully_decorated) Loading tests/deprecation/tests.py +0 −15 Original line number Diff line number Diff line Loading @@ -9,7 +9,6 @@ from django.test.utils import reset_warning_registry from django.utils import six, translation from django.utils.deprecation import RenameMethodsBase from django.utils.encoding import force_text from django.utils.functional import memoize class RenameManagerMethods(RenameMethodsBase): Loading Loading @@ -214,20 +213,6 @@ class DeprecatedChineseLanguageCodes(SimpleTestCase): ]) class DeprecatingMemoizeTest(SimpleTestCase): def test_deprecated_memoize(self): """ Ensure the correct warning is raised when memoize is used. """ with warnings.catch_warnings(record=True) as recorded: warnings.simplefilter('always') memoize(lambda x: x, {}, 1) msg = str(recorded.pop().message) self.assertEqual(msg, 'memoize wrapper is deprecated and will be removed in Django ' '1.9. Use django.utils.lru_cache instead.') class DeprecatingSimpleTestCaseUrls(unittest.TestCase): def test_deprecation(self): Loading Loading
django/utils/functional.py +0 −25 Original line number Diff line number Diff line Loading @@ -2,10 +2,8 @@ import copy import operator from functools import wraps import sys import warnings from django.utils import six from django.utils.deprecation import RemovedInDjango19Warning from django.utils.six.moves import copyreg Loading @@ -18,29 +16,6 @@ def curry(_curried_func, *args, **kwargs): return _curried def memoize(func, cache, num_args): """ Wrap a function so that results for any argument tuple are stored in 'cache'. Note that the args to the function must be usable as dictionary keys. Only the first num_args are considered when creating the key. """ warnings.warn("memoize wrapper is deprecated and will be removed in " "Django 1.9. Use django.utils.lru_cache instead.", RemovedInDjango19Warning, stacklevel=2) @wraps(func) def wrapper(*args): mem_args = args[:num_args] if mem_args in cache: return cache[mem_args] result = func(*args) cache[mem_args] = result return result return wrapper class cached_property(object): """ Decorator that converts a method with a single self argument into a Loading
tests/decorators/tests.py +1 −7 Original line number Diff line number Diff line from functools import wraps, update_wrapper from unittest import TestCase import warnings from django.contrib.admin.views.decorators import staff_member_required from django.contrib.auth.decorators import login_required, permission_required, user_passes_test from django.http import HttpResponse, HttpRequest, HttpResponseNotAllowed from django.middleware.clickjacking import XFrameOptionsMiddleware from django.utils.decorators import method_decorator from django.utils.functional import allow_lazy, lazy, memoize from django.utils.functional import allow_lazy, lazy from django.views.decorators.cache import cache_page, never_cache, cache_control from django.views.decorators.clickjacking import xframe_options_deny, xframe_options_sameorigin, xframe_options_exempt from django.views.decorators.http import require_http_methods, require_GET, require_POST, require_safe, condition Loading Loading @@ -63,11 +62,6 @@ full_decorator = compose( lazy, ) # suppress the deprecation warning of memoize with warnings.catch_warnings(): warnings.filterwarnings('ignore') fully_decorated = memoize(fully_decorated, {}, 1) fully_decorated = full_decorator(fully_decorated) Loading
tests/deprecation/tests.py +0 −15 Original line number Diff line number Diff line Loading @@ -9,7 +9,6 @@ from django.test.utils import reset_warning_registry from django.utils import six, translation from django.utils.deprecation import RenameMethodsBase from django.utils.encoding import force_text from django.utils.functional import memoize class RenameManagerMethods(RenameMethodsBase): Loading Loading @@ -214,20 +213,6 @@ class DeprecatedChineseLanguageCodes(SimpleTestCase): ]) class DeprecatingMemoizeTest(SimpleTestCase): def test_deprecated_memoize(self): """ Ensure the correct warning is raised when memoize is used. """ with warnings.catch_warnings(record=True) as recorded: warnings.simplefilter('always') memoize(lambda x: x, {}, 1) msg = str(recorded.pop().message) self.assertEqual(msg, 'memoize wrapper is deprecated and will be removed in Django ' '1.9. Use django.utils.lru_cache instead.') class DeprecatingSimpleTestCaseUrls(unittest.TestCase): def test_deprecation(self): Loading