diff options
| author | Jannis Leidel <jannis@leidel.info> | 2011-04-16 19:42:04 +0200 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2011-04-16 19:43:36 +0200 |
| commit | 536e5af00424ababc4b937be84389a2abc522c1f (patch) | |
| tree | e93214687f3b2ef0a147047d69e072bb38404b95 /compressor/utils/__init__.py | |
| parent | 5f6e5aec3bddc8f5d0c0073f4fd3bbaf1100bed0 (diff) | |
| download | django-compressor-536e5af00424ababc4b937be84389a2abc522c1f.tar.gz | |
Moved cached_property to compressor.utils.cache.
Diffstat (limited to 'compressor/utils/__init__.py')
| -rw-r--r-- | compressor/utils/__init__.py | 66 |
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). |
