diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2019-05-02 16:21:11 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2019-05-02 16:33:26 +0200 |
commit | 4d14473635b077755368c57497af9c20f9c30254 (patch) | |
tree | a66d56a7af492b8795ea3a992e138779e98103ba | |
parent | 2e825bdb04a5def0db592d45a8ffd6854d028329 (diff) |
Revert "Add filters for Repo, Name, Status, Version, License and Maintainer"
We do not really need this feature in the library, authors of software
can easily implement this for their needs and we do not have to ship all
features all people _might_ use at some point.
Keep the library KISSy.
This reverts commit 44215217da63762b36827f5ef6604c5a2ad6b73d.
-rw-r--r-- | librepology/Cargo.toml | 8 | ||||
-rw-r--r-- | librepology/src/lib.rs | 9 | ||||
-rw-r--r-- | librepology/src/packagefilters.rs | 81 |
3 files changed, 2 insertions, 96 deletions
diff --git a/librepology/Cargo.toml b/librepology/Cargo.toml index 7dadd2f..3dccff0 100644 --- a/librepology/Cargo.toml +++ b/librepology/Cargo.toml @@ -25,12 +25,6 @@ url_serde = "0.2" failure = "0.1" log = "0.4" derive_more = "0.14" +derive-new = "0.5" curl = "0.4" -filters = { version = "0.3", optional = true } -derive-new = { version = "0.5", optional = true } - -[features] -# By default, we include the filters functionality -default = [ "packagefilters" ] -packagefilters = ["filters", "derive-new"] diff --git a/librepology/src/lib.rs b/librepology/src/lib.rs index 76992fd..d0904a4 100644 --- a/librepology/src/lib.rs +++ b/librepology/src/lib.rs @@ -5,16 +5,9 @@ extern crate url; extern crate url_serde; extern crate curl; -#[cfg(feature = "packagefilters")] -extern crate filters; -#[cfg(feature = "packagefilters")] -#[macro_use] extern crate derive_new; - #[macro_use] extern crate serde_derive; #[macro_use] extern crate log; #[macro_use] extern crate derive_more; +#[macro_use] extern crate derive_new; pub mod v1; - -#[cfg(feature = "packagefilters")] -pub mod packagefilters; diff --git a/librepology/src/packagefilters.rs b/librepology/src/packagefilters.rs deleted file mode 100644 index d1293d4..0000000 --- a/librepology/src/packagefilters.rs +++ /dev/null @@ -1,81 +0,0 @@ -use filters::filter::Filter; - -use crate::v1::types::{Package, Repo, Name, Status, Version, License, Maintainer}; - - -#[derive(new, Debug)] -pub struct PackageRepoNameFilter(Repo); - -/// Filter implementation for PackageRepoNameFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageRepoNameFilter { - fn filter(&self, package: &Package) -> bool { - self.0 == *package.repo() - } -} - - -#[derive(new, Debug)] -pub struct PackageNameFilter(Name); - -/// Filter implementation for PackageNameFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageNameFilter { - fn filter(&self, package: &Package) -> bool { - self.0 == *package.name() - } -} - - -#[derive(new, Debug)] -pub struct PackageVersionFilter(Version); - -/// Filter implementation for PackageVersionFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageVersionFilter { - fn filter(&self, package: &Package) -> bool { - self.0 == *package.version() - } -} - - -#[derive(new, Debug)] -pub struct PackageStatusFilter(Status); - -/// Filter implementation for PackageStatusFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageStatusFilter { - fn filter(&self, package: &Package) -> bool { - package.status().map(|s| self.0 == *s).unwrap_or(false) - } -} - - -#[derive(new, Debug)] -pub struct PackageLicenseFilter(License); - -/// Filter implementation for PackageLicenseFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageLicenseFilter { - fn filter(&self, package: &Package) -> bool { - package.licenses().map(|lcs| lcs.iter().any(|l| self.0 == *l)).unwrap_or(false) - } -} - - -#[derive(new, Debug)] -pub struct PackageMaintainerFilter(Maintainer); - -/// Filter implementation for PackageMaintainerFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageMaintainerFilter { - fn filter(&self, package: &Package) -> bool { - package.maintainers().map(|mts| mts.iter().any(|m| self.0 == *m)).unwrap_or(false) - } -} |