refactor: small code simplifications (#66)
Some checks failed
CI / ${{ matrix.name }} (${{ matrix.target }}) (false, Linux x86_64, ubuntu-latest, true, x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / ${{ matrix.name }} (${{ matrix.target }}) (false, Windows x86_64, windows-latest, true, x86_64-pc-windows-gnu) (push) Has been cancelled
CI / ${{ matrix.name }} (${{ matrix.target }}) (false, macOS x86_64, macos-latest, true, x86_64-apple-darwin) (push) Has been cancelled
CI / ${{ matrix.name }} (${{ matrix.target }}) (true, Android, ubuntu-latest, true, aarch64-linux-android) (push) Has been cancelled
CI / ${{ matrix.name }} (${{ matrix.target }}) (true, FreeBSD, ubuntu-latest, true, x86_64-unknown-freebsd) (push) Has been cancelled
CI / render (push) Has been cancelled

This commit is contained in:
Bnyro 2024-12-06 13:29:00 +01:00 committed by GitHub
parent 634f6779a7
commit be550391c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -90,19 +90,17 @@ fn packages(
&format!("{pkg_manager:?}").to_lowercase(), &format!("{pkg_manager:?}").to_lowercase(),
) )
.unwrap_or(0), .unwrap_or(0),
PackageManager::Rpm => match get_macchina_package_count( PackageManager::Rpm => get_macchina_package_count(
macchina_package_count, macchina_package_count,
&format!("{pkg_manager:?}").to_lowercase(), &format!("{pkg_manager:?}").to_lowercase(),
) { )
Some(count) => count, .unwrap_or_else(|| {
None => { if !skip_slow {
if !skip_slow { run_and_count_lines("rpm", &["-qa"])
run_and_count_lines("rpm", &["-qa"]) } else {
} else { 0
0
}
} }
}, }),
PackageManager::Guix => run_and_count_lines("guix", &["package", "--list-installed"]), PackageManager::Guix => run_and_count_lines("guix", &["package", "--list-installed"]),
PackageManager::Crux => { PackageManager::Crux => {
if check_if_command_exists("crux") { if check_if_command_exists("crux") {
@ -139,37 +137,31 @@ pub fn user_at_hostname(
username_override: &Option<String>, username_override: &Option<String>,
hostname_override: &Option<String>, hostname_override: &Option<String>,
) -> Option<String> { ) -> Option<String> {
let username = match username_override { let username = username_override
Some(username) => Ok(username.to_string()), .to_owned()
None => general_readout.username(), .or_else(|| general_readout.username().ok());
}; let hostname = hostname_override
let hostname = match hostname_override { .to_owned()
Some(hostname) => Ok(hostname.to_string()), .or_else(|| general_readout.hostname().ok());
None => general_readout.hostname(),
}; if let (Some(username), Some(hostname)) = (username, hostname) {
if username.is_err() || hostname.is_err() { return Some(format!("{username}@{hostname}"));
None
} else {
Some(format!(
"{}@{}",
username.unwrap_or_default(),
hostname.unwrap_or_default()
))
} }
None
} }
pub fn memory(memory_readout: &MemoryReadout) -> Option<String> { pub fn memory(memory_readout: &MemoryReadout) -> Option<String> {
let total_memory = memory_readout.total(); let total_memory = memory_readout.total();
let used_memory = memory_readout.used(); let used_memory = memory_readout.used();
if total_memory.is_err() || used_memory.is_err() {
None if let (Ok(total_memory), Ok(used_memory)) = (total_memory, used_memory) {
} else { return Some(format!(
Some(format!(
"{}M / {}M", "{}M / {}M",
used_memory.unwrap() / 1024, used_memory / 1024,
total_memory.unwrap() / 1024 total_memory / 1024
)) ));
} }
None
} }
pub fn cpu(general_readout: &GeneralReadout) -> Option<String> { pub fn cpu(general_readout: &GeneralReadout) -> Option<String> {
@ -236,7 +228,7 @@ pub fn seconds_to_string(seconds: usize) -> String {
} }
pub fn uptime(general_readout: &GeneralReadout) -> Option<String> { pub fn uptime(general_readout: &GeneralReadout) -> Option<String> {
Some(seconds_to_string(general_readout.uptime().ok()?)) general_readout.uptime().ok().map(seconds_to_string)
} }
pub fn host(general_readout: &GeneralReadout) -> Option<String> { pub fn host(general_readout: &GeneralReadout) -> Option<String> {
@ -439,4 +431,3 @@ mod tests {
assert_eq!(seconds_to_string(90060), "1d 1h 1m".to_string()); assert_eq!(seconds_to_string(90060), "1d 1h 1m".to_string());
} }
} }