summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-04-10 09:48:40 +0300
committerLars Wirzenius <liw@liw.fi>2021-04-10 10:29:27 +0300
commit958839c264b3ef36ef1bc74a4794fc383cc39292 (patch)
tree3565e1e7d7672629fa1756d25445f9eab1b2a369
parent20a5db2cc1b348087bca5e689ed38f98e1150955 (diff)
downloadobnam2-958839c264b3ef36ef1bc74a4794fc383cc39292.tar.gz
refactor: struct ShowConfig subcommand
-rw-r--r--src/bin/obnam.rs10
-rw-r--r--src/cmd/mod.rs4
-rw-r--r--src/cmd/show_config.rs12
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(())
+ }
}