diff options
author | Lars Wirzenius <liw@liw.fi> | 2023-01-07 10:24:51 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2023-01-07 10:24:51 +0200 |
commit | d48c4f0c71b9fdd8aa28367be11d56cfa63b6afc (patch) | |
tree | 25ae69fe988441bdcf3b0d51a42c0e7deb826a27 | |
parent | a5f969621c3534cbcd3f7b547319b0539b338d0d (diff) | |
download | riki-d48c4f0c71b9fdd8aa28367be11d56cfa63b6afc.tar.gz |
refactor: move SiteError::FileRead into src/page.rs
Sponsored-by: author
-rw-r--r-- | src/error.rs | 4 | ||||
-rw-r--r-- | 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)?; |