python_pkginfo/
error.rs

1use std::io;
2
3use mailparse::MailParseError;
4use thiserror::Error;
5use zip::result::ZipError;
6
7/// The error type
8#[derive(Error, Debug)]
9pub enum Error {
10    /// I/O error
11    #[error(transparent)]
12    Io(#[from] io::Error),
13    /// mail parse error
14    #[error(transparent)]
15    MailParse(#[from] MailParseError),
16    /// Zip parse error
17    #[error(transparent)]
18    Zip(#[from] ZipError),
19    /// Metadata field not found
20    #[error("metadata field {0} not found")]
21    FieldNotFound(&'static str),
22    /// Unknown distribution type
23    #[error("unknown distribution type")]
24    UnknownDistributionType,
25    /// Metadata file not found
26    #[error("metadata file not found")]
27    MetadataNotFound,
28    /// Multiple metadata files found
29    #[error("found multiple metadata files: {0:?}")]
30    MultipleMetadataFiles(Vec<String>),
31}