Ben_Kosytorz
55d32379ed
feat(rust): port dlp.py orchestration + unified CLI (clap subcommands)
...
- orchestrate.rs: process_channel, run_gofile (re-auth on AuthError,
no-retry branches for dead/password/empty, cooldowns), run_0807,
subscriptions, --assume-done (with note), failed_urls export
- main.rs: dlp / catalogue / sorter / extract / gwshop subcommands,
token resolution (--token -> $DISCORD_TOKEN -> hidden prompt)
- globalstore: mark() gains a note field (python note= kwarg)
- README: port status, CLI, deviations, untested live paths
77 tests green.
2026-10-09 15:30:27 +02:00
Ben_Kosytorz
59a89fa06a
feat(rust): port state.py, globalstore.py and manifest appending
...
- src/state.rs: per-run state.json (status/attempts/error/files/updated),
corrupt-file -> *.json.bak restart, atomic tmp+rename save, mark() parity
(attempts increments, None fields never clear existing values)
- src/globalstore.rs: cross-run urls.json at XDG_DATA_HOME or
~/.local/share/dlphelper/urls.json, disabled-store no-op
- src/manifest.rs: append_manifest as compact JSONL, UTF-8
- unknown/extra JSON fields are preserved on round-trip so both versions can
read each other's artifacts (schema contract per AGENTS.md)
- 14 unit tests
2026-10-09 13:27:59 +02:00