from collections.abc import Awaitable from inspect import CO_ITERABLE_COROUTINE from types import CoroutineType from types import GeneratorType async def do_await(obj): return await obj def do_yield_from(gen): return (yield from gen) def await_(obj): obj_type = type(obj) if ( obj_type is CoroutineType or obj_type is GeneratorType and bool(obj.gi_code.co_flags & CO_ITERABLE_COROUTINE) or isinstance(obj, Awaitable) ): return do_await(obj).__await__() else: return do_yield_from(obj) def __aiter__(self): return self.__wrapped__.__aiter__() async def __anext__(self): return await self.__wrapped__.__anext__() def __await__(self): return await_(self.__wrapped__) def __aenter__(self): return self.__wrapped__.__aenter__() def __aexit__(self, *args, **kwargs): return self.__wrapped__.__aexit__(*args, **kwargs) def identity(obj): return obj class cached_property(object): def __init__(self, func): self.func = func def __get__(self, obj, cls): if obj is None: return self value = obj.__dict__[self.func.__name__] = self.func(obj) return value
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 413 B | 0644 |
|
_version.py | File | 160 B | 0644 |
|
cext.cpython-311-x86_64-linux-gnu.so | File | 49.06 KB | 0755 |
|
compat.py | File | 148 B | 0644 |
|
simple.py | File | 8.5 KB | 0644 |
|
slots.py | File | 11.97 KB | 0644 |
|
utils.py | File | 1.18 KB | 0644 |
|