mirror of
https://github.com/thegeneralist01/archivr
synced 2026-10-09 21:03:17 +02:00
`update` fetches the latest release tag from the GitHub API (or takes --version), downloads the cross-platform python zipapp, and installs it into archivr's state dir. The install is atomic — staged as yt-dlp.new, chmod +x'd, then renamed over the target — so a concurrently running capture never sees a half-written binary. A sibling .version file makes a repeat update a no-op instead of a 3MB re-download. The download is checked for the python3 shebang before install, which catches the usual failure mode of getting an HTML error page back. python3 itself is only warned about, not required: the server may run under a nix wrapper with its own PATH. `status` prints all three candidates (env / state-dir / PATH fallback) with their versions and stars whichever the resolver picks, so it is obvious which yt-dlp a capture will actually use. reqwest is pulled from the existing workspace dependency; the GitHub JSON is parsed with serde_json so the "json" feature is not needed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| main.rs | ||