1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum Error {
5 #[error("ppocr: {0}")]
6 Ppocr(#[from] ppocr_rs::OcrError),
7
8 #[error("image: {0}")]
9 Image(#[from] image::ImageError),
10
11 #[error("tiff: {0}")]
12 Tiff(String),
13
14 #[error("io: {0}")]
15 Io(#[from] std::io::Error),
16
17 #[error("modello non trovato: {0}")]
18 ModelNotFound(String),
19
20 #[error("{0}")]
21 Other(String),
22}
23
24#[cfg(feature = "tesseract-engine")]
25impl From<tesseract5_rs::TesseractError> for Error {
26 fn from(e: tesseract5_rs::TesseractError) -> Self {
27 Error::Other(format!("tesseract: {e}"))
28 }
29}
30
31pub type Result<T> = std::result::Result<T, Error>;