summaryrefslogtreecommitdiff
path: root/compressor/utils/__init__.py
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2011-04-16 19:42:04 +0200
committerJannis Leidel <jannis@leidel.info>2011-04-16 19:43:36 +0200
commit536e5af00424ababc4b937be84389a2abc522c1f (patch)
treee93214687f3b2ef0a147047d69e072bb38404b95 /compressor/utils/__init__.py
parent5f6e5aec3bddc8f5d0c0073f4fd3bbaf1100bed0 (diff)
downloaddjango-compressor-536e5af00424ababc4b937be84389a2abc522c1f.tar.gz
Moved cached_property to compressor.utils.cache.
Diffstat (limited to 'compressor/utils/__init__.py')
-rw-r--r--compressor/utils/__init__.py66
1 files changed, 0 insertions, 66 deletions
diff --git a/compressor/utils/__init__.py b/compressor/utils/__init__.py
index 5489f1c..bf419ae 100644
--- a/compressor/utils/__init__.py
+++ b/compressor/utils/__init__.py
@@ -60,72 +60,6 @@ def walk(root, topdown=True, onerror=None, followlinks=False):
for link_dirpath, link_dirnames, link_filenames in walk(p):
yield (link_dirpath, link_dirnames, link_filenames)
-class cached_property(object):
- """Property descriptor that caches the return value
- of the get function.
-
- *Examples*
-
- .. code-block:: python
-
- @cached_property
- def connection(self):
- return Connection()
-
- @connection.setter # Prepares stored value
- def connection(self, value):
- if value is None:
- raise TypeError("Connection must be a connection")
- return value
-
- @connection.deleter
- def connection(self, value):
- # Additional action to do at del(self.attr)
- if value is not None:
- print("Connection %r deleted" % (value, ))
- """
- def __init__(self, fget=None, fset=None, fdel=None, doc=None):
- self.__get = fget
- self.__set = fset
- self.__del = fdel
- self.__doc__ = doc or fget.__doc__
- self.__name__ = fget.__name__
- self.__module__ = fget.__module__
-
- def __get__(self, obj, type=None):
- if obj is None:
- return self
- try:
- return obj.__dict__[self.__name__]
- except KeyError:
- value = obj.__dict__[self.__name__] = self.__get(obj)
- return value
-
- def __set__(self, obj, value):
- if obj is None:
- return self
- if self.__set is not None:
- value = self.__set(obj, value)
- obj.__dict__[self.__name__] = value
-
- def __delete__(self, obj):
- if obj is None:
- return self
- try:
- value = obj.__dict__.pop(self.__name__)
- except KeyError:
- pass
- else:
- if self.__del is not None:
- self.__del(obj, value)
-
- def setter(self, fset):
- return self.__class__(self.__get, fset, self.__del)
-
- def deleter(self, fdel):
- return self.__class__(self.__get, self.__set, fdel)
-
-
"""Advanced string formatting for Python >= 2.4.
An implementation of the advanced string formatting (PEP 3101).