From f46e19447a1d4adbdebd3e9e448e2445327b40f1 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Mon, 9 Nov 2020 10:02:58 +0200 Subject: start on obnam-list --- src/bin/obnam-list.rs | 27 +++++++++++++++++++++++++++ src/bin/obnam-server.rs | 6 +++++- src/client.rs | 4 ++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 src/bin/obnam-list.rs (limited to 'src') diff --git a/src/bin/obnam-list.rs b/src/bin/obnam-list.rs new file mode 100644 index 0000000..18c49f1 --- /dev/null +++ b/src/bin/obnam-list.rs @@ -0,0 +1,27 @@ +use log::{debug, info}; +use obnam::client::{BackupClient, ClientConfig}; +use std::path::PathBuf; +use structopt::StructOpt; + +fn main() -> anyhow::Result<()> { + pretty_env_logger::init(); + + let opt = Opt::from_args(); + info!("obnam-list starts"); + debug!("opt: {:?}", opt); + let config = ClientConfig::read_config(&opt.config)?; + let client = BackupClient::new(&config.server_name, config.server_port)?; + + for gen_id in client.list_generations()? { + println!("{}", gen_id); + } + + Ok(()) +} + +#[derive(Debug, StructOpt)] +#[structopt(name = "obnam-backup", about = "Simplistic backup client")] +struct Opt { + #[structopt(parse(from_os_str))] + config: PathBuf, +} diff --git a/src/bin/obnam-server.rs b/src/bin/obnam-server.rs index cc21855..4e53953 100644 --- a/src/bin/obnam-server.rs +++ b/src/bin/obnam-server.rs @@ -195,7 +195,11 @@ pub async fn search_chunks( error!("search has more than one key to search for"); return Ok(ChunkResult::BadRequest); } - index.find(&key, &value) + if key == "generation" && value == "true" { + index.find_generations() + } else { + index.find(&key, &value) + } } else { error!("search has no key to search for"); return Ok(ChunkResult::BadRequest); diff --git a/src/client.rs b/src/client.rs index e7b5a3e..5402588 100644 --- a/src/client.rs +++ b/src/client.rs @@ -163,4 +163,8 @@ impl BackupClient { Ok(chunk_ids) } + + pub fn list_generations(&self) -> anyhow::Result> { + Ok(vec![]) + } } -- cgit v1.2.1