aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2023-01-14 20:05:38 +0100
committerDaniel Schadt <kingdread@gmx.de>2023-01-14 20:05:38 +0100
commitba171bad33767ad52e0900760358bac3df69f896 (patch)
treee82d81ae4cf0ebf12116367a68b870ee5c29a713 /src/main.rs
parent767b239776c23d9aa31c5d0b594ba200c430a8bb (diff)
downloadhittekaart-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.rs8
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);
}