#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright 2023 Mike Fährmann # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. """Generate a Markdown document listing gallery-dl's command-line arguments""" import os import re import util from gallery_dl import option TEMPLATE = """# Command-Line Options {}
""" tbody = [] append = tbody.append sub = re.compile(r"'([^']+)'").sub for group in option.build_parser()._action_groups[2:]: append('\n\n ' + group.title + '\n') for action in group._group_actions: help = action.help if help == "==SUPPRESS==": continue try: short, long = action.option_strings except ValueError: try: long = action.option_strings[0] except IndexError: continue short = "" if short: short = "" + short + "" if long: long = '' + long + "" append("") append(" " + short + "") append(" " + long + "") append(" " + sub("\\1", help) + "") append("") with open(util.path("docs", "options.md"), "w", encoding="utf-8") as fp: fp.write(TEMPLATE.format( "/".join(os.path.normpath(__file__).split(os.sep)[-2:]), "\n".join(tbody), ))