Skip to main content

df_ocr_switcher/
error.rs

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>;