commit 59ce9bee37136bc32c9cd28d630c248ba63f7609
parent 3e5e905facb5f198683effbfc3dfb7cd52bd8733
Author: Árni Dagur <agudmundsson@fc-md.umd.edu>
Date: Sat, 25 Apr 2020 16:59:13 -0400
Drop failure dependency
Diffstat:
2 files changed, 25 insertions(+), 8 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
@@ -11,7 +11,6 @@ debug = true
[dependencies]
adblock = "0.2.8"
pyo3 = "0.9"
-failure = "0.1"
[lib]
name="adblock"
diff --git a/src/lib.rs b/src/lib.rs
@@ -14,7 +14,6 @@ use adblock::blocker::BlockerError as RustBlockerError;
use adblock::blocker::BlockerResult as RustBlockerResult;
use adblock::cosmetic_filter_cache::HostnameSpecificResources as RustHostnameSpecificResources;
use adblock::engine::Engine as RustEngine;
-use failure::Fail;
use pyo3::class::PyObjectProtocol;
use pyo3::exceptions::ValueError as PyValueError;
use pyo3::prelude::*;
@@ -22,6 +21,8 @@ use pyo3::PyErr;
use std::collections::HashMap;
use std::collections::HashSet;
+use std::error::Error;
+use std::fmt::{self, Display};
use std::fs;
use std::io::{Read, Write};
use std::iter::FromIterator;
@@ -111,20 +112,37 @@ impl PyObjectProtocol for BlockerResult {
}
}
-#[derive(Fail, Debug, PartialEq, Copy, Clone)]
+#[derive(Debug, PartialEq, Eq, Copy, Clone)]
pub enum BlockerError {
- #[fail(display = "Serialization error")]
SerializationError,
- #[fail(display = "Deserialization error")]
DeserializationError,
- #[fail(display = "Optimized filter exists")]
OptimizedFilterExistence,
- #[fail(display = "Bad filter add unsupported")]
BadFilterAddUnsupported,
- #[fail(display = "Filter exists")]
FilterExists,
}
+impl Error for BlockerError {
+ fn source(&self) -> Option<&(dyn Error + 'static)> {
+ None
+ }
+}
+
+impl Display for BlockerError {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(
+ f,
+ "{}",
+ match self {
+ Self::SerializationError => "Serialization error",
+ Self::DeserializationError => "Deserialization error",
+ Self::OptimizedFilterExistence => "Optimized filter exists",
+ Self::BadFilterAddUnsupported => "Bad filter add unsupported",
+ Self::FilterExists => "Filter exists",
+ }
+ )
+ }
+}
+
impl Into<PyErr> for BlockerError {
fn into(self) -> PyErr {
PyErr::new::<PyValueError, _>(format!("{:?}", self))