feat(dl): add --no-postscript to skip post-scripts for one run

This commit is contained in:
imSp4rky
2026-09-06 21:02:58 -06:00
parent 80f2b8f5b4
commit d36797641d
6 changed files with 46 additions and 2 deletions
+1
View File
@@ -149,6 +149,7 @@ Keep only certain track types, or skip certain track types.
| `--tag` | Group tag override. |
| `--repack` | Add a `REPACK` tag to the filename. |
| `--postscript` | Run a command after each output file, with `{variable}` placeholders substituted. Repeatable. Replaces the `post_scripts` config for this run. See [Post-scripts](../reference/configuration/post-scripts.md). |
| `--no-postscript` | Run no post-script for this run, neither the configured ones nor `--postscript`. |
### Metadata & tagging
+8 -1
View File
@@ -698,6 +698,13 @@ that run writes no muxed output. A `failure` post-script still operates if the d
unshackle dl --postscript "python /opt/upload.py {filepath} --service={service}" EXAMPLE 81234567
```
`--no-postscript` operates the run with no post-script at all. It silences the `post_scripts`
config and `--postscript` together, for every event and mode.
```shell title="Skip the uploader for one run"
unshackle dl --no-postscript EXAMPLE 81234567
```
For post-scripts that continue across runs, for the `season` and `run` modes, for `failure`
post-scripts and for the full variable list, see
[Post-scripts](../reference/configuration/post-scripts.md).
@@ -946,7 +953,7 @@ authoritative list.
| `--best-available` | | Degrade gracefully instead of failing. |
| `--output` | `-o` | Output directory for this run. |
| `--split-audio` / `--merge-video` / `--no-mux` | | Muxing behaviour. |
| `--postscript` | | Run a command after each output file. Repeatable. |
| `--postscript` / `--no-postscript` | | Run a command after each output file, or run none. |
| `--proxy` / `--no-proxy` / `--no-proxy-download` | | Proxy control. |
| `--workers` / `--downloads` / `--slow` | | Concurrency and pacing. |
| `--list` / `--list-titles` / `--skip-dl` | | Dry runs. |
@@ -282,6 +282,16 @@ It replaces the `post_scripts` config for that run rather than adding to it, so
configured entry runs while it is in use. That includes your `season`, `run` and `failure`
entries, which have no `--postscript` equivalent.
## `--no-postscript`
`dl --no-postscript` operates the run with no post-script. It silences every configured entry
and every `--postscript` command, for each event and mode. Use it to skip an uploader or a
notifier for one run without an edit to `unshackle.yaml`.
```console
$ unshackle dl --no-postscript SERVICE TITLE_ID
```
## The REST API
The API never accepts a post-script command. `postscript`, `post_script` and `post_scripts`