wiktionary_dump_parser/
error.rs1use thiserror::Error;
2
3pub type Result<T> = std::result::Result<T, Error>;
4
5#[derive(Debug, Error)]
6pub enum Error {
7 #[error("error sending http request: {0}")]
8 ReqwestError(#[from] reqwest::Error),
9 #[error("regex error: {0}")]
10 RegexError(#[from] regex::Error),
11 #[error("error parsing url: {0}")]
12 UrlParseError(#[from] url::ParseError),
13 #[error("json error: {0}")]
14 SerdeJsonError(#[from] serde_json::Error),
15 #[error("io error: {0}")]
16 IoError(#[from] std::io::Error),
17 #[error("error parsing utf-8: {0}")]
18 FromUtf8Error(#[from] std::string::FromUtf8Error),
19 #[error("error parsing xml: {0}")]
20 QuickXmlError(#[from] quick_xml::Error),
21 #[error("error parsing xml attribute: {0}")]
22 QuickXmlAttributeError(#[from] quick_xml::events::attributes::AttrError),
23 #[error("error parsing page {page_name:?}: {error}")]
24 WikitextParserError {
25 error: Box<wikitext_parser::ParserError>,
27 page_name: String,
29 page_content: String,
31 },
32
33 #[error("unknown English language name: {0:?}")]
35 UnknownEnglishLanguageName(String),
36
37 #[error("unknown wiktionary language abbreviation: {0}")]
39 UnknownWiktionaryLanguageAbbreviation(String),
40
41 #[error("{0}")]
43 Other(String),
44
45 #[error("error consuming parsed word: {source}")]
46 WordConsumer {
47 source: Box<dyn std::error::Error + Send + Sync>,
48 },
49}