1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-10-30 22:25:19 +00:00

[compat] Add functools.cached_property

This commit is contained in:
pukkandan
2022-05-20 20:55:21 +05:30
parent 666c36d58d
commit 2762dbb17e
5 changed files with 21 additions and 7 deletions

View File

@@ -10,3 +10,15 @@ try:
cache # >= 3.9
except NameError:
cache = lru_cache(maxsize=None)
try:
cached_property # >= 3.8
except NameError:
class cached_property:
def __init__(self, func):
update_wrapper(self, func)
self.func = func
def __get__(self, instance, _):
setattr(instance, self.func.__name__, self.func(instance))
return getattr(instance, self.func.__name__)