From 64ed1790ced7d20cba5caac3d9fd79a9c4af760c Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Thu, 21 Sep 2017 06:35:22 +0300 Subject: [PATCH] Getting there. --- src/index_feed.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/index_feed.rs b/src/index_feed.rs index 5b7ce7a..0b1c3f1 100644 --- a/src/index_feed.rs +++ b/src/index_feed.rs @@ -3,7 +3,7 @@ use diesel; use schema; use dbqueries; use errors::*; -use models::{NewPodcast, NewSource, Source}; +use models::{NewEpisode, NewSource, Source}; pub fn foo() { let inpt = vec![ @@ -51,12 +51,23 @@ pub fn index_loop(db: SqliteConnection) -> Result<()> { let chan = feed.get_podcast_chan(&db)?; let pd = parse_feeds::parse_podcast(&chan, feed.id())?; + diesel::insert_or_replace(&pd) + .into(schema::podcast::table) + .execute(&db)?; + // Holy shit this works! let episodes: Vec<_> = chan.items() .iter() - .map(|x| parse_feeds::parse_episode(x, feed.id())) + .map(|x| parse_feeds::parse_episode(x, feed.id()).unwrap()) .collect(); + // lazy invoking the compiler to check for the Vec type :3 + // let first: &NewEpisode = episodes.first().unwrap(); + + diesel::insert_or_replace(&episodes) + .into(schema::episode::table) + .execute(&db)?; + info!("{:#?}", pd); info!("{:#?}", episodes); // info!("{:?}", chan);