From b02b554105d40a25688cfab31418260b5c72713b Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Sat, 30 Jun 2018 23:02:13 +0300 Subject: [PATCH] Models: Change the Query suffix to Model. This is maps better to the MVC naming convention. --- hammond-data/src/dbqueries.rs | 24 ++++++++++++------------ hammond-data/src/lib.rs | 2 +- hammond-data/src/models/episode.rs | 24 ++++++++++++------------ hammond-data/src/models/mod.rs | 6 +++--- hammond-data/src/models/show.rs | 10 +++++----- hammond-data/src/utils.rs | 6 +++--- hammond-downloader/src/downloader.rs | 6 +++--- hammond-gtk/src/widgets/episode.rs | 14 +++++++------- hammond-gtk/src/widgets/home_view.rs | 6 +++--- hammond-gtk/src/widgets/player.rs | 10 +++++----- 10 files changed, 54 insertions(+), 54 deletions(-) diff --git a/hammond-data/src/dbqueries.rs b/hammond-data/src/dbqueries.rs index 1e83f46..214b141 100644 --- a/hammond-data/src/dbqueries.rs +++ b/hammond-data/src/dbqueries.rs @@ -57,7 +57,7 @@ pub fn get_episodes() -> Result, DataError> { .map_err(From::from) } -pub(crate) fn get_downloaded_episodes() -> Result, DataError> { +pub(crate) fn get_downloaded_episodes() -> Result, DataError> { use schema::episodes::dsl::*; let db = connection(); let con = db.get()?; @@ -65,7 +65,7 @@ pub(crate) fn get_downloaded_episodes() -> Result, Data episodes .select((rowid, local_uri, played)) .filter(local_uri.is_not_null()) - .load::(&con) + .load::(&con) .map_err(From::from) } @@ -80,7 +80,7 @@ pub(crate) fn get_downloaded_episodes() -> Result, Data // .map_err(From::from) // } -pub(crate) fn get_played_cleaner_episodes() -> Result, DataError> { +pub(crate) fn get_played_cleaner_episodes() -> Result, DataError> { use schema::episodes::dsl::*; let db = connection(); let con = db.get()?; @@ -88,7 +88,7 @@ pub(crate) fn get_played_cleaner_episodes() -> Result, episodes .select((rowid, local_uri, played)) .filter(played.is_not_null()) - .load::(&con) + .load::(&con) .map_err(From::from) } @@ -103,7 +103,7 @@ pub fn get_episode_from_rowid(ep_id: i32) -> Result { .map_err(From::from) } -pub fn get_episode_widget_from_rowid(ep_id: i32) -> Result { +pub fn get_episode_widget_from_rowid(ep_id: i32) -> Result { use schema::episodes::dsl::*; let db = connection(); let con = db.get()?; @@ -113,7 +113,7 @@ pub fn get_episode_widget_from_rowid(ep_id: i32) -> Result(&con) + .get_result::(&con) .map_err(From::from) } @@ -132,7 +132,7 @@ pub fn get_episode_local_uri_from_id(ep_id: i32) -> Result, DataE pub fn get_episodes_widgets_filter_limit( filter_ids: &[i32], limit: u32, -) -> Result, DataError> { +) -> Result, DataError> { use schema::episodes::dsl::*; let db = connection(); let con = db.get()?; @@ -145,7 +145,7 @@ pub fn get_episodes_widgets_filter_limit( .order(epoch.desc()) .filter(show_id.ne_all(filter_ids)) .limit(i64::from(limit)) - .load::(&con) + .load::(&con) .map_err(From::from) } @@ -160,7 +160,7 @@ pub fn get_podcast_from_id(pid: i32) -> Result { .map_err(From::from) } -pub fn get_podcast_cover_from_id(pid: i32) -> Result { +pub fn get_podcast_cover_from_id(pid: i32) -> Result { use schema::shows::dsl::*; let db = connection(); let con = db.get()?; @@ -168,7 +168,7 @@ pub fn get_podcast_cover_from_id(pid: i32) -> Result shows .select((id, title, image_uri)) .filter(id.eq(pid)) - .get_result::(&con) + .get_result::(&con) .map_err(From::from) } @@ -193,7 +193,7 @@ pub fn get_pd_episodes_count(parent: &Show) -> Result { .map_err(From::from) } -pub fn get_pd_episodeswidgets(parent: &Show) -> Result, DataError> { +pub fn get_pd_episodeswidgets(parent: &Show) -> Result, DataError> { use schema::episodes::dsl::*; let db = connection(); let con = db.get()?; @@ -205,7 +205,7 @@ pub fn get_pd_episodeswidgets(parent: &Show) -> Result, .select(columns) .filter(show_id.eq(parent.id())) .order(epoch.desc()) - .load::(&con) + .load::(&con) .map_err(From::from) } diff --git a/hammond-data/src/lib.rs b/hammond-data/src/lib.rs index 3444567..0cadaae 100644 --- a/hammond-data/src/lib.rs +++ b/hammond-data/src/lib.rs @@ -81,7 +81,7 @@ pub mod utils; pub use feed::{Feed, FeedBuilder}; pub use models::Save; -pub use models::{Episode, EpisodeWidgetQuery, Show, ShowCoverQuery, Source}; +pub use models::{Episode, EpisodeWidgetModel, Show, ShowCoverModel, Source}; // Set the user agent, See #53 for more // Keep this in sync with Tor-browser releases diff --git a/hammond-data/src/models/episode.rs b/hammond-data/src/models/episode.rs index f5a354b..2b812fd 100644 --- a/hammond-data/src/models/episode.rs +++ b/hammond-data/src/models/episode.rs @@ -171,7 +171,7 @@ impl Episode { #[primary_key(title, show_id)] #[derive(Debug, Clone)] /// Diesel Model to be used for constructing `EpisodeWidgets`. -pub struct EpisodeWidgetQuery { +pub struct EpisodeWidgetModel { rowid: i32, title: String, uri: Option, @@ -183,9 +183,9 @@ pub struct EpisodeWidgetQuery { show_id: i32, } -impl From for EpisodeWidgetQuery { - fn from(e: Episode) -> EpisodeWidgetQuery { - EpisodeWidgetQuery { +impl From for EpisodeWidgetModel { + fn from(e: Episode) -> EpisodeWidgetModel { + EpisodeWidgetModel { rowid: e.rowid, title: e.title, uri: e.uri, @@ -199,7 +199,7 @@ impl From for EpisodeWidgetQuery { } } -impl Save for EpisodeWidgetQuery { +impl Save for EpisodeWidgetModel { type Error = DataError; /// Helper method to easily save/"sync" current state of self to the @@ -217,7 +217,7 @@ impl Save for EpisodeWidgetQuery { } } -impl EpisodeWidgetQuery { +impl EpisodeWidgetModel { /// Get the value of the sqlite's `ROW_ID` pub fn rowid(&self) -> i32 { self.rowid @@ -311,13 +311,13 @@ impl EpisodeWidgetQuery { #[primary_key(title, show_id)] #[derive(Debug, Clone)] /// Diesel Model to be used internal with the `utils::checkup` function. -pub struct EpisodeCleanerQuery { +pub struct EpisodeCleanerModel { rowid: i32, local_uri: Option, played: Option, } -impl Save for EpisodeCleanerQuery { +impl Save for EpisodeCleanerModel { type Error = DataError; /// Helper method to easily save/"sync" current state of self to the @@ -335,9 +335,9 @@ impl Save for EpisodeCleanerQuery { } } -impl From for EpisodeCleanerQuery { - fn from(e: Episode) -> EpisodeCleanerQuery { - EpisodeCleanerQuery { +impl From for EpisodeCleanerModel { + fn from(e: Episode) -> EpisodeCleanerModel { + EpisodeCleanerModel { rowid: e.rowid(), local_uri: e.local_uri, played: e.played, @@ -345,7 +345,7 @@ impl From for EpisodeCleanerQuery { } } -impl EpisodeCleanerQuery { +impl EpisodeCleanerModel { /// Get the value of the sqlite's `ROW_ID` pub fn rowid(&self) -> i32 { self.rowid diff --git a/hammond-data/src/models/mod.rs b/hammond-data/src/models/mod.rs index 852c2a4..260922b 100644 --- a/hammond-data/src/models/mod.rs +++ b/hammond-data/src/models/mod.rs @@ -9,7 +9,7 @@ mod source; // use futures::prelude::*; // use futures::future::*; -pub(crate) use self::episode::EpisodeCleanerQuery; +pub(crate) use self::episode::EpisodeCleanerModel; pub(crate) use self::new_episode::{NewEpisode, NewEpisodeMinimal}; pub(crate) use self::new_show::NewShow; pub(crate) use self::new_source::NewSource; @@ -19,8 +19,8 @@ pub(crate) use self::new_episode::NewEpisodeBuilder; #[cfg(test)] pub(crate) use self::new_show::NewShowBuilder; -pub use self::episode::{Episode, EpisodeMinimal, EpisodeWidgetQuery}; -pub use self::show::{Show, ShowCoverQuery}; +pub use self::episode::{Episode, EpisodeMinimal, EpisodeWidgetModel}; +pub use self::show::{Show, ShowCoverModel}; pub use self::source::Source; #[derive(Debug, Clone, PartialEq)] diff --git a/hammond-data/src/models/show.rs b/hammond-data/src/models/show.rs index d9a3b0a..85a35d5 100644 --- a/hammond-data/src/models/show.rs +++ b/hammond-data/src/models/show.rs @@ -87,15 +87,15 @@ impl Show { #[derive(Queryable, Debug, Clone)] /// Diesel Model of the Show cover query. /// Used for fetching information about a Show's cover. -pub struct ShowCoverQuery { +pub struct ShowCoverModel { id: i32, title: String, image_uri: Option, } -impl From for ShowCoverQuery { - fn from(p: Show) -> ShowCoverQuery { - ShowCoverQuery { +impl From for ShowCoverModel { + fn from(p: Show) -> ShowCoverModel { + ShowCoverModel { id: p.id(), title: p.title, image_uri: p.image_uri, @@ -103,7 +103,7 @@ impl From for ShowCoverQuery { } } -impl ShowCoverQuery { +impl ShowCoverModel { /// Get the Feed `id`. pub fn id(&self) -> i32 { self.id diff --git a/hammond-data/src/utils.rs b/hammond-data/src/utils.rs index bc7021e..aeccd4c 100644 --- a/hammond-data/src/utils.rs +++ b/hammond-data/src/utils.rs @@ -7,7 +7,7 @@ use url::{Position, Url}; use dbqueries; use errors::DataError; -use models::{EpisodeCleanerQuery, Save, Show}; +use models::{EpisodeCleanerModel, Save, Show}; use xdg_dirs::DL_DIR; use std::fs; @@ -59,7 +59,7 @@ fn played_cleaner(cleanup_date: DateTime) -> Result<(), DataError> { } /// Check `ep.local_uri` field and delete the file it points to. -fn delete_local_content(ep: &mut EpisodeCleanerQuery) -> Result<(), DataError> { +fn delete_local_content(ep: &mut EpisodeCleanerModel) -> Result<(), DataError> { if ep.local_uri().is_some() { let uri = ep.local_uri().unwrap().to_owned(); if Path::new(&uri).exists() { @@ -230,7 +230,7 @@ mod tests { #[test] fn test_download_cleaner() { let _tmp_dir = helper_db(); - let mut episode: EpisodeCleanerQuery = + let mut episode: EpisodeCleanerModel = dbqueries::get_episode_from_pk("foo_bar", 0).unwrap().into(); let valid_path = episode.local_uri().unwrap().to_owned(); diff --git a/hammond-downloader/src/downloader.rs b/hammond-downloader/src/downloader.rs index 1f5e63b..be0bd48 100644 --- a/hammond-downloader/src/downloader.rs +++ b/hammond-downloader/src/downloader.rs @@ -12,7 +12,7 @@ use std::path::Path; use std::sync::{Arc, Mutex}; use hammond_data::xdg_dirs::HAMMOND_CACHE; -use hammond_data::{EpisodeWidgetQuery, Save, ShowCoverQuery}; +use hammond_data::{EpisodeWidgetModel, Save, ShowCoverModel}; // use failure::Error; use errors::DownloadError; @@ -161,7 +161,7 @@ fn save_io( // TODO: Refactor pub fn get_episode( - ep: &mut EpisodeWidgetQuery, + ep: &mut EpisodeWidgetModel, download_folder: &str, progress: Option>>, ) -> Result<(), DownloadError> { @@ -196,7 +196,7 @@ pub fn get_episode( Ok(()) } -pub fn cache_image(pd: &ShowCoverQuery) -> Result { +pub fn cache_image(pd: &ShowCoverModel) -> Result { let url = pd .image_uri() .ok_or_else(|| DownloadError::NoImageLocation)? diff --git a/hammond-gtk/src/widgets/episode.rs b/hammond-gtk/src/widgets/episode.rs index 69ca7fd..720c244 100644 --- a/hammond-gtk/src/widgets/episode.rs +++ b/hammond-gtk/src/widgets/episode.rs @@ -12,7 +12,7 @@ use open; use hammond_data::dbqueries; use hammond_data::utils::get_download_folder; -use hammond_data::EpisodeWidgetQuery; +use hammond_data::EpisodeWidgetModel; use app::Action; use manager; @@ -68,7 +68,7 @@ struct Buttons { } impl InfoLabels { - fn init(&self, episode: &EpisodeWidgetQuery) { + fn init(&self, episode: &EpisodeWidgetModel) { // Set the title label state. self.set_title(episode); @@ -82,7 +82,7 @@ impl InfoLabels { self.set_size(episode.length()) } - fn set_title(&self, episode: &EpisodeWidgetQuery) { + fn set_title(&self, episode: &EpisodeWidgetModel) { self.title.set_text(episode.title()); if episode.played().is_some() { @@ -206,7 +206,7 @@ impl Default for EpisodeWidget { } impl EpisodeWidget { - pub fn new(episode: &EpisodeWidgetQuery, sender: &Sender) -> Rc { + pub fn new(episode: &EpisodeWidgetModel, sender: &Sender) -> Rc { let widget = Rc::new(Self::default()); widget.info.init(episode); Self::determine_buttons_state(&widget, episode, sender) @@ -297,7 +297,7 @@ impl EpisodeWidget { /// ------------------- fn determine_buttons_state( widget: &Rc, - episode: &EpisodeWidgetQuery, + episode: &EpisodeWidgetModel, sender: &Sender, ) -> Result<(), Error> { // Reset the buttons state no matter the glade file. @@ -428,7 +428,7 @@ impl EpisodeWidget { } } -fn on_download_clicked(ep: &EpisodeWidgetQuery, sender: &Sender) -> Result<(), Error> { +fn on_download_clicked(ep: &EpisodeWidgetModel, sender: &Sender) -> Result<(), Error> { let pd = dbqueries::get_podcast_from_id(ep.show_id())?; let download_fold = get_download_folder(&pd.title())?; @@ -442,7 +442,7 @@ fn on_download_clicked(ep: &EpisodeWidgetQuery, sender: &Sender) -> Resu fn on_play_bttn_clicked( widget: &Rc, - episode: &mut EpisodeWidgetQuery, + episode: &mut EpisodeWidgetModel, sender: &Sender, ) -> Result<(), Error> { // Mark played diff --git a/hammond-gtk/src/widgets/home_view.rs b/hammond-gtk/src/widgets/home_view.rs index 2ed1652..584491a 100644 --- a/hammond-gtk/src/widgets/home_view.rs +++ b/hammond-gtk/src/widgets/home_view.rs @@ -6,7 +6,7 @@ use gtk::prelude::*; use crossbeam_channel::Sender; use hammond_data::dbqueries; -use hammond_data::EpisodeWidgetQuery; +use hammond_data::EpisodeWidgetModel; use send_cell::SendCell; use app::Action; @@ -93,7 +93,7 @@ impl HomeView { let now_utc = Utc::now(); let view_ = view.clone(); - let func = move |ep: EpisodeWidgetQuery| { + let func = move |ep: EpisodeWidgetModel| { let epoch = ep.epoch(); let widget = HomeEpisode::new(&ep, &sender); @@ -197,7 +197,7 @@ impl Default for HomeEpisode { } impl HomeEpisode { - fn new(episode: &EpisodeWidgetQuery, sender: &Sender) -> HomeEpisode { + fn new(episode: &EpisodeWidgetModel, sender: &Sender) -> HomeEpisode { let builder = gtk::Builder::new_from_resource("/org/gnome/Hammond/gtk/episodes_view_widget.ui"); let container: gtk::Box = builder.get_object("container").unwrap(); diff --git a/hammond-gtk/src/widgets/player.rs b/hammond-gtk/src/widgets/player.rs index 2a47d6e..e0228aa 100644 --- a/hammond-gtk/src/widgets/player.rs +++ b/hammond-gtk/src/widgets/player.rs @@ -14,7 +14,7 @@ use failure::Error; use send_cell::SendCell; use hammond_data::{dbqueries, USER_AGENT}; -use hammond_data::{EpisodeWidgetQuery, ShowCoverQuery}; +use hammond_data::{EpisodeWidgetModel, ShowCoverModel}; use app::Action; use utils::set_image_from_path; @@ -49,23 +49,23 @@ struct PlayerInfo { impl PlayerInfo { // FIXME: create a Diesel Model of the joined episode and podcast query instead - fn init(&self, episode: &EpisodeWidgetQuery, podcast: &ShowCoverQuery) { + fn init(&self, episode: &EpisodeWidgetModel, podcast: &ShowCoverModel) { self.set_cover_image(podcast); self.set_show_title(podcast); self.set_episode_title(episode); } - fn set_episode_title(&self, episode: &EpisodeWidgetQuery) { + fn set_episode_title(&self, episode: &EpisodeWidgetModel) { self.episode.set_text(episode.title()); self.episode.set_tooltip_text(episode.title()); } - fn set_show_title(&self, show: &ShowCoverQuery) { + fn set_show_title(&self, show: &ShowCoverModel) { self.show.set_text(show.title()); self.show.set_tooltip_text(show.title()); } - fn set_cover_image(&self, show: &ShowCoverQuery) { + fn set_cover_image(&self, show: &ShowCoverModel) { set_image_from_path(&self.cover, show.id(), 34) .map_err(|err| error!("Player Cover: {}", err)) .ok();