aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/downloader/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/downloader/common.py')
-rw-r--r--gallery_dl/downloader/common.py24
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'"""