diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-04-06 00:57:56 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-04-06 00:57:56 +0200 |
| commit | d0f582b98712d967b2f95d0405886d063bd89468 (patch) | |
| tree | cc644c21278d336772557366bcdd3e46b22065db /src/command | |
| parent | 8b3b94a38b443c50afc5b42cca45db7c18ce280d (diff) | |
Get stricter clippy
Diffstat (limited to 'src/command')
| -rw-r--r-- | src/command/add.rs | 2 | ||||
| -rw-r--r-- | src/command/add_remote.rs | 4 | ||||
| -rw-r--r-- | src/command/generate.rs | 24 | ||||
| -rw-r--r-- | src/command/help.rs | 2 | ||||
| -rw-r--r-- | src/command/remove_remote.rs | 2 | ||||
| -rw-r--r-- | src/command/status/blog_status.rs | 15 | ||||
| -rw-r--r-- | src/command/status/configuration_status.rs | 27 | ||||
| -rw-r--r-- | src/command/status/mod.rs | 4 | ||||
| -rw-r--r-- | src/command/sync_down.rs | 6 | ||||
| -rw-r--r-- | src/command/sync_up.rs | 6 | ||||
| -rw-r--r-- | src/command/update.rs | 8 | ||||
| -rw-r--r-- | src/command/version.rs | 2 |
12 files changed, 55 insertions, 47 deletions
diff --git a/src/command/add.rs b/src/command/add.rs index 132b7cd..7079707 100644 --- a/src/command/add.rs +++ b/src/command/add.rs @@ -73,7 +73,7 @@ mod tests { // Create Test Files // Create configuration - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.posts_directory = posts_dir.clone(); // Let's ensure the initial state is OK diff --git a/src/command/add_remote.rs b/src/command/add_remote.rs index a40b184..aa3f745 100644 --- a/src/command/add_remote.rs +++ b/src/command/add_remote.rs @@ -61,7 +61,7 @@ mod tests { let remote_config = test_dir.join("blogremote"); assert!(!remote_config.exists()); - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.config_directory = test_dir.clone(); configuration.remote_config = remote_config.clone(); add_remote @@ -74,7 +74,7 @@ mod tests { #[test] fn test_fails_if_no_remote_sent() { let add_remote = AddRemote::new(); - let configuration = Configuration::new(); + let configuration = Configuration::new().unwrap(); let result = add_remote.execute(None, &configuration, "add_remote"); assert!(result.is_err()); } diff --git a/src/command/generate.rs b/src/command/generate.rs index ac9849e..33ea6a4 100644 --- a/src/command/generate.rs +++ b/src/command/generate.rs @@ -21,9 +21,8 @@ impl Generate { for i in 0..max_posts { let post_path = posts_directory.join(i.to_string()); - match Generate::read_post(&post_path, i) { - Some(post) => posts.push(post), - None => continue, + if let Some(post) = Generate::read_post(&post_path, i) { + posts.push(post); } } @@ -34,16 +33,13 @@ impl Generate { let entries = read_dir(post_path).ok()?; for entry in entries.filter_map(Result::ok) { let entry_path = entry.path(); - match entry_path.extension() { - Some(extension) => { - if extension == "gmi" { - let mut file = File::open(entry_path).ok()?; - let mut contents = String::new(); - file.read_to_string(&mut contents).ok()?; - return Some(contents); - } + if let Some(extension) = entry_path.extension() { + if extension == "gmi" { + let mut file = File::open(entry_path).ok()?; + let mut contents = String::new(); + file.read_to_string(&mut contents).ok()?; + return Some(contents); } - None => continue, } } None @@ -190,7 +186,7 @@ mod tests { .write_all(&invalid_bytes) .expect("Could not write bad bytes to bad file."); - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.archive_directory = archive_dir.clone(); configuration.static_directory = static_dir.clone(); configuration.templates_directory = template_dir.clone(); @@ -263,7 +259,7 @@ mod tests { "{ \"id\": \"1736045200000\", \"created_on\": 1736045200000 }", ); - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.archive_directory = archive_dir.clone(); configuration.static_directory = static_dir.clone(); configuration.templates_directory = template_dir.clone(); diff --git a/src/command/help.rs b/src/command/help.rs index c018aa7..c29af39 100644 --- a/src/command/help.rs +++ b/src/command/help.rs @@ -50,7 +50,7 @@ mod tests { fn test_help_command() { let help = Help::new(); - let configuration = Configuration::new(); + let configuration = Configuration::new().unwrap(); help.execute(None, &configuration, "") .expect("Could not call help"); } diff --git a/src/command/remove_remote.rs b/src/command/remove_remote.rs index 0d274d7..910d089 100644 --- a/src/command/remove_remote.rs +++ b/src/command/remove_remote.rs @@ -51,7 +51,7 @@ mod tests { create_test_file(&remote_config, "boop"); assert!(remote_config.exists()); - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.remote_config = remote_config.clone(); remove_remote .execute(None, &configuration, "") diff --git a/src/command/status/blog_status.rs b/src/command/status/blog_status.rs index 48f608a..3f42f32 100644 --- a/src/command/status/blog_status.rs +++ b/src/command/status/blog_status.rs @@ -1,19 +1,26 @@ use crate::configuration::Configuration; +use std::fmt::Write; use std::fs::read_dir; +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("# Blog\n"); // Main Configuration Locations let blog_count = count_entries(&configuration.posts_directory); - status_message.push_str(&format!("Number of posts in blog: {blog_count}\n")); + writeln!(&mut status_message, "Number of posts in blog: {blog_count}") + .map_err(|_| Error::new(ErrorKind::Other, "Unable to write status"))?; let archive_count = count_entries(&configuration.archive_directory); - status_message.push_str(&format!("Number of posts in archive: {archive_count}\n")); - status_message + writeln!( + &mut status_message, + "Number of posts in archive: {archive_count}" + ) + .map_err(|_| Error::new(ErrorKind::Other, "Unable to write status"))?; + Ok(status_message) } fn count_entries(path: &PathBuf) -> String { 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) } diff --git a/src/command/status/mod.rs b/src/command/status/mod.rs index b92ef5f..3bad923 100644 --- a/src/command/status/mod.rs +++ b/src/command/status/mod.rs @@ -20,7 +20,7 @@ impl super::Command for Status { fn execute(&self, _: Option<&String>, configuration: &Configuration, _: &str) -> Result<()> { let status_providers = available_status_providers(); for status_provider in status_providers { - println!("{}\n----\n", status_provider(configuration)); + println!("{}\n----\n", status_provider(configuration)?); } Ok(()) } @@ -38,6 +38,6 @@ impl super::Command for Status { } } -fn available_status_providers() -> Vec<fn(&Configuration) -> String> { +fn available_status_providers() -> Vec<fn(&Configuration) -> Result<String>> { vec![configuration_status::status, blog_status::status] } diff --git a/src/command/sync_down.rs b/src/command/sync_down.rs index bc9d983..a95dd1a 100644 --- a/src/command/sync_down.rs +++ b/src/command/sync_down.rs @@ -74,7 +74,7 @@ mod tests { assert!(!&local_dir.join("file1.txt").exists()); assert!(!&local_dir.join("file2.txt").exists()); - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.data_directory = local_dir.clone(); configuration.remote_config = test_dir.join("remoteconfig"); @@ -107,7 +107,7 @@ mod tests { let test_dir = setup_test_dir(); create_test_file(&test_dir.join("remoteconfigdown"), "DO NOT WAAANT"); - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.data_directory = test_dir.clone(); configuration.remote_config = test_dir.join("remoteconfig"); @@ -123,7 +123,7 @@ mod tests { let test_dir = setup_test_dir(); create_test_file(&test_dir.join("remoteconfigdown"), "DO NOT WAAANT"); - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.data_directory = test_dir.clone(); configuration.remote_config = test_dir.join("remoteconfig"); diff --git a/src/command/sync_up.rs b/src/command/sync_up.rs index 5761071..57c4e1c 100644 --- a/src/command/sync_up.rs +++ b/src/command/sync_up.rs @@ -70,7 +70,7 @@ mod tests { let remote_dir_as_string = remote_dir.display().to_string(); create_test_file(&test_dir.join("remoteconfig"), &remote_dir_as_string); - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.data_directory = local_dir.clone(); configuration.remote_config = test_dir.join("remoteconfig"); @@ -101,7 +101,7 @@ mod tests { let test_dir = setup_test_dir(); create_test_file(&test_dir.join("remoteconfig"), "DO NOT WAAANT"); - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.data_directory = test_dir.clone(); configuration.remote_config = test_dir.join("remoteconfig"); @@ -117,7 +117,7 @@ mod tests { let test_dir = setup_test_dir(); create_test_file(&test_dir.join("remoteconfig"), "DO NOT WAAANT"); - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.data_directory = test_dir.clone(); configuration.remote_config = test_dir.join("remoteconfig"); diff --git a/src/command/update.rs b/src/command/update.rs index e415872..1da6198 100644 --- a/src/command/update.rs +++ b/src/command/update.rs @@ -135,7 +135,7 @@ mod tests { let archive_dir = test_dir.join("archive"); // Create configuration - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.posts_directory = posts_dir.clone(); configuration.archive_directory = archive_dir.clone(); @@ -245,7 +245,7 @@ mod tests { create_dir_all(&nested_dir).expect("Could not create nested dir."); // Create configuration - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.posts_directory = posts_dir.clone(); configuration.archive_directory = archive_dir.clone(); @@ -271,7 +271,7 @@ mod tests { let archive_dir = test_dir.join("archive"); // Create configuration - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.posts_directory = posts_dir.clone(); configuration.archive_directory = archive_dir.clone(); @@ -293,7 +293,7 @@ mod tests { let archive_dir = test_dir.join("archive"); // Create configuration - let mut configuration = Configuration::new(); + let mut configuration = Configuration::new().unwrap(); configuration.posts_directory = posts_dir.clone(); configuration.archive_directory = archive_dir.clone(); diff --git a/src/command/version.rs b/src/command/version.rs index 53328e6..12f2a85 100644 --- a/src/command/version.rs +++ b/src/command/version.rs @@ -44,7 +44,7 @@ mod tests { fn test_version_command() { let version = Version::new(); - let configuration = Configuration::new(); + let configuration = Configuration::new().unwrap(); version .execute(None, &configuration, "") .expect("Could not call version"); |