mirror of
https://github.com/mikf/gallery-dl.git
synced 2025-02-01 03:51:42 +01:00
properly implement -c,--config option
This commit is contained in:
parent
b683427d42
commit
b55870909c
@ -24,13 +24,13 @@ def build_cmdline_parser():
|
||||
description='Download images from various sources')
|
||||
parser.add_argument(
|
||||
"-c", "--config",
|
||||
default="~/.config/gallery/config", metavar="CFG",
|
||||
help="alternate configuration file"
|
||||
metavar="CFG", dest="cfgfiles", action="append",
|
||||
help="additional configuration files",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d", "--dest",
|
||||
metavar="DEST",
|
||||
help="destination directory"
|
||||
help="destination directory",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-o", "--option",
|
||||
@ -43,7 +43,7 @@ def build_cmdline_parser():
|
||||
)
|
||||
parser.add_argument(
|
||||
"--list-keywords", dest="keywords", action="store_true",
|
||||
help="print a list of available keywords",
|
||||
help="print a list of available keywords for the given URLs",
|
||||
)
|
||||
parser.add_argument(
|
||||
"urls",
|
||||
@ -58,6 +58,9 @@ def main():
|
||||
parser = build_cmdline_parser()
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.cfgfiles:
|
||||
config.load(*args.cfgfiles, strict=True)
|
||||
|
||||
if args.dest:
|
||||
config.set(("base-directory",), args.dest)
|
||||
|
||||
|
@ -16,7 +16,7 @@ import platform
|
||||
# --------------------------------------------------------------------
|
||||
# public interface
|
||||
|
||||
def load(*files):
|
||||
def load(*files, strict=False):
|
||||
"""Load JSON configuration files"""
|
||||
configfiles = files or _default_configs
|
||||
for conf in configfiles:
|
||||
@ -26,6 +26,8 @@ def load(*files):
|
||||
confdict = json.load(file)
|
||||
_config.update(confdict)
|
||||
except FileNotFoundError:
|
||||
if strict:
|
||||
raise
|
||||
continue
|
||||
except json.decoder.JSONDecodeError as exception:
|
||||
print("Error while loading '", path, "':", sep="", file=sys.stderr)
|
||||
|
Loading…
x
Reference in New Issue
Block a user