diff options
Diffstat (limited to 'gallery_dl/option.py')
| -rw-r--r-- | gallery_dl/option.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gallery_dl/option.py b/gallery_dl/option.py index ecc2ee3..d3119b7 100644 --- a/gallery_dl/option.py +++ b/gallery_dl/option.py @@ -27,6 +27,15 @@ class ConfigConstAction(argparse.Action): namespace.options.append(((self.dest,), self.const)) +class AppendCommandAction(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + items = getattr(namespace, self.dest, None) or [] + val = self.const.copy() + val["command"] = values + items.append(val) + setattr(namespace, self.dest, items) + + class DeprecatedConfigConstAction(argparse.Action): """Set argparse const values as config values + deprecation warning""" def __call__(self, parser, namespace, values, option_string=None): @@ -304,6 +313,13 @@ 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", "ffmpeg-args": ( |
