import sys is_windows = 'win32' in str(sys.platform).lower() try: from functools import cached_property except ImportError: # Can be removed once we drop Python <3.8 support. # Taken from `django.utils.functional.cached_property`. class cached_property: """ Decorator that converts a method with a single self argument into a property cached on the instance. A cached property can be made out of an existing method: (e.g. ``url = cached_property(get_absolute_url)``). The optional ``name`` argument is obsolete as of Python 3.6 and will be deprecated in Django 4.0 (#30127). """ name = None @staticmethod def func(instance): raise TypeError( 'Cannot use cached_property instance without calling ' '__set_name__() on it.' ) def __init__(self, func, name=None): self.real_func = func self.__doc__ = getattr(func, '__doc__') def __set_name__(self, owner, name): if self.name is None: self.name = name self.func = self.real_func elif name != self.name: raise TypeError( "Cannot assign the same cached_property to two different names " "(%r and %r)." % (self.name, name) ) def __get__(self, instance, cls=None): """ Call the function and put the return value in instance.__dict__ so that subsequent attribute access on the instance returns the cached value instead of calling cached_property.__get__(). """ if instance is None: return self res = instance.__dict__[self.name] = self.func(instance) return res
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
cli | Folder | 0755 |
|
|
output | Folder | 0755 |
|
|
plugins | Folder | 0755 |
|
|
__init__.py | File | 132 B | 0644 |
|
__main__.py | File | 394 B | 0644 |
|
client.py | File | 10.15 KB | 0644 |
|
compat.py | File | 1.82 KB | 0644 |
|
config.py | File | 3.42 KB | 0644 |
|
context.py | File | 3.83 KB | 0644 |
|
core.py | File | 8.74 KB | 0644 |
|
downloads.py | File | 13.85 KB | 0644 |
|
encoding.py | File | 1.32 KB | 0644 |
|
models.py | File | 3.37 KB | 0644 |
|
sessions.py | File | 4.85 KB | 0644 |
|
ssl.py | File | 1.84 KB | 0644 |
|
status.py | File | 987 B | 0644 |
|
uploads.py | File | 4.01 KB | 0644 |
|
utils.py | File | 6.12 KB | 0644 |
|