From 1365236bdcbeeb67410e2b602093ff94791ec14e Mon Sep 17 00:00:00 2001 From: "karl.hudgell" Date: Thu, 9 Jun 2022 20:23:36 +0100 Subject: [PATCH] working dynamic fileName again --- FeedFilter.js | 3 +-- FeedUpdater.js | 13 ++++--------- JDRssDownloader.js | 1 + README.md | 9 +++++++++ 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/FeedFilter.js b/FeedFilter.js index d379720..33b4537 100644 --- a/FeedFilter.js +++ b/FeedFilter.js @@ -4,9 +4,8 @@ const { getLinksFromURL } = require('./LinkGrabber') const log = require('simple-node-logger').createSimpleLogger('jdrssdownloader.log'); async function filterFeed() { - fileName = './releasebb.json' let myshowlist = JSON.parse(fs.readFileSync('config.json')).Shows - let feed = JSON.parse(fs.readFileSync(fileName)); + let feed = JSON.parse(fs.readFileSync(global.fileName)); myshowlist.forEach(async show => { try { diff --git a/FeedUpdater.js b/FeedUpdater.js index 78eb0eb..6bee7a8 100644 --- a/FeedUpdater.js +++ b/FeedUpdater.js @@ -1,7 +1,5 @@ -// Import dependencies const fs = require("fs"); const Parser = require("rss-parser"); -const { filterFeed } = require("./FeedFilter"); const lodash = require('lodash'); const log = require('simple-node-logger').createSimpleLogger('jdrssdownloader.log'); @@ -15,10 +13,10 @@ async function feedUpdater() { let items = []; // Clean up the string and replace reserved characters - const fileName = `${feed.title.replace(/\s+/g, "-").replace(/[/\\?%*:|"<>]/g, '').toLowerCase()}.json`; + global.fileName = `${feed.title.replace(/\s+/g, "-").replace(/[/\\?%*:|"<>]/g, '').toLowerCase()}.json`; - if (fs.existsSync(fileName)) { - items = require(`./${fileName}`); + if (fs.existsSync(global.fileName)) { + items = require(`./${global.fileName}`); } // Compare existing cache and new items and merge differences let updatedArray = lodash.unionBy(feed.items, items, 'title'); @@ -27,11 +25,8 @@ async function feedUpdater() { log.info(updatedArray.length + ' items in file cache') fs.writeFileSync(fileName, JSON.stringify(updatedArray)); - // run next part - // return fileName - // filterFeed(fileName) + } -// (); module.exports = { feedUpdater diff --git a/JDRssDownloader.js b/JDRssDownloader.js index b4b8a90..4d702a8 100644 --- a/JDRssDownloader.js +++ b/JDRssDownloader.js @@ -9,5 +9,6 @@ let JDPostLinksMins = JSON.parse(fs.readFileSync('config.json')).JDPostLinksMins log.info('Refreshing RSS Items every ' + RSSFeedRefreshMins + ' Minutes') log.info('Checking for links and sending to JDdownloader every ' + JDPostLinksMins + ' Minutes') + setInterval(feedUpdater, RSSFeedRefreshMins * 60000); setInterval(filterFeed, JDPostLinksMins * 60000); diff --git a/README.md b/README.md index e88ab35..a4627ff 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,15 @@ JDownloader 2 is a great tool, but since V1 has been missing a way to automatica I have put together this simple project to allow me to do that, people may find useful. +- Automatically check RSS feed and send to JDownloader +- Uses MyJDownloader API to allow running on separate system +- Local file cache of RSS feed +- Specify time to check RSS feed +- Specify time to check file cache to send links to JDownloader +- Ability to add multiple shows to check for +- Ability to check for different qualities per show you are looking for + + You will need NodeJS installed, then you can checkout this repo. ## Configuration