Usage ===== .. code-block:: ytdl-sub [GENERAL OPTIONS] {sub,dl,view} [COMMAND OPTIONS] For Windows users, it would be ``ytdl-sub.exe`` General Options --------------- CLI options common to all sub-commands. Must be specified before the sub-command, for example ``$ ytdl-sub --dry-run sub ...``: .. code-block:: text -h, --help show this help message and exit -v, --version show program's version number and exit -c CONFIGPATH, --config CONFIGPATH path to the config yaml, uses config.yaml if not provided -d, --dry-run preview what a download would output, does not perform any video downloads or writes to output directories -l quiet|info|verbose|debug, --log-level quiet|info|verbose|debug level of logs to print to console, defaults to verbose -t TRANSACTIONPATH, --transaction-log TRANSACTIONPATH path to store the transaction log output of all files added, modified, deleted -st, --suppress-transaction-log do not output transaction logs to console or file -nc, --suppress-colors do not use colors in ytdl-sub output -m MATCH [MATCH ...], --match MATCH [MATCH ...] match subscription names to one or more substrings, and only run those subscriptions Subscriptions Options --------------------- Download all subscriptions specified in each :doc:`subscriptions file <./guides/getting_started/subscriptions>`. .. code-block:: ytdl-sub [GENERAL OPTIONS] sub [SUBPATH ...] ``SUBPATH`` is one or more paths to subscription files and defaults to ``./subscriptions.yaml`` if none are given. It will use the config specified by ``--config``, or ``./config.yaml``, if not provided. .. code-block:: text :caption: Additional Options -u, --update-with-info-json update all subscriptions with the current config using info.json files -o DL_OVERRIDE, --dl-override DL_OVERRIDE override all subscription config values using `dl` syntax, i.e. --dl-override='--ytdl_options.max_downloads 3' Download Options ---------------- Download a single subscription in the form of CLI arguments instead of from :doc:`a subscriptions file <./guides/getting_started/subscriptions>`: .. code-block:: ytdl-sub [GENERAL OPTIONS] dl [SUBSCRIPTION ARGUMENTS] ``SUBSCRIPTION ARGUMENTS`` are the same as YAML arguments, but use periods (``.``) instead of indents. For example, you can represent this subscription: .. code-block:: yaml rick_a: preset: - "tv_show" overrides: tv_show_name: "Rick A" url: "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw" Using the command: .. code-block:: bash ytdl-sub dl \ --preset "tv_show" \ --overrides.tv_show_name "Rick A" \ --overrides.url: "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw" See how to shorten commands using :ref:`download aliases `. View Options ------------ Preview the source variables for a given URL. Helpful to create new subscriptions: .. code-block:: ytdl-sub view [-sc] [URL] .. code-block:: text :caption: Additional Options -sc, --split-chapters View source variables after splitting by chapters CLI to SUB Options ------------------ Convert yt-dlp cli arguments to ytdl-sub `ytdl_options` arguments. .. code-block:: ytdl-sub cli-to-sub [YT-DLP ARGS] Inspect ------- Inspect a single subscription's underlying preset representation. This can be utilized for numerous purposes including: * Ensuring your custom preset is getting applied correctly. * Figuring out which variables set things like file names, metadata, etc. * Understanding how subscription syntax translates to preset representation. Usage: .. code-block:: bash ytdl-sub inspect --match "Game Chops" --mock 'title=Lets Play' examples/music_subscriptions.yaml .. code-block:: text :caption: Additional Options -l 0,1,2,3, --level 0,1,2,3 level of inspection to perform: 0 - original present the subscription as-is 1 - fill fill in defined values 2 - resolve resolve all possible variables (default) 3 - internal resolve all variables to their internal representation -m MATCH [MATCH ...], --match MATCH [MATCH ...] match subscription names to one or more substrings, and only run those subscriptions -o DL_OVERRIDE, --dl-override DL_OVERRIDE override all subscription config values using `dl` syntax, i.e. --dl-override='--ytdl_options.max_downloads 3' -k VAR=VALUE, --mock VAR=VALUE ability to mock one or more variable values, i.e. --mock 'title=Lets Play'