diff options
| author | 2022-10-17 03:44:10 -0400 | |
|---|---|---|
| committer | 2022-10-17 03:44:10 -0400 | |
| commit | 6fa3c3d58670e90b140eeaa759773a3fe749321d (patch) | |
| tree | 1060614e4c8708f59ac27e1ab9e20d6c3e42e806 /gallery_dl/__init__.py | |
| parent | 71693e4757b29b478b4ef7c876c24aa7426a58e1 (diff) | |
| parent | 78e2d1672e4301497f786cd03637de9ddbc717ac (diff) | |
Update upstream source from tag 'upstream/1.23.3'
Update to upstream version '1.23.3'
with Debian dir 9ed24fbe8a8282e29b08d37ad95a98d733c8d145
Diffstat (limited to 'gallery_dl/__init__.py')
| -rw-r--r-- | gallery_dl/__init__.py | 80 |
1 files changed, 2 insertions, 78 deletions
diff --git a/gallery_dl/__init__.py b/gallery_dl/__init__.py index 7504fa4..b64fa2f 100644 --- a/gallery_dl/__init__.py +++ b/gallery_dl/__init__.py @@ -7,7 +7,6 @@ # published by the Free Software Foundation. import sys -import json import logging from . import version, config, option, output, extractor, job, util, exception @@ -32,81 +31,6 @@ def progress(urls, pformat): yield pinfo["url"] -def parse_inputfile(file, log): - """Filter and process strings from an input file. - - Lines starting with '#' and empty lines will be ignored. - Lines starting with '-' will be interpreted as a key-value pair separated - by an '='. where 'key' is a dot-separated option name and 'value' is a - JSON-parsable value. These configuration options will be applied while - processing the next URL. - Lines starting with '-G' are the same as above, except these options will - be applied for *all* following URLs, i.e. they are Global. - Everything else will be used as a potential URL. - - Example input file: - - # settings global options - -G base-directory = "/tmp/" - -G skip = false - - # setting local options for the next URL - -filename="spaces_are_optional.jpg" - -skip = true - - https://example.org/ - - # next URL uses default filename and 'skip' is false. - https://example.com/index.htm # comment1 - https://example.com/404.htm # comment2 - """ - gconf = [] - lconf = [] - - for line in file: - line = line.strip() - - if not line or line[0] == "#": - # empty line or comment - continue - - elif line[0] == "-": - # config spec - if len(line) >= 2 and line[1] == "G": - conf = gconf - line = line[2:] - else: - conf = lconf - line = line[1:] - - key, sep, value = line.partition("=") - if not sep: - log.warning("input file: invalid <key>=<value> pair: %s", line) - continue - - try: - value = json.loads(value.strip()) - except ValueError as exc: - log.warning("input file: unable to parse '%s': %s", value, exc) - continue - - key = key.strip().split(".") - conf.append((key[:-1], key[-1], value)) - - else: - # url - if " #" in line: - line = line.partition(" #")[0].rstrip() - elif "\t#" in line: - line = line.partition("\t#")[0].rstrip() - if gconf or lconf: - yield util.ExtendedUrl(line, gconf, lconf) - gconf = [] - lconf = [] - else: - yield line - - def main(): try: if sys.stdout and sys.stdout.encoding.lower() != "utf-8": @@ -275,12 +199,12 @@ def main(): try: if inputfile == "-": if sys.stdin: - urls += parse_inputfile(sys.stdin, log) + urls += util.parse_inputfile(sys.stdin, log) else: log.warning("input file: stdin is not readable") else: with open(inputfile, encoding="utf-8") as file: - urls += parse_inputfile(file, log) + urls += util.parse_inputfile(file, log) except OSError as exc: log.warning("input file: %s", exc) |
