// yt - A fully featured command line YouTube client // // Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de> // SPDX-License-Identifier: GPL-3.0-or-later // // This file is part of Yt. // // You should have received a copy of the License along with this program. // If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. use std::{fmt::Display, num::ParseIntError}; #[derive(Debug)] pub enum BytesError { BytesParseIntError(ParseIntError), NotYetSupported(String), } impl Display for BytesError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { BytesError::BytesParseIntError(e) => { f.write_fmt(format_args!("Failed to parse a number as integer: '{}'", e)) }, BytesError::NotYetSupported(other) => { f.write_fmt(format_args!("Your extension '{}' is not yet supported. Only KB,MB,GB or KiB,MiB,GiB are supported", other)) } } } } impl From<ParseIntError> for BytesError { fn from(value: ParseIntError) -> Self { Self::BytesParseIntError(value) } } impl std::error::Error for BytesError {}