1 import { query } from './lib/db';
2 import { v4 as uuidv4 } from 'uuid';
3 import { RSSParser } from './parsers/rss';
5 const rss = new RSSParser();
7 export async function ingestSingle(feed_id: string) {
8 const feed = query.getFeedInfo.get(feed_id);
9 console.log(`Ingesting ${feed.title} @ ${feed.link}`);
11 const data = await rss.parse(feed.link);
13 const insertedData = data.items.map(item => {
15 query.addFeedItem.run(id, feed.id, item.guid, item.title, item.link, item.pubDate, item.content);
22 export async function ingest() {
23 // get a list of feeds!
24 const feeds = query._.ingest_getFeedList.all();
26 feeds.forEach(async feed => {
27 console.log(`Ingesting ${feed.title} @ ${feed.link}`);
29 const data = await rss.parse(feed.link);
31 const insertedData = data.items.map(item => {
34 query.addFeedItem.run(id, feed.id, item.guid, item.title, item.link, item.pubDate, item.content);
37 if((e as any).code !== 'SQLITE_CONSTRAINT_UNIQUE') {