diff options
Diffstat (limited to 'gallery_dl/downloader/common.py')
| -rw-r--r-- | gallery_dl/downloader/common.py | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/gallery_dl/downloader/common.py b/gallery_dl/downloader/common.py index 8430884..dc1219f 100644 --- a/gallery_dl/downloader/common.py +++ b/gallery_dl/downloader/common.py @@ -19,6 +19,7 @@ class DownloaderBase(): def __init__(self, job): extractor = job.extractor + self.log = job.get_logger("downloader." + self.scheme) opts = self._extractor_config(extractor) if opts: @@ -29,7 +30,6 @@ class DownloaderBase(): self.session = extractor.session self.part = self.config("part", True) self.partdir = self.config("part-directory") - self.log = job.get_logger("downloader." + self.scheme) if self.partdir: self.partdir = util.expand_path(self.partdir) @@ -73,17 +73,27 @@ class DownloaderBase(): copts = cfg.get(self.scheme) if copts: if subcategory in cfg: - sopts = cfg[subcategory].get(self.scheme) - if sopts: - opts = copts.copy() - opts.update(sopts) - return opts + try: + sopts = cfg[subcategory].get(self.scheme) + if sopts: + opts = copts.copy() + opts.update(sopts) + return opts + except Exception: + self._report_config_error(subcategory, cfg[subcategory]) return copts if subcategory in cfg: - return cfg[subcategory].get(self.scheme) + try: + return cfg[subcategory].get(self.scheme) + except Exception: + self._report_config_error(subcategory, cfg[subcategory]) return None + def _report_config_error(self, subcategory, value): + config.log.warning("Subcategory '%s' set to '%s' instead of object", + subcategory, util.json_dumps(value).strip('"')) + def download(self, url, pathfmt): """Write data from 'url' into the file specified by 'pathfmt'""" |
