added timestamp for feed items

This commit is contained in:
2023-10-24 19:19:47 +02:00
parent ee80cbd53b
commit e4a65416c7
11 changed files with 128 additions and 26 deletions
+11 -3
View File
@@ -12,13 +12,14 @@ use crate::{
},
};
use actix_web::{web, HttpRequest, HttpResponse, Responder};
use chrono::{Local, NaiveDateTime};
use diesel::prelude::*;
use rss::Item;
use scraper::{Html, Selector};
fn create_feed_item(item: Item, feed: &Feed, connection: &mut PgConnection) {
let item_title = item.title.unwrap();
let frag = Html::parse_fragment(&item.content.unwrap());
let item_title = item.title.clone().unwrap();
let frag = Html::parse_fragment(&item.content.clone().unwrap());
let mut content = "".to_string();
let frag_clone = frag.clone();
frag.tree.into_iter().for_each(|node| {
@@ -40,13 +41,20 @@ fn create_feed_item(item: Item, feed: &Feed, connection: &mut PgConnection) {
.filter(title.eq(&item_title))
.load(connection)
.unwrap();
// todo;
if existing_item.is_empty() {
log::info!("{:?}", item.pub_date());
let mut time: NaiveDateTime = Local::now().naive_local();
if item.pub_date().is_some() {
let format_string = "%a, %d %b %Y %H:%M:%S %z";
time = NaiveDateTime::parse_from_str(item.pub_date().unwrap(), format_string).unwrap();
}
let new_feed_item = NewFeedItem::new(
feed.id,
content.clone(),
item_title.clone(),
item.link.unwrap(),
Some(time),
);
let insert_result = diesel::insert_into(feed_item::table)
.values(&new_feed_item)