diff --git a/gallery_dl/downloader/common.py b/gallery_dl/downloader/common.py index cd142d48..84308848 100644 --- a/gallery_dl/downloader/common.py +++ b/gallery_dl/downloader/common.py @@ -10,6 +10,7 @@ import os from .. import config, util +_config = config._config class DownloaderBase(): @@ -44,7 +45,9 @@ class DownloaderBase(): """Interpolate downloader config value for 'key'""" return config.interpolate(("downloader", self.scheme), key, default) - def config_opts(self, key, default=None): + def config_opts(self, key, default=None, conf=_config): + if key in conf: + return conf[key] value = self.opts.get(key, util.SENTINEL) if value is not util.SENTINEL: return value diff --git a/test/test_downloader.py b/test/test_downloader.py index e4f66c2d..5a9a20bc 100644 --- a/test/test_downloader.py +++ b/test/test_downloader.py @@ -150,20 +150,21 @@ class TestDownloaderConfig(unittest.TestCase): config.set(("downloader", "http"), "filesize-min", "10k") config.set(("extractor", "generic"), "verify", False) config.set(("extractor", "generic", "example.org"), "timeout", 10) - config.set(("extractor", "generic", "http"), "rate", "1k") + config.set(("extractor", "generic", "http"), "part", False) config.set( ("extractor", "generic", "example.org", "http"), "headers", {}) job = FakeJob() dl = downloader.find("http")(job) - self.assertEqual(dl.headers, {}) + self.assertEqual(dl.headers, {"foo": "bar"}) self.assertEqual(dl.minsize, 10240) self.assertEqual(dl.retries, float("inf")) self.assertEqual(dl.timeout, 10) self.assertEqual(dl.verify, False) self.assertEqual(dl.mtime, False) - self.assertEqual(dl.rate, 1024) + self.assertEqual(dl.rate, 42) + self.assertEqual(dl.part, False) class TestDownloaderBase(unittest.TestCase):