summaryrefslogtreecommitdiff
path: root/django/utils/functional.py
AgeCommit message (Collapse)Author
2022-03-03Optimized lazy wrappers a bit.Collin Anderson
This avoids an extra __getattribute__() call for self._wrapped.
2022-02-17Refs #28358 -- Fixed infinite recursion in LazyObject.__getattribute__().Matthias Kestenholz
Regression in 97d7990abde3fe4b525ae83958fd0b52d6a1d13f. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> Co-authored-by: Theo Alexiou <theofilosalexiou@gmail.com>
2022-02-16Fixed #28358 -- Prevented LazyObject from mimicking nonexistent attributes.Theo Alexiou
Thanks Sergey Fedoseev for the initial patch.
2022-02-10Fixed #26287 -- Added support for addition operations to SimpleLazyObject.Theo Alexiou
2022-02-07Refs #33476 -- Reformatted code with Black.django-bot
2021-12-16Fixed #30127 -- Deprecated name argument of cached_property().mgaligniana
2021-03-15Refs #32508 -- Raised ValueError instead of using "assert" in lazy().Hasan Ramezani
2020-12-21Fixed #32208 -- Allowed adding lazy() objects.Hasan Ramezani
Co-authored-by: Claude Paroz <claude@2xlibre.net>
2020-03-31Fixed #30864 -- Doc'd classproperty decorator.Deep Sukhwani
2019-10-21Fixed #30876 -- Moved classproperty() decorator to the django.utils.functional.André Ericson
2019-05-22Fixed #30498 -- Fixed proxy class caching in lazy().Ran Benita
lazy() should prepare the proxy class only once (the first time it's used) not on every call. Regression in b4e76f30d12bfa8a53cc297c60055c6f4629cc4c.
2019-02-05Refs #27753 -- Removed django.utils.functional.curry().Tim Graham
2019-01-30Fixed #30116 -- Dropped support for Python 3.5.Tim Graham
2018-11-19Fixed #29478 -- Added support for mangled names to cached_property.Thomas Grainger
Co-Authored-By: Sergey Fedoseev <fedoseev.sergey@gmail.com>
2018-09-19Fixed #29772 -- Made LazyObject proxy __lt__() and __gt__().Javier Buzzi
2017-12-26Fixed #28930 -- Simplified code with any() and all().Дилян Палаузов
2017-12-21Refs #28909 -- Simplifed code using unpacking generalizations.Nick Pope
2017-12-11Fixed #28909 -- Simplified code using tuple/list/set/dict unpacking.Nick Pope
2017-10-13Improved performance of utils.html.escape().Tom
2017-07-12Refs #23919 -- Removed LazyObject.__getstate__() needed only on Python 2.Sergey Fedoseev
2017-05-27Fixed #28249 -- Removed unnecessary dict.keys() calls.Jon Dufresne
iter(dict) is equivalent to iter(dict.keys()).
2017-05-15Corrected cached_property.__get__() docstring.Simon Charette
2017-05-15Added a docstring to cached_property.__get__().Adam Alton
2017-03-04Refs #27795 -- Removed unneeded force_text callsClaude Paroz
Thanks Tim Graham for the review.
2017-02-11Refs #27656 -- Updated django.utils docstring verbs according to PEP 257.Anton Samarchyan
2017-02-09Refs #23919 -- Removed default 'utf-8' argument for str.encode()/decode().Tim Graham
2017-01-25Refs #23919 -- Replaced super(ClassName, self) with super().chillaranand
2017-01-19Refs #23919 -- Stopped inheriting from object to define new style classes.Simon Charette
2017-01-18Refs #23919 -- Removed obsolete __ne__() methods.Aymeric Augustin
__ne__() defaults to the opposite of __eq__() on Python 3 when it doesn't return NotImplemented.
2017-01-18Refs #23919 -- Removed most of remaining six usageClaude Paroz
Thanks Tim Graham for the review.
2017-01-18Refs #23919 -- Removed six.<various>_types usageClaude Paroz
Thanks Tim Graham and Simon Charette for the reviews.
2017-01-18Refs #23919 -- Removed six.PY2/PY3 usageClaude Paroz
Thanks Tim Graham for the review.
2017-01-17Refs #20223 -- Removed deprecated django.utils.functional.allow_lazy().Tim Graham
2016-11-29Fixed #27555 -- Removed django.utils.functional.lazy_property.Adam Chainz
2016-11-23Cleaned up some __getstate__() docstrings.Tim Graham
2016-11-14Fixed E305 flake8 warnings.Ramin Farajpour Cami
2016-06-04Fixed #24781 -- Fixed repr() for lazy objects.Chesco Igual
2016-01-26Fixed #26122 -- Fixed copying a LazyObjectBen Kraft
Shallow copying of `django.utils.functional.LazyObject` or its subclasses has been broken in a couple of different ways in the past, most recently due to 35355a4.
2015-12-12Fixed #20223 -- Added keep_lazy() as a replacement for allow_lazy().Iacopo Spalletti
Thanks to bmispelon and uruz for the initial patch.
2015-10-26Fixed #25611 -- Standardized descriptor signatures.Tim Graham
2015-10-05Removed SimpleLazyObject workaround for a Python 3 bug.Tim Graham
The workaround added in fe8484efda257e151d9c1ca5151e546c9262bf0f seems unnecessary as the Python bug is fixed in Python 3.4.
2015-10-05Removed obsolete (since Python 2.3) __safe_for_unpickling__ attribute.Tim Graham
2015-10-03Fixed #25389 -- Fixed pickling a SimpleLazyObject wrapping a model.Ben Kraft
Pickling a `SimpleLazyObject` wrapping a model did not work correctly; in particular it did not add the `_django_version` attribute added in 42736ac8. Now it will handle this and other custom `__reduce__` methods correctly.
2015-06-23Fixed #25000 -- Fixed cast to string for lazy objects.Marten Kenbeek
Implemented __str__() to return the string-representation of the proxied object, not the proxy itself, if the lazy object didn't have a string-like object in its resultclasses.
2015-06-18Removed support for Python 3.3.Tim Graham
2015-06-15Removed django.utils.functional.total_ordering()Tim Graham
2015-06-15Fixed flake8 warnings on Python 3.Tim Graham
2015-04-18Removed cases of six.iter* wrapped in a list()Curtis Maloney
There's absolutely no advantage [and a mild performance hit] to using six.iter* in these cases.
2015-03-08Fixed #23838 -- added missing `__iter__` to LazyObjectRik
2015-02-08Optimized allow_lazy() by not generating a new lazy wrapper on each invocation.Alex Gaynor
This dramatically improves performance on PyPy. The following benchmark: python -mtimeit -s "from django.utils.functional import allow_lazy; from django.utils.translation import ugettext_lazy; f = allow_lazy(lambda s: s, str)" "f(ugettext_lazy('abc'))" goes from 390us per loop to 165us.