aboutsummaryrefslogtreecommitdiff
path: root/src/command/status/configuration_status.rs
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-04-06 00:57:56 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2025-04-06 00:57:56 +0200
commitd0f582b98712d967b2f95d0405886d063bd89468 (patch)
treecc644c21278d336772557366bcdd3e46b22065db /src/command/status/configuration_status.rs
parent8b3b94a38b443c50afc5b42cca45db7c18ce280d (diff)
Get stricter clippy
Diffstat (limited to 'src/command/status/configuration_status.rs')
-rw-r--r--src/command/status/configuration_status.rs27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/command/status/configuration_status.rs b/src/command/status/configuration_status.rs
index 96555c6..7babff8 100644
--- a/src/command/status/configuration_status.rs
+++ b/src/command/status/configuration_status.rs
@@ -1,8 +1,10 @@
use crate::configuration::Configuration;
+use std::fmt::Write;
use std::fs;
+use std::io::{Error, ErrorKind, Result};
use std::path::PathBuf;
-pub fn status(configuration: &Configuration) -> String {
+pub fn status(configuration: &Configuration) -> Result<String> {
let mut status_message = String::new();
status_message.push_str("# Configuration\n");
@@ -12,25 +14,28 @@ pub fn status(configuration: &Configuration) -> String {
status_message.push_str(&get_directory_stats(
"Configuration",
&configuration.config_directory,
- ));
- status_message.push_str(&get_directory_stats("Data", &configuration.data_directory));
+ )?);
+ status_message.push_str(&get_directory_stats("Data", &configuration.data_directory)?);
status_message.push_str(&get_directory_stats(
"Output",
&configuration.output_directory,
- ));
+ )?);
status_message.push_str("\n## Blog Settings\n");
- status_message.push_str(&format!(
- "Number of posts to keep: {}\n",
+ writeln!(
+ &mut status_message,
+ "Number of posts to keep: {}",
configuration.max_posts
- ));
- status_message
+ )
+ .map_err(|_| Error::new(ErrorKind::Other, "Unable to write status"))?;
+ Ok(status_message)
}
-fn get_directory_stats(label: &str, directory: &PathBuf) -> String {
+fn get_directory_stats(label: &str, directory: &PathBuf) -> Result<String> {
let mut status_message = String::new();
- status_message.push_str(&format!("{}: {}. ", label, directory.display()));
+ write!(&mut status_message, "{}: {}. ", label, directory.display())
+ .map_err(|_| Error::new(ErrorKind::Other, "Unable to write status"))?;
if directory.exists() {
status_message.push_str("Exists ");
if fs::read_dir(directory).is_ok() {
@@ -42,5 +47,5 @@ fn get_directory_stats(label: &str, directory: &PathBuf) -> String {
status_message.push_str("Does not exist.\n");
}
- status_message
+ Ok(status_message)
}