Update clean.js
This commit is contained in:
parent
c03b55812f
commit
c45edae2d8
@ -17,6 +17,7 @@ program
|
|||||||
|
|
||||||
const config = program.opts()
|
const config = program.opts()
|
||||||
|
|
||||||
|
const offlineStatusCodes = [404, 410, 500, 501]
|
||||||
const instance = axios.create({
|
const instance = axios.create({
|
||||||
timeout: config.timeout,
|
timeout: config.timeout,
|
||||||
maxContentLength: 200000,
|
maxContentLength: 200000,
|
||||||
@ -24,7 +25,7 @@ const instance = axios.create({
|
|||||||
rejectUnauthorized: false
|
rejectUnauthorized: false
|
||||||
}),
|
}),
|
||||||
validateStatus: function (status) {
|
validateStatus: function (status) {
|
||||||
return status !== 404 && status < 500
|
return !offlineStatusCodes.includes(status)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -34,7 +35,7 @@ const stats = { broken: 0 }
|
|||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
console.info(`\nStarting...`)
|
console.info(`\nStarting...`)
|
||||||
console.time('Process completed in')
|
console.time('Done in')
|
||||||
if (config.debug) {
|
if (config.debug) {
|
||||||
console.info(chalk.yellow(`INFO: Debug mode enabled\n`))
|
console.info(chalk.yellow(`INFO: Debug mode enabled\n`))
|
||||||
}
|
}
|
||||||
@ -101,11 +102,11 @@ async function checkStatus(playlist) {
|
|||||||
.then(utils.sleep(config.delay))
|
.then(utils.sleep(config.delay))
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
clearTimeout(timeout)
|
clearTimeout(timeout)
|
||||||
if (err.response && (err.response.status === 404 || err.response.status >= 500)) {
|
if (err.response && offlineStatusCodes.includes(err.response.status)) {
|
||||||
if (config.debug) {
|
if (config.debug) {
|
||||||
console.info(` ${counter} ${chalk.red('offline')} ${chalk.white(channel.url)}`)
|
console.info(` ${counter} ${chalk.red('offline')} ${chalk.white(channel.url)}`)
|
||||||
stats.broken++
|
|
||||||
}
|
}
|
||||||
|
stats.broken++
|
||||||
} else {
|
} else {
|
||||||
results.push(channel)
|
results.push(channel)
|
||||||
if (config.debug) {
|
if (config.debug) {
|
||||||
@ -130,7 +131,7 @@ async function savePlaylist(playlist) {
|
|||||||
return false
|
return false
|
||||||
} else {
|
} else {
|
||||||
utils.createFile(playlist.url, output)
|
utils.createFile(playlist.url, output)
|
||||||
console.info(`Playlist has been updated. Removed ${stats.broken} broken links.`)
|
console.info(`Playlist has been updated. Removed ${stats.broken} links.`)
|
||||||
}
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
@ -141,7 +142,7 @@ async function done() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function finish() {
|
function finish() {
|
||||||
console.timeEnd('Process completed in')
|
console.timeEnd('Done in')
|
||||||
}
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
Loading…
Reference in New Issue
Block a user