summaryrefslogtreecommitdiff
path: root/src/cmd/list.rs
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-04-10 09:19:03 +0300
committerLars Wirzenius <liw@liw.fi>2021-04-10 10:29:27 +0300
commitc196a68471dd9dafbcc4030342aa4164d7a2d3e3 (patch)
treee1c3441158fa4843ad8f0bf1165417ad6e69aed9 /src/cmd/list.rs
parent82eb02a0437ba8a7bf2025f5b61864b450ee68b2 (diff)
downloadobnam2-c196a68471dd9dafbcc4030342aa4164d7a2d3e3.tar.gz
refactor: struct List subcommand
Diffstat (limited to 'src/cmd/list.rs')
-rw-r--r--src/cmd/list.rs20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/cmd/list.rs b/src/cmd/list.rs
index f48512b..66036b9 100644
--- a/src/cmd/list.rs
+++ b/src/cmd/list.rs
@@ -1,14 +1,20 @@
use crate::client::BackupClient;
use crate::config::ClientConfig;
use crate::error::ObnamError;
+use structopt::StructOpt;
-pub fn list(config: &ClientConfig) -> Result<(), ObnamError> {
- let client = BackupClient::new(config)?;
+#[derive(Debug, StructOpt)]
+pub struct List {}
- let generations = client.list_generations()?;
- for finished in generations.iter() {
- println!("{} {}", finished.id(), finished.ended());
- }
+impl List {
+ pub fn run(&self, config: &ClientConfig) -> Result<(), ObnamError> {
+ let client = BackupClient::new(config)?;
+
+ let generations = client.list_generations()?;
+ for finished in generations.iter() {
+ println!("{} {}", finished.id(), finished.ended());
+ }
- Ok(())
+ Ok(())
+ }
}