- 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
18 lines
427 B
TOML
18 lines
427 B
TOML
[package]
|
|
name = "dlphelper"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
description = "Torrent-first platform for Warhammer proxy models: Discord channel export, link extraction, per-host downloaders, manifest — Rust rewrite of version-python."
|
|
|
|
[dependencies]
|
|
anyhow = "1"
|
|
chrono = "0.4"
|
|
dirs = "6"
|
|
env_logger = "0.11"
|
|
log = "0.4"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|