};
let cmd = MgmtCommand::LibraryListByGlob { glob: args.pat.clone() };
- let items = chan.cmd(&cmd)?;
- dbg!(&items);
+ let mut items = match chan.cmd(&cmd)? {
+ MgmtResponse::LibraryItems(items) => items,
+ wat => Err(anyhow!("unexpected LibraryListByGlob response: {:?}",
+ &wat))?,
+ };
+ items.sort();
+ for it in &items {
+ println!("{:20} {}", it.itemname, it.f0desc.0);
+ }
Ok(())
}
#[serde(try_from="f64")]
pub struct ZCoord(pub f64);
-#[derive(Clone,Serialize,Deserialize)]
+#[derive(Clone,Serialize,Deserialize,Eq,Ord,PartialEq,PartialOrd)]
#[serde(transparent)]
pub struct Html (pub String);
outline: Box<dyn Outline>,
}
-#[derive(Debug,Clone,Serialize,Deserialize)]
+#[derive(Debug,Clone,Serialize,Deserialize,Eq,PartialEq,Ord,PartialOrd)]
pub struct ItemEnquiryData {
pub itemname: String,
pub f0desc: Html,