From d48c4f0c71b9fdd8aa28367be11d56cfa63b6afc Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 7 Jan 2023 10:24:51 +0200 Subject: refactor: move SiteError::FileRead into src/page.rs Sponsored-by: author --- src/error.rs | 4 ++-- src/page.rs | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/error.rs b/src/error.rs index 6593305..3053ca8 100644 --- a/src/error.rs +++ b/src/error.rs @@ -12,8 +12,8 @@ pub enum SiteError { #[error(transparent)] Git(#[from] crate::git::GitError), - #[error("could not read file: {0}")] - FileRead(PathBuf, #[source] std::io::Error), + #[error(transparent)] + Page(#[from] crate::page::PageError), #[error("string formatting error: {0}")] Format(#[source] std::fmt::Error), diff --git a/src/page.rs b/src/page.rs index a8d60a5..4a9930c 100644 --- a/src/page.rs +++ b/src/page.rs @@ -10,6 +10,12 @@ use log::{info, trace}; use std::path::{Path, PathBuf}; use std::time::SystemTime; +#[derive(Debug, thiserror::Error)] +pub enum PageError { + #[error("could not read file: {0}")] + FileRead(PathBuf, #[source] std::io::Error), +} + pub struct Page { meta: PageMeta, unprocessed: UnprocessedPage, @@ -44,7 +50,7 @@ impl WikitextPage { info!("input file: {}", name); let src = name.source_path(); - let data = std::fs::read(src).map_err(|e| SiteError::FileRead(src.into(), e))?; + let data = std::fs::read(src).map_err(|e| PageError::FileRead(src.into(), e))?; let wikitext = String::from_utf8(data).map_err(|e| SiteError::Utf8(src.into(), e))?; let mtime = get_mtime(src)?; -- cgit v1.2.1