diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-08-01 06:52:03 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-08-02 01:08:16 +0530 |
commit | 8f97a15d1c7ebc10d0b51ce24632ac17b34a5f69 (patch) | |
tree | 218588a6ee85435864e9848ce4450d2731c2e35b /devscripts | |
parent | 47304e07dc4a044242f7d5a14c3f6c3e5f3ad8ba (diff) | |
download | hypervideo-pre-8f97a15d1c7ebc10d0b51ce24632ac17b34a5f69.tar.lz hypervideo-pre-8f97a15d1c7ebc10d0b51ce24632ac17b34a5f69.tar.xz hypervideo-pre-8f97a15d1c7ebc10d0b51ce24632ac17b34a5f69.zip |
[extractor] Framework for embed detection (#4307)
Diffstat (limited to 'devscripts')
-rw-r--r-- | devscripts/lazy_load_template.py | 6 | ||||
-rw-r--r-- | devscripts/make_lazy_extractors.py | 7 |
2 files changed, 5 insertions, 8 deletions
diff --git a/devscripts/lazy_load_template.py b/devscripts/lazy_load_template.py index cdafaf1ef..a6e26b6f6 100644 --- a/devscripts/lazy_load_template.py +++ b/devscripts/lazy_load_template.py @@ -9,11 +9,13 @@ from ..utils import ( write_string, ) +# These bloat the lazy_extractors, so allow them to passthrough silently +ALLOWED_CLASSMETHODS = {'get_testcases', 'extract_from_webpage'} + class LazyLoadMetaClass(type): def __getattr__(cls, name): - # "_TESTS" bloat the lazy_extractors - if '_real_class' not in cls.__dict__ and name != 'get_testcases': + if '_real_class' not in cls.__dict__ and name not in ALLOWED_CLASSMETHODS: write_string( 'WARNING: Falling back to normal extractor since lazy extractor ' f'{cls.__name__} does not have attribute {name}{bug_reports_message()}\n') diff --git a/devscripts/make_lazy_extractors.py b/devscripts/make_lazy_extractors.py index 60fcc5ef0..c9fdfb562 100644 --- a/devscripts/make_lazy_extractors.py +++ b/devscripts/make_lazy_extractors.py @@ -11,7 +11,7 @@ import optparse from inspect import getsource NO_ATTR = object() -STATIC_CLASS_PROPERTIES = ['IE_NAME', 'IE_DESC', 'SEARCH_KEY', '_WORKING', '_NETRC_MACHINE', 'age_limit'] +STATIC_CLASS_PROPERTIES = ['IE_NAME', 'IE_DESC', 'SEARCH_KEY', '_VALID_URL', '_WORKING', '_NETRC_MACHINE', 'age_limit'] CLASS_METHODS = [ 'ie_key', 'working', 'description', 'suitable', '_match_valid_url', '_match_id', 'get_temp_id', 'is_suitable' ] @@ -116,11 +116,6 @@ def build_lazy_ie(ie, name, attr_base): }.get(base.__name__, base.__name__) for base in ie.__bases__) s = IE_TEMPLATE.format(name=name, module=ie.__module__, bases=bases) - valid_url = getattr(ie, '_VALID_URL', None) - if not valid_url and hasattr(ie, '_make_valid_url'): - valid_url = ie._make_valid_url() - if valid_url: - s += f' _VALID_URL = {valid_url!r}\n' return s + '\n'.join(extra_ie_code(ie, attr_base)) |