diff options
author | Daniel Schadt <kingdread@gmx.de> | 2023-01-14 20:05:38 +0100 |
---|---|---|
committer | Daniel Schadt <kingdread@gmx.de> | 2023-01-14 20:05:38 +0100 |
commit | ba171bad33767ad52e0900760358bac3df69f896 (patch) | |
tree | e82d81ae4cf0ebf12116367a68b870ee5c29a713 /src/main.rs | |
parent | 767b239776c23d9aa31c5d0b594ba200c430a8bb (diff) | |
download | hittekaart-ba171bad33767ad52e0900760358bac3df69f896.tar.gz hittekaart-ba171bad33767ad52e0900760358bac3df69f896.tar.bz2 hittekaart-ba171bad33767ad52e0900760358bac3df69f896.zip |
add support for reading brotli and gzip files
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs index f4a7aa7..e2dacb7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,7 +5,7 @@ use std::{ }; use clap::Parser; -use color_eyre::eyre::{bail, Context, Result}; +use color_eyre::eyre::{bail, eyre, Context, Result}; use indicatif::{MultiProgress, ProgressBar, ProgressDrawTarget, ProgressStyle}; use is_terminal::IsTerminal; use rayon::ThreadPoolBuilder; @@ -14,6 +14,8 @@ mod gpx; mod layer; mod renderer; +use gpx::Compression; + #[derive(Parser, Debug, Clone)] #[command(author, version, about)] struct Args { @@ -70,7 +72,9 @@ fn main() -> Result<()> { let mut tracks = Vec::new(); for file in &args.files { - let data = gpx::extract_from_file(file, gpx::Compression::None).unwrap(); + let compression = Compression::suggest_from_path(file) + .ok_or_else(|| eyre!("Could not determine format for {file:?}"))?; + let data = gpx::extract_from_file(file, compression)?; tracks.push(data); bar.inc(1); } |