Cleanup of downloader module.

This commit is contained in:
Jordan Petridis
2017-11-09 17:47:38 +02:00
parent 3660fe0350
commit 07c1395c29
10 changed files with 159 additions and 173 deletions
+18 -12
View File
@@ -1,24 +1,30 @@
[package]
authors = ["Jordan Petridis <jordanpetridis@protonmail.com>"]
name = "hammond-data"
version = "0.1.0"
authors = ["Jordan Petridis <jordanpetridis@protonmail.com>"]
workspace = "../"
[dependencies]
rfc822_sanitizer = "0.3"
chrono = "0.4"
# diesel wants dotenv with a feature disabled and breaks rss
dotenv = "0.10"
error-chain = "0.11"
lazy_static = "0.2"
log = "0.3"
rayon = "0.8"
reqwest = "0.8"
error-chain = "0.11"
log = "0.3"
diesel = { version = "0.16", features = ["sqlite"] }
diesel_codegen = { version = "0.16", features = ["sqlite"] }
xdg = "2.1"
lazy_static = "0.2"
rfc822_sanitizer = "0.3"
rss = "1.1"
chrono = "0.4"
# overwrite diesel dependancy that disables a feature rss depends upon
dotenv = "*"
xdg = "2.1"
[dependencies.diesel]
features = ["sqlite"]
version = "0.16"
[dependencies.diesel_codegen]
features = ["sqlite"]
version = "0.16"
[dev-dependencies]
tempdir = "0.3"
rand = "0.3"
tempdir = "0.3"
+20 -9
View File
@@ -1,5 +1,6 @@
use reqwest;
use diesel::SaveChangesDsl;
use diesel::result::QueryResult;
use reqwest::header::{ETag, LastModified};
use schema::{episode, podcast, source};
@@ -105,10 +106,9 @@ impl Episode {
self.played = value;
}
pub fn save(&self, db: &Database) -> Result<()> {
pub fn save(&self, db: &Database) -> QueryResult<Episode> {
let tempdb = db.lock().unwrap();
self.save_changes::<Episode>(&*tempdb)?;
Ok(())
self.save_changes::<Episode>(&*tempdb)
}
}
@@ -163,10 +163,9 @@ impl Podcast {
self.image_uri = value.map(|x| x.to_string());
}
pub fn save(&self, db: &Database) -> Result<()> {
pub fn save(&self, db: &Database) -> QueryResult<Podcast> {
let tempdb = db.lock().unwrap();
self.save_changes::<Podcast>(&*tempdb)?;
Ok(())
self.save_changes::<Podcast>(&*tempdb)
}
}
@@ -227,10 +226,9 @@ impl<'a> Source {
Ok(())
}
pub fn save(&self, db: &Database) -> Result<()> {
pub fn save(&self, db: &Database) -> QueryResult<Source> {
let tempdb = db.lock().unwrap();
self.save_changes::<Source>(&*tempdb)?;
Ok(())
self.save_changes::<Source>(&*tempdb)
}
}
@@ -277,3 +275,16 @@ pub struct NewPodcast {
pub image_uri: Option<String>,
pub source_id: i32,
}
impl NewPodcast {
pub fn into_podcast(self) -> Podcast {
Podcast {
id: 0,
title: self.title,
link: self.link,
description: self.description,
image_uri: self.image_uri,
source_id: self.source_id,
}
}
}