From 3e8ed19be551b17f226a1810e896d58535f44d80 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 26 Sep 2020 20:44:55 +0100 Subject: [PATCH] wip library-add Signed-off-by: Ian Jackson --- src/bin/otter.rs | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/bin/otter.rs b/src/bin/otter.rs index 1c1cc82c..e532409a 100644 --- a/src/bin/otter.rs +++ b/src/bin/otter.rs @@ -564,3 +564,51 @@ mod reset_game { call, )} } + +//---------- library-sdd ---------- + +mod library_add { + use super::*; + + #[derive(Default,Debug)] + struct Args { + name: String, + lib: String, + pat: String, + } + + fn subargs(sa: &mut Args) -> ArgumentParser { + use argparse::*; + let mut ap = ArgumentParser::new(); +/* .add_option(&["--no-add-markers"],StoreOption, + "reset the players and access too"); +*/ + ap.refer(&mut sa.name).required() + .add_argument("TABLE-NAME",Store,"table name"); + ap.refer(&mut sa.lib).required() + .add_argument("LIB-NAME",Store,"library name"); + ap.refer(&mut sa.pat).required() + .add_argument("ITEM-GLOB-PATTERN",Store,"item glob pattern"); + ap + } + + fn call(_sc: &Subcommand, ma: MainOpts, args: Vec) ->Result<(),AE> { + let args = parse_args::(args, &subargs, None, None); + let mut chan = ConnForGame { + conn: connect(&ma)?, + name: args.name.clone(), + how: MgmtGameUpdateMode::Online, + }; + let markers = chan.get_pieces()?.into_iter().filter( + |p| p.itemname == "mgmt-library-load-marker" + ).collect::>(); + dbg!(&markers); + Ok(()) + } + + inventory::submit!{Subcommand( + "library-add", + "Add pieces from the shape libraries", + call, + )} +} -- 2.30.2