mirror of
https://gitlab.com/Anson-Projects/zine.git
synced 2025-07-27 08:41:25 +00:00
Algorithm Tweaks
This commit is contained in:
57
src/main.rs
57
src/main.rs
@@ -16,50 +16,8 @@ use std::collections::HashMap;
|
||||
fn main() -> Result<(), Box<dyn Error>> {
|
||||
simple_logger::init_with_level(log::Level::Info).unwrap();
|
||||
|
||||
let mut featured = utilities::read_feed("featured_feeds.txt");
|
||||
|
||||
featured = featured
|
||||
.iter_mut()
|
||||
.map(|post| {
|
||||
post.score += 60 * 24 * 2;
|
||||
post.clone()
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
let mut entries = utilities::read_feed("feeds.txt");
|
||||
|
||||
entries.extend(featured);
|
||||
|
||||
entries.retain(|entry| entry.score.is_positive());
|
||||
|
||||
entries.par_iter_mut().for_each(|entry| {
|
||||
if let Some(image_url) = &entry.image_url {
|
||||
match web_fetchers::is_valid_image_url(image_url) {
|
||||
Ok(true) => {
|
||||
entry.score += 1440;
|
||||
}
|
||||
_ => {
|
||||
entry.image_url = None;
|
||||
entry.score += -1440;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
match web_fetchers::fetch_social_image(entry.link.clone()) {
|
||||
Ok(social_image_url) => {
|
||||
if web_fetchers::is_valid_image_url(&social_image_url).unwrap_or(false) {
|
||||
entry.image_url = Some(social_image_url);
|
||||
entry.score += 1440;
|
||||
} else {
|
||||
entry.score += -1440;
|
||||
}
|
||||
}
|
||||
Err(error) => {
|
||||
log::info!("{}: {}", error, entry.link.clone());
|
||||
entry.score += -1440;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
entries.retain(|entry| entry.score.is_positive());
|
||||
|
||||
// Count occurences of main urls
|
||||
@@ -73,6 +31,21 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||
entry.score = (entry.score / url_counts.get(&entry.main_url).unwrap()) as i64;
|
||||
});
|
||||
|
||||
let mut featured = utilities::read_feed("featured_feeds.txt");
|
||||
|
||||
featured = featured
|
||||
.iter_mut()
|
||||
.map(|post| {
|
||||
post.score *= 1.5 as i64;
|
||||
post.clone()
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
entries.extend(featured);
|
||||
|
||||
entries.par_iter_mut().for_each(utilities::find_image);
|
||||
entries.retain(|entry| entry.score.is_positive());
|
||||
|
||||
entries.sort();
|
||||
|
||||
// Remove bottom 10% from list
|
||||
|
Reference in New Issue
Block a user