summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@atos.net>2019-05-02 16:21:11 +0200
committerMatthias Beyer <matthias.beyer@atos.net>2019-05-02 16:33:26 +0200
commit4d14473635b077755368c57497af9c20f9c30254 (patch)
treea66d56a7af492b8795ea3a992e138779e98103ba
parent2e825bdb04a5def0db592d45a8ffd6854d028329 (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.toml8
-rw-r--r--librepology/src/lib.rs9
-rw-r--r--librepology/src/packagefilters.rs81
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)
- }
-}