From 958839c264b3ef36ef1bc74a4794fc383cc39292 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 10 Apr 2021 09:48:40 +0300 Subject: refactor: struct ShowConfig subcommand --- src/bin/obnam.rs | 10 +++++----- src/cmd/mod.rs | 4 +--- src/cmd/show_config.rs | 12 +++++++++--- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/bin/obnam.rs b/src/bin/obnam.rs index a064bf9..0f3da30 100644 --- a/src/bin/obnam.rs +++ b/src/bin/obnam.rs @@ -1,14 +1,14 @@ use directories_next::ProjectDirs; use log::{debug, error, info, LevelFilter}; use log4rs::append::file::FileAppender; -use log4rs::config::{Appender, Config, Logger, Root}; +use log4rs::config::{Appender, Logger, Root}; use obnam::cmd::backup::Backup; use obnam::cmd::get_chunk::GetChunk; use obnam::cmd::init::Init; use obnam::cmd::list::List; use obnam::cmd::list_files::ListFiles; use obnam::cmd::restore::Restore; -use obnam::cmd::show_config; +use obnam::cmd::show_config::ShowConfig; use obnam::cmd::show_gen::ShowGeneration; use obnam::config::ClientConfig; use std::path::{Path, PathBuf}; @@ -40,7 +40,7 @@ fn main() -> anyhow::Result<()> { Command::ListFiles(x) => x.run(&config), Command::Restore(x) => x.run(&config), Command::GetChunk(x) => x.run(&config), - Command::Config => show_config(&config), + Command::Config(x) => x.run(&config), } }; @@ -56,7 +56,7 @@ fn main() -> anyhow::Result<()> { fn setup_logging(filename: &Path) -> anyhow::Result<()> { let logfile = FileAppender::builder().build(filename)?; - let config = Config::builder() + let config = log4rs::Config::builder() .appender(Appender::builder().build("obnam", Box::new(logfile))) .logger(Logger::builder().build("obnam", LevelFilter::Debug)) .build(Root::builder().appender("obnam").build(LevelFilter::Debug))?; @@ -108,5 +108,5 @@ enum Command { Restore(Restore), ShowGeneration(ShowGeneration), GetChunk(GetChunk), - Config, + Config(ShowConfig), } diff --git a/src/cmd/mod.rs b/src/cmd/mod.rs index 02f4f01..890e176 100644 --- a/src/cmd/mod.rs +++ b/src/cmd/mod.rs @@ -4,7 +4,5 @@ pub mod init; pub mod list; pub mod list_files; pub mod restore; -pub mod show_gen; - pub mod show_config; -pub use show_config::show_config; +pub mod show_gen; diff --git a/src/cmd/show_config.rs b/src/cmd/show_config.rs index 88ee9ec..424e2ed 100644 --- a/src/cmd/show_config.rs +++ b/src/cmd/show_config.rs @@ -1,7 +1,13 @@ use crate::config::ClientConfig; use crate::error::ObnamError; +use structopt::StructOpt; -pub fn show_config(config: &ClientConfig) -> Result<(), ObnamError> { - println!("{}", serde_json::to_string_pretty(&config.config())?); - Ok(()) +#[derive(Debug, StructOpt)] +pub struct ShowConfig {} + +impl ShowConfig { + pub fn run(&self, config: &ClientConfig) -> Result<(), ObnamError> { + println!("{}", serde_json::to_string_pretty(&config.config())?); + Ok(()) + } } -- cgit v1.2.1