]>
jfr.im git - yt-dlp.git/blob - devscripts/lazy_load_template.py
a3f3fedf9e7b3b4289b4faedbc8eb71d6bc00751
5 class LazyLoadMetaClass(type):
6 def __getattr__(cls
, name
):
7 return getattr(cls
._get
_real
_class
(), name
)
10 class LazyLoadExtractor(metaclass
=LazyLoadMetaClass
):
14 def _get_real_class(cls
):
15 if '__real_class' not in cls
.__dict
__:
16 mod
= __import__(cls
._module
, fromlist
=(cls
.__name
__,))
17 cls
.__real
_class
= getattr(mod
, cls
.__name
__)
18 return cls
.__real
_class
20 def __new__(cls
, *args
, **kwargs
):
21 real_cls
= cls
._get
_real
_class
()
22 instance
= real_cls
.__new
__(real_cls
)
23 instance
.__init
__(*args
, **kwargs
)