27 lines
570 B
Rust
27 lines
570 B
Rust
use std::fmt::{Display, Formatter, Result};
|
|
use std::path::PathBuf;
|
|
|
|
#[derive(Debug)]
|
|
pub enum ScanError {
|
|
/// Something went wrong while trying to read the given file.
|
|
File(PathBuf),
|
|
/// Failed to determine the mimetype of the given file.
|
|
Mime(PathBuf),
|
|
}
|
|
|
|
impl Display for ScanError {
|
|
fn fmt(&self, f: &mut Formatter<'_>) -> Result {
|
|
write!(
|
|
f,
|
|
"Couldn't {} file: {}",
|
|
match self {
|
|
Self::File(_) => "read",
|
|
Self::Mime(_) => "determine mime type of",
|
|
},
|
|
match self {
|
|
Self::File(f) | Self::Mime(f) => f.to_string_lossy(),
|
|
}
|
|
)
|
|
}
|
|
}
|