From 865a5c4e775b6b1e2a02dd7838f2719a9c98da06 Mon Sep 17 00:00:00 2001 From: Trevor Arjeski Date: Wed, 25 Mar 2026 07:12:47 +0000 Subject: [PATCH] bhwi-cli: fix json output formatting All devices should be within a json array, like with the python hwi cli tool. --- bhwi-cli/src/bin/bhwi.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bhwi-cli/src/bin/bhwi.rs b/bhwi-cli/src/bin/bhwi.rs index 8c03a63..145223b 100644 --- a/bhwi-cli/src/bin/bhwi.rs +++ b/bhwi-cli/src/bin/bhwi.rs @@ -75,8 +75,8 @@ async fn main() -> Result<()> { let dev_man = DeviceManager::new(config); match command { Commands::Device(DeviceCommands::List { format }) => { - let devices = dev_man.enumerate().await?; - for (i, mut device) in devices.into_iter().enumerate() { + let mut devices = dev_man.enumerate().await?; + for (i, device) in devices.iter_mut().enumerate() { device.device().unlock(dev_man.config.network).await?; let fingerprint = device.fingerprint().await?; let name = device.name(); @@ -90,10 +90,13 @@ async fn main() -> Result<()> { println!("{name:<18} | {is_emulated:<8} | {fingerprint:<15}"); println!("{}", "-".repeat(55)); } - Some(ListFormat::Json) => println!("{}", serde_json::to_string(&device)?), + Some(ListFormat::Json) => {} None => println!("{fingerprint}"), } } + if let Some(ListFormat::Json) = format { + println!("{}", serde_json::json![devices]) + } } Commands::Xpub(XpubCommands::Get { path }) => { if let Some(mut d) = dev_man.get_device_with_fingerprint().await? {