diff --git a/gallery_dl/extractor/__init__.py b/gallery_dl/extractor/__init__.py index c8e41161..7c7426c4 100644 --- a/gallery_dl/extractor/__init__.py +++ b/gallery_dl/extractor/__init__.py @@ -8,6 +8,7 @@ import re import importlib +from .. import config modules = [ "pixiv", @@ -45,10 +46,12 @@ def _list_patterns(): """Yield all available (pattern, module, klass) tuples""" for entry in _cache: yield entry + for module_name in _module_iter: module = importlib.import_module("."+module_name, __package__) klass = getattr(module, module.info["extractor"]) - for pattern in module.info["pattern"]: + userpatterns = config.get(("extractor", module_name, "pattern"), default=[]) + for pattern in userpatterns + module.info["pattern"]: etuple = (pattern, module, klass) _cache.append(etuple) yield etuple