Show a persistent single-line progress counter ("Downloading track times
for car 1234/7589") while fetch_times downloads timing data. A ProgressBar
from indicatif 0.17 is sized to the car list, cloned into each spawned
download task, and incremented after fetch_car completes so it tracks
completions rather than starts; Arc internals make this safe under the
concurrent semaphore. The bar is cleared via finish_and_clear() before
the error/warning logging loop so retry messages don't garble the line,
and indicatif renders nothing when stderr is not a TTY.
Also apply pending rustfmt reformatting to src/capture/windows.rs
(formatting only, no logic changes).
52 lines
1.2 KiB
TOML
52 lines
1.2 KiB
TOML
[package]
|
|
name = "top_drives"
|
|
version = "0.3.0"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
name = "top_drives"
|
|
path = "src/lib.rs"
|
|
|
|
# Bin-only (logger init in records.rs); required-features keeps the lib crate's
|
|
# downstream consumers free of env_logger unless they opt in.
|
|
[[bin]]
|
|
name = "records"
|
|
path = "src/records.rs"
|
|
required-features = ["bin-logging"]
|
|
|
|
[[bin]]
|
|
name = "capture"
|
|
path = "src/capture/main.rs"
|
|
|
|
[dependencies]
|
|
reqwest = "0.12.15"
|
|
tokio = { version = "1.44.1", features = ["rt-multi-thread", "macros", "fs", "sync", "io-util"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1.0.140"
|
|
futures = "0.3.31"
|
|
clap = { version = "4", features = ["derive"] }
|
|
thiserror = "2"
|
|
dashmap = "6"
|
|
log = "0.4"
|
|
env_logger = { version = "0.11", optional = true }
|
|
indicatif = "0.17"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
hudsucker = "0.25"
|
|
http = "1"
|
|
http-body-util = "0.1"
|
|
md-5 = "0.10"
|
|
time = { version = "0.3", features = ["formatting"] }
|
|
base64 = "0.22"
|
|
toml = "0.8"
|
|
|
|
[features]
|
|
default = ["bin-logging", "test-utils"]
|
|
bin-logging = ["dep:env_logger"]
|
|
test-utils = []
|
|
|
|
[dev-dependencies]
|
|
top_drives = { path = ".", features = ["test-utils"], default-features = false }
|
|
tempfile = "3.10.1"
|
|
proptest = "1"
|
|
mockito = "1"
|