use thiserror::Error; #[derive(Error, Debug)] pub enum ExtractError { #[error("Parse bangumi season error: {0}")] BangumiSeasonError(#[from] std::num::ParseIntError), #[error("Parse file url error: {0}")] FileUrlError(#[from] url::ParseError), #[error("Parse {desc} with mime error, expected {expected}, but got {found}")] MimeError { desc: String, expected: String, found: String, }, #[error("Parse mikan rss {url} format error")] MikanRssFormatError { url: String }, #[error("Parse mikan rss item format error, {reason}")] MikanRssItemFormatError { reason: String }, }