JDRssDownloader/main.js
2022-06-08 22:10:37 +01:00

34 lines
1015 B
JavaScript

// Import dependencies
const fs = require("fs");
const Parser = require("rss-parser");
const { filterFeed } = require("./feed");
const lodash = require('lodash');
(async function main() {
// Make a new RSS Parser
const parser = new Parser();
// Get all the items in the RSS feed
const feed = await parser.parseURL(JSON.parse(fs.readFileSync('config.json')).RSSFeed);
let items = [];
// Clean up the string and replace reserved characters
const fileName = `${feed.title.replace(/\s+/g, "-").replace(/[/\\?%*:|"<>]/g, '').toLowerCase()}.json`;
if (fs.existsSync(fileName)) {
items = require(`./${fileName}`);
}
let updatedArray = lodash.unionBy(feed.items, items, 'title');
// Save the file
console.log(updatedArray.length)
fs.writeFileSync(fileName, JSON.stringify(updatedArray));
// run next part
filterFeed(fileName)
})();