|
1 | | -use std::{collections::VecDeque, env, fs, io::Result, process::Command}; |
| 1 | +use std::{ |
| 2 | + collections::VecDeque, env, fs, intrinsics::atomic_singlethreadfence_seqcst, io::Result, |
| 3 | + process::Command, |
| 4 | +}; |
2 | 5 |
|
3 | 6 | use glob::glob; |
4 | 7 | use globset::Glob; |
@@ -139,37 +142,31 @@ pub fn user_at_hostname( |
139 | 142 | username_override: &Option<String>, |
140 | 143 | hostname_override: &Option<String>, |
141 | 144 | ) -> Option<String> { |
142 | | - let username = match username_override { |
143 | | - Some(username) => Ok(username.to_string()), |
144 | | - None => general_readout.username(), |
145 | | - }; |
146 | | - let hostname = match hostname_override { |
147 | | - Some(hostname) => Ok(hostname.to_string()), |
148 | | - None => general_readout.hostname(), |
149 | | - }; |
150 | | - if username.is_err() || hostname.is_err() { |
151 | | - None |
152 | | - } else { |
153 | | - Some(format!( |
154 | | - "{}@{}", |
155 | | - username.unwrap_or_default(), |
156 | | - hostname.unwrap_or_default() |
157 | | - )) |
| 145 | + let username = username_override |
| 146 | + .to_owned() |
| 147 | + .or_else(|| general_readout.username().ok()); |
| 148 | + let hostname = hostname_override |
| 149 | + .to_owned() |
| 150 | + .or_else(|| general_readout.hostname().ok()); |
| 151 | + |
| 152 | + if let (Some(username), Some(hostname)) = (username, hostname) { |
| 153 | + return Some(format!("{username}@{hostname}")); |
158 | 154 | } |
| 155 | + None |
159 | 156 | } |
160 | 157 |
|
161 | 158 | pub fn memory(memory_readout: &MemoryReadout) -> Option<String> { |
162 | 159 | let total_memory = memory_readout.total(); |
163 | 160 | let used_memory = memory_readout.used(); |
164 | | - if total_memory.is_err() || used_memory.is_err() { |
165 | | - None |
166 | | - } else { |
167 | | - Some(format!( |
| 161 | + |
| 162 | + if let (Ok(total_memory), Ok(used_memory)) = (total_memory, used_memory) { |
| 163 | + return Some(format!( |
168 | 164 | "{}M / {}M", |
169 | | - used_memory.unwrap() / 1024, |
170 | | - total_memory.unwrap() / 1024 |
171 | | - )) |
| 165 | + used_memory / 1024, |
| 166 | + total_memory / 1024 |
| 167 | + )); |
172 | 168 | } |
| 169 | + None |
173 | 170 | } |
174 | 171 |
|
175 | 172 | pub fn cpu(general_readout: &GeneralReadout) -> Option<String> { |
@@ -236,7 +233,10 @@ pub fn seconds_to_string(seconds: usize) -> String { |
236 | 233 | } |
237 | 234 |
|
238 | 235 | pub fn uptime(general_readout: &GeneralReadout) -> Option<String> { |
239 | | - Some(seconds_to_string(general_readout.uptime().ok()?)) |
| 236 | + general_readout |
| 237 | + .uptime() |
| 238 | + .ok() |
| 239 | + .map(|uptime| seconds_to_string(uptime)) |
240 | 240 | } |
241 | 241 |
|
242 | 242 | pub fn host(general_readout: &GeneralReadout) -> Option<String> { |
@@ -439,4 +439,3 @@ mod tests { |
439 | 439 | assert_eq!(seconds_to_string(90060), "1d 1h 1m".to_string()); |
440 | 440 | } |
441 | 441 | } |
442 | | - |
0 commit comments