Add a verbose/quiet pair of flags
This commit is contained in:
parent
782cde2663
commit
8726a1c6bf
4 changed files with 24 additions and 4 deletions
|
@ -1,6 +1,7 @@
|
|||
use std::path::PathBuf;
|
||||
|
||||
use clap::{command, Parser, Subcommand};
|
||||
use clap_verbosity_flag::{InfoLevel, Verbosity};
|
||||
use serde::Serialize;
|
||||
|
||||
#[derive(Parser, Serialize)]
|
||||
|
@ -27,6 +28,10 @@ pub(crate) struct Opts {
|
|||
#[command(subcommand)]
|
||||
#[serde(flatten)]
|
||||
pub command: Commands,
|
||||
|
||||
#[command(flatten)]
|
||||
#[serde(skip)]
|
||||
pub verbose: Verbosity<InfoLevel>,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Subcommand)]
|
||||
|
@ -78,7 +83,7 @@ pub(crate) enum PeopleCommands {
|
|||
/// Synchronises date of births from a vcard file
|
||||
#[serde(rename = "sync_date_of_births")]
|
||||
SyncDateOfBirths {
|
||||
#[arg(short, long)]
|
||||
#[arg(long)]
|
||||
#[serde(skip_serializing_if = "::std::option::Option::is_none")]
|
||||
vcard: Option<PathBuf>,
|
||||
},
|
||||
|
|
|
@ -39,7 +39,12 @@ mod utils;
|
|||
#[tokio::main]
|
||||
async fn main() -> Result<()> {
|
||||
color_eyre::install()?;
|
||||
pretty_env_logger::init();
|
||||
|
||||
let args = args::Opts::parse();
|
||||
|
||||
pretty_env_logger::formatted_timed_builder()
|
||||
.filter_level(args.verbose.log_level_filter())
|
||||
.init();
|
||||
|
||||
let mut conf_extractor = Figment::new();
|
||||
if let Some(project_dirs) = ProjectDirs::from("fr", "enoent", "Immich Tools") {
|
||||
|
@ -53,8 +58,6 @@ async fn main() -> Result<()> {
|
|||
warn!("Unable to determine configuration file path");
|
||||
}
|
||||
|
||||
let args = args::Opts::parse();
|
||||
|
||||
let conf: Config = conf_extractor
|
||||
.merge(FileAdapter::wrap(Env::prefixed("IMMICH_TOOLS_")))
|
||||
.merge(Serialized::defaults(&args))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue