Cleanup of downloader module.
This commit is contained in:
+18
-12
@@ -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"
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user