summaryrefslogtreecommitdiffstats
path: root/src/frontend
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend')
-rw-r--r--src/frontend/json.rs7
-rw-r--r--src/frontend/list.rs3
-rw-r--r--src/frontend/mod.rs3
-rw-r--r--src/frontend/table.rs3
4 files changed, 10 insertions, 6 deletions
diff --git a/src/frontend/json.rs b/src/frontend/json.rs
index 63b7bbe..b6a34e5 100644
--- a/src/frontend/json.rs
+++ b/src/frontend/json.rs
@@ -10,6 +10,7 @@ use failure::Error;
use crate::frontend::Frontend;
use crate::backend::Backend;
+use crate::compare::ComparePackage;
use librepology::v1::api::Api;
pub struct JsonFrontend(Stdout);
@@ -33,7 +34,7 @@ impl Frontend for JsonFrontend {
writeln!(outlock, "{}", output).map_err(Error::from)
}
- fn compare_packages(&self, packages: Vec<Package>, backend: &Backend, filter_repos: Vec<Repo>) -> Result<()> {
+ fn compare_packages(&self, packages: Vec<ComparePackage>, backend: &Backend, filter_repos: Vec<Repo>) -> Result<()> {
#[derive(Serialize)]
struct PackageComp {
// not optimal, as we have to clone the inner variables from the package
@@ -53,8 +54,8 @@ impl Frontend for JsonFrontend {
.filter(|p| filter_repos.contains(p.repo()))
.map(|upstream_package| {
PackageComp {
- package_name: package.name().deref().clone(),
- local_version: package.version().deref().clone(),
+ package_name: package.name().clone(),
+ local_version: package.version().clone(),
upstream_repo: upstream_package.repo().deref().clone(),
upstream_version: upstream_package.version().deref().clone(),
}
diff --git a/src/frontend/list.rs b/src/frontend/list.rs
index b229ecd..e870ab0 100644
--- a/src/frontend/list.rs
+++ b/src/frontend/list.rs
@@ -10,6 +10,7 @@ use failure::Error;
use crate::frontend::Frontend;
use crate::backend::Backend;
+use crate::compare::ComparePackage;
use librepology::v1::api::Api;
pub struct ListFrontend(Stdout);
@@ -71,7 +72,7 @@ impl Frontend for ListFrontend {
})
}
- fn compare_packages(&self, packages: Vec<Package>, backend: &Backend, filter_repos: Vec<Repo>) -> Result<()> {
+ fn compare_packages(&self, packages: Vec<ComparePackage>, backend: &Backend, filter_repos: Vec<Repo>) -> Result<()> {
let mut output = self.0.lock();
for package in packages {
diff --git a/src/frontend/mod.rs b/src/frontend/mod.rs
index 0027fd8..43e5b5e 100644
--- a/src/frontend/mod.rs
+++ b/src/frontend/mod.rs
@@ -7,12 +7,13 @@ use crate::config::Configuration;
use crate::frontend::list::ListFrontend;
use crate::frontend::json::JsonFrontend;
use crate::frontend::table::TableFrontend;
+use crate::compare::ComparePackage;
use crate::backend::Backend;
pub trait Frontend {
fn list_packages(&self, packages: Vec<Package>) -> Result<()>;
fn list_problems(&self, problems: Vec<Problem>) -> Result<()>;
- fn compare_packages(&self, packages: Vec<Package>, backend: &Backend, filter_repos: Vec<Repo>) -> Result<()>;
+ fn compare_packages(&self, packages: Vec<ComparePackage>, backend: &Backend, filter_repos: Vec<Repo>) -> Result<()>;
}
pub mod list;
diff --git a/src/frontend/table.rs b/src/frontend/table.rs
index f840482..6a30e9c 100644
--- a/src/frontend/table.rs
+++ b/src/frontend/table.rs
@@ -10,6 +10,7 @@ use prettytable::Table;
use crate::frontend::Frontend;
use crate::backend::Backend;
+use crate::compare::ComparePackage;
use librepology::v1::api::Api;
pub struct TableFrontend(Stdout);
@@ -94,7 +95,7 @@ impl Frontend for TableFrontend {
Ok(())
}
- fn compare_packages(&self, packages: Vec<Package>, backend: &Backend, filter_repos: Vec<Repo>) -> Result<()> {
+ fn compare_packages(&self, packages: Vec<ComparePackage>, backend: &Backend, filter_repos: Vec<Repo>) -> Result<()> {
let mut table = Table::new();
let format = format::FormatBuilder::new()
.column_separator('|')