make logging variable via args
This commit is contained in:
parent
898fbb0c4e
commit
a98c8470b0
29
src/main.rs
29
src/main.rs
@ -1,6 +1,6 @@
|
|||||||
use std::{cmp::Ordering, path::Path};
|
use std::{cmp::Ordering, path::Path, str::FromStr};
|
||||||
|
|
||||||
use clap::Parser;
|
use clap::{ArgAction, Parser};
|
||||||
use color_eyre::eyre::Result;
|
use color_eyre::eyre::Result;
|
||||||
use icu_locid::locale;
|
use icu_locid::locale;
|
||||||
use log::{debug, error, info};
|
use log::{debug, error, info};
|
||||||
@ -9,11 +9,26 @@ use spreadsheet_ods::{
|
|||||||
formula::{fcellref, fcellrefa, fcellrefa_table},
|
formula::{fcellref, fcellrefa, fcellrefa_table},
|
||||||
write_ods, Sheet, WorkBook,
|
write_ods, Sheet, WorkBook,
|
||||||
};
|
};
|
||||||
|
use stderrlog::Timestamp;
|
||||||
|
|
||||||
|
/// Takes multiple csv bom files as input and combines them into one big ods file.
|
||||||
|
/// Parts will be grouped by value, footprint and WE Part number.
|
||||||
|
/// The summary is sorted by footprint first, then value.
|
||||||
#[derive(Parser, Debug)]
|
#[derive(Parser, Debug)]
|
||||||
struct Args {
|
struct Args {
|
||||||
|
#[arg(short, long)]
|
||||||
|
/// Silence all output
|
||||||
|
quiet: bool,
|
||||||
|
#[arg(short, long, action = ArgAction::Count)]
|
||||||
|
/// verbosity
|
||||||
|
verbose: u8,
|
||||||
|
#[arg(short, long)]
|
||||||
|
/// prepend log lines with a timestamp [none, sec, ms, ns]
|
||||||
|
timestamp: Option<String>,
|
||||||
|
/// csv bom files exported from KiCad
|
||||||
#[arg(required = true)]
|
#[arg(required = true)]
|
||||||
input: Vec<String>,
|
input: Vec<String>,
|
||||||
|
/// output ods file
|
||||||
output: String,
|
output: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,11 +54,17 @@ struct Bom {
|
|||||||
|
|
||||||
fn main() -> Result<()> {
|
fn main() -> Result<()> {
|
||||||
color_eyre::install()?;
|
color_eyre::install()?;
|
||||||
|
let args = Args::parse();
|
||||||
stderrlog::new()
|
stderrlog::new()
|
||||||
.module(module_path!())
|
.module(module_path!())
|
||||||
.verbosity(2)
|
.quiet(args.quiet)
|
||||||
|
.verbosity(args.verbose as usize)
|
||||||
|
.timestamp(
|
||||||
|
args.timestamp
|
||||||
|
.map(|v| Timestamp::from_str(&v).unwrap())
|
||||||
|
.unwrap_or(Timestamp::Off),
|
||||||
|
)
|
||||||
.init()?;
|
.init()?;
|
||||||
let args = Args::parse();
|
|
||||||
|
|
||||||
let mut boms = vec![];
|
let mut boms = vec![];
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user