From 1866465b7a826597c274a16bf232a4661e7a17e8 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 19 May 2021 22:24:09 +0100 Subject: [PATCH] otter(1): Generalise alter-game-json ad-hoc subcommand (2) Signed-off-by: Ian Jackson --- src/bin/otter.rs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/bin/otter.rs b/src/bin/otter.rs index 7bc4128b..27860d1d 100644 --- a/src/bin/otter.rs +++ b/src/bin/otter.rs @@ -1398,18 +1398,22 @@ mod alter_game_adhoc { let args = parse_args::(args, subargs, &ok_id, None); let mut chan = access_game(&ma, &args.table_name)?; - let insns = args.insns.iter().enumerate().map(|(i,s)|{ - serde_json::from_str(&s) + let insns = args.insns.iter().enumerate().map(|(i,s)| match fmtname { + "json" => serde_json::from_str(&s).map_err(AE::from), + _ => panic!(), + } .with_context(|| s.clone()) .with_context(|| format!("parse insn (#{})", i)) - }).collect::,AE>>()?; + ).collect::,AE>>()?; let resps = chan.alter_game(insns,None)?; for resp in resps { - println!("{}", - serde_json::to_string(&resp) - .context("re-format response")?); + println!("{}", match fmtname { + "json" => serde_json::to_string(&resp).map_err(AE::from), + _ => panic!(), + } + .context("re-format response")?); } Ok(()) } -- 2.30.2