Start implementing new LIST cmd. Fix version cmd

This commit is contained in:
Aram 🍐 2021-08-08 17:15:36 -04:00
parent cc409f853b
commit 8153d848c0
5 changed files with 187 additions and 32 deletions

View file

@ -1,7 +1,7 @@
use std::convert::TryInto;
use std::env;
use rups::blocking::Connection;
use rups::blocking::Client;
use rups::{Auth, ConfigBuilder};
fn main() -> rups::Result<()> {
@ -22,7 +22,7 @@ fn main() -> rups::Result<()> {
.with_debug(false) // Turn this on for debugging network chatter
.build();
let mut conn = Connection::new(&config)?;
let mut conn = Client::new(&config)?;
// Get server information
println!("NUT server:");
@ -34,34 +34,34 @@ fn main() -> rups::Result<()> {
for (name, description) in conn.list_ups()? {
println!("\t- Name: {}", name);
println!("\t Description: {}", description);
println!("\t Number of logins: {}", conn.get_num_logins(&name)?);
// Get list of mutable variables
let mutable_vars = conn.list_mutable_vars(&name)?;
// List UPS variables (key = val)
println!("\t Mutable Variables:");
for var in mutable_vars.iter() {
println!("\t\t- {}", var);
println!("\t\t {:?}", conn.get_var_type(&name, var.name())?);
}
// List UPS immutable properties (key = val)
println!("\t Immutable Properties:");
for var in conn.list_vars(&name)? {
if mutable_vars.iter().any(|v| v.name() == var.name()) {
continue;
}
println!("\t\t- {}", var);
println!("\t\t {:?}", conn.get_var_type(&name, var.name())?);
}
// List UPS commands
println!("\t Commands:");
for cmd in conn.list_commands(&name)? {
let description = conn.get_command_description(&name, &cmd)?;
println!("\t\t- {} ({})", cmd, description);
}
// println!("\t Number of logins: {}", conn.get_num_logins(&name)?);
//
// // Get list of mutable variables
// let mutable_vars = conn.list_mutable_vars(&name)?;
//
// // List UPS variables (key = val)
// println!("\t Mutable Variables:");
// for var in mutable_vars.iter() {
// println!("\t\t- {}", var);
// println!("\t\t {:?}", conn.get_var_type(&name, var.name())?);
// }
//
// // List UPS immutable properties (key = val)
// println!("\t Immutable Properties:");
// for var in conn.list_vars(&name)? {
// if mutable_vars.iter().any(|v| v.name() == var.name()) {
// continue;
// }
// println!("\t\t- {}", var);
// println!("\t\t {:?}", conn.get_var_type(&name, var.name())?);
// }
//
// // List UPS commands
// println!("\t Commands:");
// for cmd in conn.list_commands(&name)? {
// let description = conn.get_command_description(&name, &cmd)?;
// println!("\t\t- {} ({})", cmd, description);
// }
}
// Gracefully shut down the connection using the `LOGOUT` command