171 Commits
Author SHA1 Message Date
ApfelTeeSaft e7c9d83434 update retry logic 0.1.4 2025-11-19 12:05:37 +01:00
ApfelTeeSaft 62cdfe9b61 Fix some stuff with large files and file collections 0.1.3 2025-11-19 06:45:24 +01:00
dependabot[bot] 6208e2e55b chore(deps): bump indicatif from 0.18.0 to 0.18.2
Bumps [indicatif](https://github.com/console-rs/indicatif) from 0.18.0 to 0.18.2.
- [Release notes](https://github.com/console-rs/indicatif/releases)
- [Commits](https://github.com/console-rs/indicatif/commits)

---
updated-dependencies:
- dependency-name: indicatif
  dependency-version: 0.18.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-11-11 12:19:22 +00:00
dependabot[bot] aaacc357c6 chore(deps): bump clap from 4.5.50 to 4.5.51
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.50 to 4.5.51.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.50...clap_complete-v4.5.51)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.51
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-11-11 12:19:09 +00:00
dependabot[bot] 15c57355d8 chore(deps): bump reqwest from 0.12.23 to 0.12.24
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.23 to 0.12.24.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.23...v0.12.24)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-version: 0.12.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-11-11 12:19:00 +00:00
dependabot[bot] 9605c5e09e chore(deps): bump clap from 4.5.47 to 4.5.50
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.47 to 4.5.50.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.47...clap_complete-v4.5.50)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.50
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-11-10 13:36:51 +00:00
dependabot[bot] 4d146047d1 chore(deps): bump regex from 1.11.1 to 1.12.2
Bumps [regex](https://github.com/rust-lang/regex) from 1.11.1 to 1.12.2.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.11.1...1.12.2)

---
updated-dependencies:
- dependency-name: regex
  dependency-version: 1.12.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-11-10 13:36:29 +00:00
dependabot[bot] e608d035bf chore(deps): bump thiserror from 2.0.15 to 2.0.17
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.15 to 2.0.17.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.15...2.0.17)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-version: 2.0.17
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-11-10 13:36:18 +00:00
dependabot[bot] cf7eb8d94b chore(deps): bump serde from 1.0.224 to 1.0.228
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.224 to 1.0.228.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.224...v1.0.228)

---
updated-dependencies:
- dependency-name: serde
  dependency-version: 1.0.228
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-11-10 13:36:03 +00:00
dependabot[bot] 0bb9f9bae2 chore(deps): bump serde from 1.0.219 to 1.0.224
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.219 to 1.0.224.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.219...v1.0.224)

