onlyHEVC flag and more URL checking

This commit is contained in:
karl.hudgell 2022-06-12 16:34:37 +01:00
parent 3520ec1912
commit 3bd2754b3a
3 changed files with 93 additions and 37 deletions

View File

@ -1,11 +1,15 @@
const fs = require('fs') const fs = require('fs')
const { linkAdder } = require('./JDLinkAdder'); const { linkAdder } = require('./JDLinkAdder');
const { getLinksFromURL } = require('./LinkGrabber') const { getLinksFromURL } = require('./LinkGrabber')
const { checkFileName } = require('./checkFileName')
async function filterFeed() { async function filterFeed() {
let myshowlist = JSON.parse(fs.readFileSync('config.json')).Shows let myshowlist = JSON.parse(fs.readFileSync('config.json')).Shows
let hevcSwitch = JSON.parse(fs.readFileSync('config.json')).OnlyHEVC
let feed = JSON.parse(fs.readFileSync('./feedCache.json')); let feed = JSON.parse(fs.readFileSync('./feedCache.json'));
if (hevcSwitch) {
myshowlist.forEach(async show => { myshowlist.forEach(async show => {
try { try {
// Find show on feed // Find show on feed
@ -27,13 +31,15 @@ async function filterFeed() {
let only_MeGusta_links = urls_without_torrent_in_url.filter(item => item.includes('MeGusta')) let only_MeGusta_links = urls_without_torrent_in_url.filter(item => item.includes('MeGusta'))
// NitroFlare doesn't group with the rest of the links in JD, remove them. // NitroFlare doesn't group with the rest of the links in JD, remove them.
let remove_nitroflare = only_MeGusta_links.filter(item => !item.includes('nitro')) let remove_nitroflare = only_MeGusta_links.filter(item => !item.includes('nitro'))
// Do some stuff
let download_list = checkFileName(remove_nitroflare)
// Send Links to JDdownloader // Send Links to JDdownloader
if (remove_nitroflare.length !== 0) { if (download_list.length !== 0) {
log.info(remove_nitroflare.length + ' links for ' + show.Name + ' have been sent to JDdownloader') log.info(download_list.length + ' links for ' + show.Name + ' have been sent to JDdownloader')
linkAdder(remove_nitroflare) linkAdder(download_list)
} else { } else {
// No HEVC links found // No HEVC links found
log.info(remove_nitroflare.length + ' HEVC links for ' + show.Name + ' have been found') log.info(download_list.length + ' HEVC links for ' + show.Name + ' have been found')
} }
} else { } else {
@ -45,8 +51,45 @@ async function filterFeed() {
} }
}) })
// log.info('Wiping feed cache') } else {
// fs.writeFileSync(global.fileName, JSON.stringify('[]')); myshowlist.forEach(async show => {
try {
// Find show on feed
let list_filtered_for_show = feed.filter(item => item.title.includes(show.Name))
if (list_filtered_for_show.length > 0) {
// If show is found get url then return all links on that page
let full_link_list_from_page = await getLinksFromURL(list_filtered_for_show[0].link)
// Only keep urls that match show quality
let urls_with_quality_in_url = full_link_list_from_page.filter(item => item.includes(show.Quality))
// Remove any url trying to direct to a torrent site search
let urls_without_torrent_in_url = urls_with_quality_in_url.filter(item => !item.includes('torrent'))
// NitroFlare doesn't group with the rest of the links in JD, remove them.
let remove_nitroflare = urls_without_torrent_in_url.filter(item => !item.includes('nitro'))
// Do some stuff
let download_list = checkFileName(remove_nitroflare)
// Send Links to JDdownloader
if (download_list.length !== 0) {
log.info(download_list.length + ' links for ' + show.Name + ' have been sent to JDdownloader')
linkAdder(download_list)
} else {
// No links found
log.info(download_list.length + ' links for ' + show.Name + ' have been found')
}
} else {
// Show not found on the current feed cache
log.info(show.Name + ' not on feed')
}
} catch (error) {
log.error('Something went wrong ' + error)
}
})
}
//
log.info('Wiping feed cache')
fs.writeFileSync('./feedCache.json', JSON.stringify('[]'));
} }
module.exports = { module.exports = {

12
checkFileName.js Normal file
View File

@ -0,0 +1,12 @@
function checkFileName(urls) {
let urlList = []
urls.forEach(url => {
let cut = url.match(/([^\/]*$)/mg);
if (cut[0] !== '') {
urlList.push(url)
}
});
return urlList
}
module.exports = { checkFileName }

View File

@ -5,6 +5,7 @@
"RSSFeedRefreshMins": 10, "RSSFeedRefreshMins": 10,
"JDPostLinksMins": 180, "JDPostLinksMins": 180,
"Autostart": false, "Autostart": false,
"OnlyHEVC": true,
"Shows": [ "Shows": [
{ {
"Name": "", "Name": "",