aboutsummaryrefslogtreecommitdiff
path: root/src/command
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
parent8b3b94a38b443c50afc5b42cca45db7c18ce280d (diff)
Get stricter clippy
Diffstat (limited to 'src/command')
-rw-r--r--src/command/add.rs2
-rw-r--r--src/command/add_remote.rs4
-rw-r--r--src/command/generate.rs24
-rw-r--r--src/command/help.rs2
-rw-r--r--src/command/remove_remote.rs2
-rw-r--r--src/command/status/blog_status.rs15
-rw-r--r--src/command/status/configuration_status.rs27
-rw-r--r--src/command/status/mod.rs4
-rw-r--r--src/command/sync_down.rs6
-rw-r--r--src/command/sync_up.rs6
-rw-r--r--src/command/update.rs8
-rw-r--r--src/command/version.rs2
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");