Renamed index_feeds and fetch_feeds functions.
This commit is contained in:
parent
1ec4370c7b
commit
450643371c
@ -16,7 +16,8 @@ use test::Bencher;
|
|||||||
|
|
||||||
use hammond_data::run_migration_on;
|
use hammond_data::run_migration_on;
|
||||||
use hammond_data::models::NewSource;
|
use hammond_data::models::NewSource;
|
||||||
use hammond_data::index_feed::{index_feeds, Database, Feed};
|
use hammond_data::index_feed::{index, Feed};
|
||||||
|
use hammond_data::Database;
|
||||||
|
|
||||||
use std::io::BufReader;
|
use std::io::BufReader;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
@ -65,7 +66,7 @@ fn index_urls(m: &Database) {
|
|||||||
Feed::new_from_channel_source(chan, s)
|
Feed::new_from_channel_source(chan, s)
|
||||||
})
|
})
|
||||||
.for_each(|feed| {
|
.for_each(|feed| {
|
||||||
index_feeds(m, &mut [feed]);
|
index(m, &mut [feed]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ use dbqueries;
|
|||||||
use feedparser;
|
use feedparser;
|
||||||
use Database;
|
use Database;
|
||||||
|
|
||||||
use models::*;
|
use models::{Podcast, Source};
|
||||||
use errors::*;
|
use errors::*;
|
||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
@ -63,15 +63,15 @@ impl Feed {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn full_index_loop(db: &Database) -> Result<()> {
|
pub fn index_all(db: &Database) -> Result<()> {
|
||||||
let mut f = fetch_all_feeds(db)?;
|
let mut f = fetch_all(db)?;
|
||||||
|
|
||||||
index_feeds(db, &mut f);
|
index(db, &mut f);
|
||||||
info!("Indexing done.");
|
info!("Indexing done.");
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn index_feeds(db: &Database, f: &mut [Feed]) {
|
pub fn index(db: &Database, f: &mut [Feed]) {
|
||||||
f.into_par_iter().for_each(|x| {
|
f.into_par_iter().for_each(|x| {
|
||||||
let e = x.index(&Arc::clone(db));
|
let e = x.index(&Arc::clone(db));
|
||||||
if e.is_err() {
|
if e.is_err() {
|
||||||
@ -81,17 +81,17 @@ pub fn index_feeds(db: &Database, f: &mut [Feed]) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn fetch_all_feeds(db: &Database) -> Result<Vec<Feed>> {
|
pub fn fetch_all(db: &Database) -> Result<Vec<Feed>> {
|
||||||
let feeds = {
|
let feeds = {
|
||||||
let conn = db.lock().unwrap();
|
let conn = db.lock().unwrap();
|
||||||
dbqueries::get_sources(&conn)?
|
dbqueries::get_sources(&conn)?
|
||||||
};
|
};
|
||||||
|
|
||||||
let results = fetch_feeds(db, feeds);
|
let results = fetch(db, feeds);
|
||||||
Ok(results)
|
Ok(results)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn fetch_feeds(db: &Database, feeds: Vec<Source>) -> Vec<Feed> {
|
pub fn fetch(db: &Database, feeds: Vec<Source>) -> Vec<Feed> {
|
||||||
let results: Vec<_> = feeds
|
let results: Vec<_> = feeds
|
||||||
.into_par_iter()
|
.into_par_iter()
|
||||||
.filter_map(|x| {
|
.filter_map(|x| {
|
||||||
@ -119,6 +119,7 @@ mod tests {
|
|||||||
use diesel::prelude::*;
|
use diesel::prelude::*;
|
||||||
use rss;
|
use rss;
|
||||||
use self::rand::Rng;
|
use self::rand::Rng;
|
||||||
|
use models::NewSource;
|
||||||
|
|
||||||
use std::io::BufReader;
|
use std::io::BufReader;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
@ -164,10 +165,10 @@ mod tests {
|
|||||||
.unwrap();
|
.unwrap();
|
||||||
});
|
});
|
||||||
|
|
||||||
full_index_loop(&db).unwrap();
|
index_all(&db).unwrap();
|
||||||
|
|
||||||
// Run again to cover Unique constrains erros.
|
// Run again to cover Unique constrains erros.
|
||||||
full_index_loop(&db).unwrap();
|
index_all(&db).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -211,8 +212,8 @@ mod tests {
|
|||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
// Index the channel
|
// Index the channels
|
||||||
index_feeds(&m, &mut feeds);
|
index(&m, &mut feeds);
|
||||||
|
|
||||||
// Assert the index rows equal the controlled results
|
// Assert the index rows equal the controlled results
|
||||||
let tempdb = m.lock().unwrap();
|
let tempdb = m.lock().unwrap();
|
||||||
|
|||||||
@ -42,14 +42,14 @@ pub fn refresh_feed(
|
|||||||
|
|
||||||
let feeds = {
|
let feeds = {
|
||||||
if let Some(mut vec) = source {
|
if let Some(mut vec) = source {
|
||||||
Ok(index_feed::fetch_feeds(&db, vec))
|
Ok(index_feed::fetch(&db, vec))
|
||||||
} else {
|
} else {
|
||||||
index_feed::fetch_all_feeds(&db)
|
index_feed::fetch_all(&db)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if let Ok(mut x) = feeds {
|
if let Ok(mut x) = feeds {
|
||||||
index_feed::index_feeds(&db, &mut x);
|
index_feed::index(&db, &mut x);
|
||||||
info!("Indexing done.");
|
info!("Indexing done.");
|
||||||
|
|
||||||
sender.send(true).expect("Couldn't send data to channel");;
|
sender.send(true).expect("Couldn't send data to channel");;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user