new code for hevcswitch

This commit is contained in:
karl.hudgell 2022-06-16 07:41:15 +01:00
parent 0bbd83f375
commit 41392b0da7

View File

@ -10,28 +10,36 @@ async function filterFeed() {
let retry_show_cache = [] let retry_show_cache = []
if (hevcSwitch) {
for (let show of myshowlist) { for (let show of myshowlist) {
try { try {
// Find show on feed // Find show on feed
let list_filtered_for_show = feed.filter(item => item.title.includes(show.Name)) let list_filtered_for_show = feed.filter(item => item.title.includes(show.Name))
if (list_filtered_for_show.length > 0) { if (list_filtered_for_show.length > 0) {
// If show is found get url then return all links on that page // 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) let full_link_list_from_page = await getLinksFromURL(list_filtered_for_show[0].link)
if (hevcSwitch) {
// Only get urls with HEVC in name // Only get urls with HEVC in name
let urls_with_HEVC_in_url = full_link_list_from_page.filter(item => item.includes('HEVC')) let urls_with_HEVC_in_url = full_link_list_from_page.filter(item => item.includes('HEVC'))
if (urls_with_HEVC_in_url.length == 0) { if (urls_with_HEVC_in_url.length == 0) {
// If no urls with HEVC check for H265 // If no urls with HEVC check for H265
urls_with_HEVC_in_url = full_link_list_from_page.filter(item => item.includes('H265')) urls_to_check = full_link_list_from_page.filter(item => item.includes('H265'))
}
} else {
urls_to_check = full_link_list_from_page
} }
// Only keep urls that match show quality // Only keep urls that match show quality
let urls_with_quality_in_url = urls_with_HEVC_in_url.filter(item => item.includes(show.Quality)) let urls_with_quality_in_url = urls_to_check.filter(item => item.includes(show.Quality))
// Remove any url trying to direct to a torrent site search // 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')) let urls_without_torrent_in_url = urls_with_quality_in_url.filter(item => !item.includes('torrent'))
// Remove any url that doesn't include MeGusta // Remove any url that doesn't include MeGusta
let only_MeGusta_links = urls_without_torrent_in_url.filter(item => item.includes('MeGusta')) if (hevcSwitch) {
pre_nitroFlare = urls_without_torrent_in_url.filter(item => item.includes('MeGusta'))
} else {
pre_nitroFlare = urls_without_torrent_in_url
}
// 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 = pre_nitroFlare.filter(item => !item.includes('nitro'))
// Do some stuff // Do some stuff
let download_list = checkFileName(remove_nitroflare) let download_list = checkFileName(remove_nitroflare)
// Send Links to JDdownloader // Send Links to JDdownloader
@ -40,7 +48,7 @@ async function filterFeed() {
linkAdder(download_list) linkAdder(download_list)
} else { } else {
// No HEVC links found // No HEVC links found
log.info(download_list.length + ' HEVC links for ' + show.Name + ' have been found, will recheck next time.') log.info(download_list.length + ' links for ' + show.Name + ' have been found, will recheck next time.')
for (let feed_item of list_filtered_for_show) { for (let feed_item of list_filtered_for_show) {
retry_show_cache.push(feed_item) retry_show_cache.push(feed_item)
} }
@ -53,42 +61,6 @@ async function filterFeed() {
log.error('Something went wrong ' + error) log.error('Something went wrong ' + error)
} }
} }
} else {
for (let show of myshowlist) {
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 + ' HEVC links for ' + show.Name + ' have been found, will recheck next time.')
for (let feed_item of list_filtered_for_show) {
retry_show_cache.push(feed_item)
}
}
} 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') log.info('Wiping feed cache')
fs.writeFileSync('./feedCache.json', JSON.stringify(retry_show_cache)); fs.writeFileSync('./feedCache.json', JSON.stringify(retry_show_cache));
} }