diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2024-02-25 22:06:19 +0000 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2024-02-25 22:06:19 +0000 |
| commit | a9c6be4162bd15bd41ba3605127b56cb1eb32f32 (patch) | |
| tree | 6d97b0c6286b1eabb2ef5cab34b472f1622584e5 /src/command/status | |
| parent | 53812065cf124b6c1bc40fceec46f8c161033e29 (diff) | |
Add part of the implementation for add
Diffstat (limited to 'src/command/status')
| -rw-r--r-- | src/command/status/configuration_status.rs | 25 | ||||
| -rw-r--r-- | src/command/status/mod.rs | 7 |
2 files changed, 16 insertions, 16 deletions
diff --git a/src/command/status/configuration_status.rs b/src/command/status/configuration_status.rs index 67bf277..6d4e56a 100644 --- a/src/command/status/configuration_status.rs +++ b/src/command/status/configuration_status.rs @@ -2,36 +2,35 @@ use std::fs; use std::path::PathBuf; use crate::configuration::Configuration; -pub fn status() -> String { - let configuration = Configuration::new(); +pub fn status(configuration: &Configuration) -> String { let mut status_message = String::new(); status_message.push_str("# Configuration\n"); - status_message.push_str("## Directories\n"); + status_message.push_str("\n## Directories\n"); // Main Configuration Locations - 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("Output", configuration.output_directory)); + 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("Output", &configuration.output_directory)); - status_message.push_str("## Blog Settings\n"); + status_message.push_str("\n## Blog Settings\n"); status_message.push_str(&format!("Number of posts to keep: {}\n", configuration.max_posts)); status_message } -fn get_directory_stats(label: &str, directory: PathBuf) -> String { +fn get_directory_stats(label: &str, directory: &PathBuf) -> String { let mut status_message = String::new(); - status_message.push_str(&format!("{}: {}\n", label, directory.display())); + status_message.push_str(&format!("{}: {}. ", label, directory.display())); if directory.exists() { - status_message.push_str(&format!("{} directory exists.\n", label)); + status_message.push_str("Exists "); if fs::read_dir(&directory).is_ok() { - status_message.push_str(&format!("{} directory is readable.\n", label)); + status_message.push_str("and is readable.\n"); } else { - status_message.push_str(&format!("{} directory is not readable.\n", label)); + status_message.push_str("but is not readable.\n"); } } else { - status_message.push_str(&format!("{} directory does not exist.\n", label)); + status_message.push_str("Does not exist.\n"); } status_message diff --git a/src/command/status/mod.rs b/src/command/status/mod.rs index ba73184..e8754f5 100644 --- a/src/command/status/mod.rs +++ b/src/command/status/mod.rs @@ -1,6 +1,7 @@ mod configuration_status; use std::io::Result; +use crate::configuration::Configuration; pub struct Status; @@ -15,10 +16,10 @@ impl super::Command for Status { vec![] } - fn execute(&self, _: Option<&String>) -> Result<()> { + fn execute(&self, _: Option<&String>, configuration: &Configuration, _: &String) -> Result<()> { let status_providers = available_status_providers(); for status_provider in status_providers { - println!("{}", status_provider()); + println!("{}", status_provider(configuration)); } return Ok(()) } @@ -36,7 +37,7 @@ impl super::Command for Status { } } -fn available_status_providers() -> Vec<fn() -> String> { +fn available_status_providers() -> Vec<fn(&Configuration) -> String> { vec![ configuration_status::status, ] |