kobo-db-tools 0.0.13

A Rust library to parse and analyze Kobo e-reader SQLite databases.
Documentation
use thiserror::Error;

#[derive(Error, Debug)]
pub enum ExportError {
    #[error("CSV error: {0}")]
    Csv(#[from] csv::Error),
    #[error("I/O error: {0}")]
    Io(#[from] std::io::Error),
    #[error("UTF-8 error: {0}")]
    Utf8(#[from] std::string::FromUtf8Error),
    #[error("CSV into inner error: {0}")]
    CsvIntoInner(Box<csv::IntoInnerError<csv::Writer<Vec<u8>>>>),
    #[error("serde_json::to_string error: {0}")]
    JsonToString(#[from] serde_json::Error),
}

impl From<csv::IntoInnerError<csv::Writer<Vec<u8>>>> for ExportError {
    fn from(err: csv::IntoInnerError<csv::Writer<Vec<u8>>>) -> Self {
        Self::CsvIntoInner(Box::new(err))
    }
}