diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs index fdcdd47..187c0fe 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,5 @@ use axum::{Json, Router, extract::State, routing::get}; +use clap::Parser; use native_tls::TlsConnector; use printstats::*; use reqwest::Client; @@ -12,11 +13,20 @@ use tokio::task::{Id, JoinSet}; type StateMap = Arc<Mutex<HashMap<String, PrinterState>>>; +#[derive(Parser, Debug)] +#[command(about = "Print statistics scraper")] +struct Args { + /// Path to the configuration file + #[arg(long, default_value = "config.toml")] + config: String, +} + #[tokio::main] async fn main() { tracing_subscriber::fmt::init(); - let content = fs::read_to_string("config.toml").expect("Couldn't read config.toml"); + let args = Args::parse(); + let content = fs::read_to_string(&args.config).expect("Couldn't read config file"); let config = Config::load(&content); let state: StateMap = Arc::new(Mutex::new(HashMap::new())); let mut tasks = JoinSet::new(); |
