1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
use std::io::{self, Write}; use storage::Backend; use super::LalResult; /// Prints a list of versions associated with a component pub fn query(backend: &Backend, env: Option<&str>, component: &str, last: bool) -> LalResult<()> { if last { let ver = backend.get_latest_version(component, env)?; println!("{}", ver); } else { let vers = backend.get_versions(component, env)?; for v in vers { println!("{}", v); // needed because sigpipe handling is broken for stdout atm // see #36 - can probably be taken out in rust 1.16 or 1.17 // if `lal query media-engine | head` does not crash if io::stdout().flush().is_err() { return Ok(()); } } } Ok(()) }