From 1d3745f44c74b909fc508bacb6909adba4e2e359 Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Tue, 14 Mar 2023 22:48:05 +0800 Subject: [PATCH] feat: update list subcommand --- src/cmd_list.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/cmd_list.rs b/src/cmd_list.rs index 05bf99d..7dff0d9 100644 --- a/src/cmd_list.rs +++ b/src/cmd_list.rs @@ -18,19 +18,26 @@ impl Command for CommandImpl { let json_output = sub_arg_matches.is_present("json"); if json_output { rust_util::util_msg::set_logger_std_out(false); } - let yk = opt_result!(YubiKey::open(), "YubiKey not found: {}"); + let mut yk = opt_result!(YubiKey::open(), "YubiKey not found: {}"); if json_output { let mut json = BTreeMap::<&'_ str, String>::new(); json.insert("name", yk.name().to_string()); json.insert("version", yk.version().to_string()); json.insert("serial", yk.serial().0.to_string()); + if let Ok(pin_retries) = yk.get_pin_retries() { + json.insert("pin_retries", pin_retries.to_string()); + } println!("{}", serde_json::to_string_pretty(&json).expect("Convert to JSON failed!")); } else { success!("Name: {}", yk.name()); success!("Version: {}", yk.version()); success!("Serial: {}", yk.serial().0); + // success!("{:?}", yk.config()); + if let Ok(pin_retries) = yk.get_pin_retries() { + success!("Pin retries: {}", pin_retries); + } } Ok(None)