diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2021-09-17 23:53:55 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2021-09-30 03:32:52 +0530 |
commit | e6f21b3d925ea708955c60c400a31fc2e0e36ac0 (patch) | |
tree | cb117990190a9c70f777add26ab28228dcab7b79 /devscripts/lazy_load_template.py | |
parent | d710cc6d3660b7bb79cbbefe1f0faec6726b020c (diff) |
[docs,cleanup] Some minor refactoring and improve docs
Diffstat (limited to 'devscripts/lazy_load_template.py')
-rw-r--r-- | devscripts/lazy_load_template.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/devscripts/lazy_load_template.py b/devscripts/lazy_load_template.py index 036e2e767..da89e070d 100644 --- a/devscripts/lazy_load_template.py +++ b/devscripts/lazy_load_template.py @@ -1,9 +1,15 @@ # coding: utf-8 import re +from ..utils import bug_reports_message, write_string + class LazyLoadMetaClass(type): def __getattr__(cls, name): + if '_real_class' not in cls.__dict__: + write_string( + f'WARNING: Falling back to normal extractor since lazy extractor ' + f'{cls.__name__} does not have attribute {name}{bug_reports_message()}') return getattr(cls._get_real_class(), name) @@ -13,10 +19,10 @@ class LazyLoadExtractor(metaclass=LazyLoadMetaClass): @classmethod def _get_real_class(cls): - if '__real_class' not in cls.__dict__: + if '_real_class' not in cls.__dict__: mod = __import__(cls._module, fromlist=(cls.__name__,)) - cls.__real_class = getattr(mod, cls.__name__) - return cls.__real_class + cls._real_class = getattr(mod, cls.__name__) + return cls._real_class def __new__(cls, *args, **kwargs): real_cls = cls._get_real_class() |