Update clean.js
This commit is contained in:
		| @@ -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() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user