diff options
Diffstat (limited to 'gallery_dl/option.py')
| -rw-r--r-- | gallery_dl/option.py | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/gallery_dl/option.py b/gallery_dl/option.py index 3118b83..34222a2 100644 --- a/gallery_dl/option.py +++ b/gallery_dl/option.py @@ -18,13 +18,13 @@ from . import job, version class ConfigAction(argparse.Action): """Set argparse results as config values""" def __call__(self, parser, namespace, values, option_string=None): - namespace.options.append(((self.dest,), values)) + namespace.options.append(((), self.dest, values)) class ConfigConstAction(argparse.Action): """Set argparse const values as config values""" def __call__(self, parser, namespace, values, option_string=None): - namespace.options.append(((self.dest,), self.const)) + namespace.options.append(((), self.dest, self.const)) class AppendCommandAction(argparse.Action): @@ -41,7 +41,7 @@ class DeprecatedConfigConstAction(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): print("warning: {} is deprecated. Use {} instead.".format( "/".join(self.option_strings), self.choices), file=sys.stderr) - namespace.options.append(((self.dest,), self.const)) + namespace.options.append(((), self.dest, self.const)) class ParseAction(argparse.Action): @@ -52,8 +52,8 @@ class ParseAction(argparse.Action): value = json.loads(value) except ValueError: pass - key = key.split(".") - namespace.options.append((key, value)) + key = key.split(".") # splitting an empty string becomes [""] + namespace.options.append((key[:-1], key[-1], value)) class Formatter(argparse.HelpFormatter): @@ -224,12 +224,6 @@ def build_parser(): dest="verify", nargs=0, action=ConfigConstAction, const=False, help="Disable HTTPS certificate validation", ) - downloader.add_argument( - "--abort-on-skip", - action=DeprecatedConfigConstAction, - dest="skip", nargs=0, const="abort", choices="-A/--abort", - help=argparse.SUPPRESS, - ) configuration = parser.add_argument_group("Configuration Options") configuration.add_argument( @@ -313,13 +307,6 @@ def build_parser(): help="Store downloaded files in a ZIP archive", ) postprocessor.add_argument( - "--exec", - dest="postprocessors", metavar="CMD", - action=AppendCommandAction, const={"name": "exec"}, - help=("Execute CMD for each downloaded file. " - "Example: --exec 'magick convert {} {}.png && rm {}'"), - ) - postprocessor.add_argument( "--ugoira-conv", dest="postprocessors", action="append_const", const={ "name" : "ugoira", @@ -358,6 +345,20 @@ def build_parser(): action="append_const", const={"name": "mtime"}, help="Set file modification times according to 'date' metadata", ) + postprocessor.add_argument( + "--exec", + dest="postprocessors", metavar="CMD", + action=AppendCommandAction, const={"name": "exec"}, + help=("Execute CMD for each downloaded file. " + "Example: --exec 'convert {} {}.png && rm {}'"), + ) + postprocessor.add_argument( + "--exec-after", + dest="postprocessors", metavar="CMD", + action=AppendCommandAction, const={"name": "exec", "final": True}, + help=("Execute CMD after all files were downloaded successfully. " + "Example: --exec-after 'cd {} && convert * ../doc.pdf'"), + ) parser.add_argument( "urls", |
