usenet_reborn 0.2.2

Terminal-based Usenet NNTP client written in Rust with ratatui/crossterm.
use std::error::Error;
use std::process::Command;

// Here we use pass so works with gopass
// it expects servername/user to get password from
// password manager
pub fn get_password(username: &str, server: &str) -> Result<String, Box<dyn Error>> {
    let key = format!("{}/{}", server, username);
    let output = Command::new("pass")
        .arg("show")
        .arg("-o")
        .arg(&key)
        .output()?;
    if output.status.success() {
        Ok(String::from_utf8(output.stdout)?.trim().to_string())
    } else {
        Err(format!("Failed to retrieve password for key '{}'", key).into())
    }
}