---
updated-dependencies:
- dependency-name: serde
  dependency-version: 1.0.224
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-09-19 17:26:08 +01:00
dependabot[bot] 1cf42714a8 chore(deps): bump clap from 4.5.46 to 4.5.47
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.46 to 4.5.47.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.46...clap_complete-v4.5.47)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.47
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-09-10 09:55:03 +01:00
dependabot[bot] 8b16493a7b chore(deps): bump ctrlc from 3.4.7 to 3.5.0
Bumps [ctrlc](https://github.com/Detegr/rust-ctrlc) from 3.4.7 to 3.5.0.
- [Release notes](https://github.com/Detegr/rust-ctrlc/releases)
- [Commits](https://github.com/Detegr/rust-ctrlc/commits)

---
updated-dependencies:
- dependency-name: ctrlc
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-09-10 09:53:31 +01:00
dependabot[bot] 46592afbcb chore(deps): bump clap from 4.5.45 to 4.5.46
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.45 to 4.5.46.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.45...clap_complete-v4.5.46)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.46
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-09-07 09:56:16 +01:00
dependabot[bot] d9c0faeebe chore(deps): bump thiserror from 2.0.14 to 2.0.15
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.14 to 2.0.15.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.14...2.0.15)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-version: 2.0.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-08-26 11:27:23 +01:00
dependabot[bot] 549021c728 chore(deps): bump reqwest from 0.12.22 to 0.12.23
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.22 to 0.12.23.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.22...v0.12.23)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-version: 0.12.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-08-26 11:27:04 +01:00
dependabot[bot] 0ba5fbc7a4 chore(deps): bump clap from 4.5.44 to 4.5.45
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.44 to 4.5.45.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.44...clap_complete-v4.5.45)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.45
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-08-26 11:26:30 +01:00
dependabot[bot] 6c28289f9e chore(deps): bump clap from 4.5.42 to 4.5.44
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.42 to 4.5.44.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.42...clap_complete-v4.5.44)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.44
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-08-18 09:49:58 +01:00
dependabot[bot] aec731071e chore(deps): bump thiserror from 2.0.12 to 2.0.14
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.12 to 2.0.14.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.12...2.0.14)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-version: 2.0.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-08-18 09:49:48 +01:00
dependabot[bot] cba1bd64b0 chore(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-08-18 09:49:35 +01:00
dependabot[bot] 6c1d2694a6 chore(deps): bump clap from 4.5.41 to 4.5.42
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.41 to 4.5.42.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.41...clap_complete-v4.5.42)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.42
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-08-05 15:44:10 +02:00
dependabot[bot] 8a79249fc6 chore(deps): bump tokio from 1.46.1 to 1.47.1
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.46.1 to 1.47.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.46.1...tokio-1.47.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-version: 1.47.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-08-05 15:43:57 +02:00
dependabot[bot] 694f6033d6 chore(deps): bump clap from 4.5.40 to 4.5.41
---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.41
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-07-15 10:05:56 +01:00
dependabot[bot] fe7441b88d chore(deps): bump tokio from 1.45.1 to 1.46.1
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.45.1 to 1.46.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.45.1...tokio-1.46.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-version: 1.46.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-07-09 16:11:10 +01:00
dependabot[bot] 24cae4b725 chore(deps): bump indicatif from 0.17.12 to 0.18.0
Bumps [indicatif](https://github.com/console-rs/indicatif) from 0.17.12 to 0.18.0.
- [Release notes](https://github.com/console-rs/indicatif/releases)
- [Commits](https://github.com/console-rs/indicatif/compare/0.17.12...0.18.0)

---
updated-dependencies:
- dependency-name: indicatif
  dependency-version: 0.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-07-09 16:10:46 +01:00
dependabot[bot] d19512cb5d chore(deps): bump reqwest from 0.12.21 to 0.12.22
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.21 to 0.12.22.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.21...v0.12.22)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-version: 0.12.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-07-08 11:31:05 +01:00
dependabot[bot] d56906e25c chore(deps): bump md5 from 0.7.0 to 0.8.0
Bumps [md5](https://github.com/stainless-steel/md5) from 0.7.0 to 0.8.0.
- [Commits](https://github.com/stainless-steel/md5/commits)

---
updated-dependencies:
- dependency-name: md5
  dependency-version: 0.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-07-01 19:43:15 +01:00
dependabot[bot] 7505277bd0 chore(deps): bump reqwest from 0.12.20 to 0.12.21
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.20 to 0.12.21.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/commits)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-version: 0.12.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-07-01 19:38:19 +01:00
dependabot[bot] 3c87777406 chore(deps): bump indicatif from 0.17.11 to 0.17.12
Bumps [indicatif](https://github.com/console-rs/indicatif) from 0.17.11 to 0.17.12.
- [Release notes](https://github.com/console-rs/indicatif/releases)
- [Commits](https://github.com/console-rs/indicatif/compare/0.17.11...0.17.12)

---
updated-dependencies:
- dependency-name: indicatif
  dependency-version: 0.17.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-07-01 19:38:05 +01:00
dependabot[bot] 3b55538263 chore(deps): bump reqwest from 0.12.19 to 0.12.20
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.19 to 0.12.20.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.19...v0.12.20)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-version: 0.12.20
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-06-17 02:03:27 +01:00
dependabot[bot] 04014886ea chore(deps): bump clap from 4.5.39 to 4.5.40
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.39 to 4.5.40.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.39...clap_complete-v4.5.40)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-06-10 06:15:27 +01:00
dependabot[bot] e34c77ddcb chore(deps): bump serde-xml-rs from 0.8.0 to 0.8.1
Bumps [serde-xml-rs](https://github.com/RReverser/serde-xml-rs) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/RReverser/serde-xml-rs/releases)
- [Commits](https://github.com/RReverser/serde-xml-rs/compare/0.8.0...0.8.1)

---
updated-dependencies:
- dependency-name: serde-xml-rs
  dependency-version: 0.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-06-03 10:33:24 +01:00
dependabot[bot] 45de4e2f70 chore(deps): bump clap from 4.5.38 to 4.5.39
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.38 to 4.5.39.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.38...clap_complete-v4.5.39)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.39
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-06-03 10:33:01 +01:00
dependabot[bot] 5d99754f24 chore(deps): bump reqwest from 0.12.15 to 0.12.19
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.15 to 0.12.19.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.15...v0.12.19)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-version: 0.12.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2025-06-03 10:32:42 +01:00
Martin Wimpress 6e66b5a02e fix(ci): fix the release workflow 2025-05-26 00:04:05 +01:00
Martin Wimpress 0e0ae8ba33 docs: update README.md 2025-05-25 23:56:52 +01:00
Martin Wimpress 8cee3c672d docs: add new demo 2025-05-25 23:42:37 +01:00
Martin Wimpress 9522c164cd chore: update dependencies
- Upgrade dependencies to their latest versions
2025-05-25 22:59:59 +01:00
Martin Wimpress 7ea122d5bb ui: replace emoji with coloured unicode symbols/glyphs
This commit enhances the user interface by adding coloured glyphs/symbols instead of emoji.

- Added the coloured crate as a dependency.
- Modified downloader.rs to incorporate coloured output for download status, MD5 hashing, and error messages.
- Updated main.rs to use colours in spinner messages and validation feedback.
- Modified utils.rs to format progress bar messages with colours.
- Reduced the LARGE_FILE_THRESHOLD in downloader.rs from 16MB to 2MB, to trigger hashing progress bar more frequently.
2025-05-25 17:22:39 +01:00
Martin Wimpress 404032b8c0 docs: safe unwrap in URL processing
- Adds a comment explaining why the unwrap operation on the URL identifier is considered safe.
- Clarifies that the URL is validated before this operation, ensuring a valid identifier segment exists.
2025-05-25 14:44:50 +01:00
Martin Wimpress 93ca050292 fix: correct misleading error message
- Improves error message clarity for XML parsing failures.
- Specifies that the error occurs during parsing of _files.xml.
2025-05-25 14:44:50 +01:00
Martin Wimpress 3bc46f8f9d refactor: improve archive.org URL validation
- Improves archive.org URL validation to ensure the identifier after "/details/" is not empty.
- Updates error message for invalid URLs to provide a more descriptive explanation of the expected format.
- Streamlines error handling in the main function by directly displaying the error message from the validation function.
2025-05-25 14:44:50 +01:00
Martin Wimpress d7211b3dab refactor: renames error variant for XML parsing
- Updates the name of an error variant for better clarity
- Removes a redundant error variant
2025-05-25 14:44:50 +01:00
Martin Wimpress 033254ce2b ui: enhance download progress information with a counter
Adds a counter to the download progress display.

*   Displays the current file number and the total number of files being downloaded.
2025-05-25 13:55:02 +01:00
Martin Wimpress a7af6f5c85 refactor(main): centralise exit logic by returning Result
Removes direct calls to `std::process::exit` from `fetch_xml_metadata` and error handling blocks within `main`. These functions now propagate errors by returning `Result`.

This change improves testability and aligns with idiomatic Rust error handling, allowing `main` to be the single point of exit for the application on error. Spinner messages for context are retained.
2025-05-25 13:23:29 +01:00
Martin Wimpress 8c739b0da3 fix(url): correctly handle trailing slashes in get_xml_url and update tests
The `get_xml_url` function has been updated to ensure consistent identifier extraction from archive.org details URLs, regardless of the presence of a trailing slash. This is achieved by trimming any trailing slash before splitting the URL to find the identifier.

The corresponding unit tests in `check_get_xml_url` have been revised to accurately reflect and verify this behavior, covering cases with and without trailing slashes for various URL patterns. This ensures the correct formation of the XML metadata URL.
2025-05-25 13:23:29 +01:00
Martin Wimpress 9a041a859a refactor: consolidate URL validation and extract constants
- Move URL validation to utils.rs with lazy static regex compilation
- Extract XML_DEBUG_TRUNCATE_LEN constant to constants.rs
- Centralise URL pattern validation logic to eliminate duplication
2025-05-25 13:23:29 +01:00
Martin Wimpress a8cac0cde7 style: make ui consistent 2025-05-25 12:18:35 +01:00
Martin Wimpress 30bb8dbb5d fix(downloader): fix resume download corruption and hash verification
- Add proper file seeking to end of file before resuming downloads
- Improve range request logic to only apply when file_size > 0
- Set initial progress bar position for resumed downloads
- Add file.flush() to ensure data is written before hash verification
- Conditionally show download stats only when bytes were downloaded

Fixes regression from v0.1.0 where interrupted downloads would fail hash verification due to corrupted file content when resumed.
2025-05-25 11:57:03 +01:00
Martin Wimpress b8c737ea29 refactor: streamline XML processing pipeline
- Combine XML URL generation and fetching into single function
- Consolidate multi-step XML derivation, validation, and parsing flow
- Reduce intermediate error handling steps for better readability
- Simplify XML metadata processing from discrete steps to unified operation
2025-05-25 11:41:28 +01:00
Martin Wimpress e8db2e1d91 refactor: move signal handling into downloader module
- Relocate signal handler setup from main to downloader module
- Encapsulate signal handling as internal concern of download operations
- Simplify main function by removing signal-related complexity
- Reduce coupling between application initialization and download control
2025-05-25 11:28:27 +01:00