Add a crude debug mechanism
This commit is contained in:
parent
987e424324
commit
66670547b9
12
src/batch.ts
12
src/batch.ts
@ -44,6 +44,17 @@ export default function(args: string[], done: (err?: Error) => void)
|
||||
config.video_quality = resol_table['1080'].quality;
|
||||
}
|
||||
|
||||
if (config.debug)
|
||||
{
|
||||
/* Ugly but meh */
|
||||
const tmp = JSON.parse(JSON.stringify(config));
|
||||
tmp.pass = 'obfuscated';
|
||||
tmp.user = 'obfustated';
|
||||
tmp.rawArgs = undefined;
|
||||
tmp.options = undefined;
|
||||
log.dumpToDebug('Config', JSON.stringify(tmp), true);
|
||||
}
|
||||
|
||||
tasks(config, batchPath, (err, tasksArr) =>
|
||||
{
|
||||
if (err)
|
||||
@ -203,6 +214,7 @@ function parse(args: string[]): IConfigLine
|
||||
.option('-g, --rebuildcrp', 'Rebuild the crpersistant file.')
|
||||
.option('-b, --batch <s>', 'Batch file', 'CrunchyRoll.txt')
|
||||
.option('--verbose', 'Make tool verbose')
|
||||
.option('--debug', 'Create a debug file. Use only if requested!')
|
||||
.option('--retry <i>', 'Number or time to retry fetching an episode. Default: 5', 5)
|
||||
.parse(args);
|
||||
}
|
||||
|
||||
1
src/interface/IConfig.d.ts
vendored
1
src/interface/IConfig.d.ts
vendored
@ -17,5 +17,6 @@ interface IConfig {
|
||||
rebuildcrp?: boolean;
|
||||
batch?: string;
|
||||
verbose?: boolean;
|
||||
debug?: boolean;
|
||||
retry?: number;
|
||||
}
|
||||
|
||||
20
src/log.ts
20
src/log.ts
@ -1,7 +1,8 @@
|
||||
'use strict';
|
||||
import os = require('os');
|
||||
import fs = require('fs-extra');
|
||||
|
||||
export function error(str: string)
|
||||
export function error(str: string|Error)
|
||||
{
|
||||
/* Do fancy output */
|
||||
console.error(' \x1B[1;31m* ERROR\x1B[0m: ' + str);
|
||||
@ -35,3 +36,20 @@ export function dispEpisode(name: string, status: string, addNL: boolean)
|
||||
console.log('');
|
||||
}
|
||||
}
|
||||
|
||||
export function dumpToDebug(what: string, data: any, create = false)
|
||||
{
|
||||
if (create)
|
||||
{
|
||||
fs.writeFile('debug.txt', '>>>>>>>> ' + what + ':\n' + data + '\n<<<<<<<<\n', (err) =>
|
||||
{
|
||||
if (err) throw err;
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
fs.appendFile('debug.txt', '>>>>>>>> ' + what + ':\n' + data + '\n<<<<<<<<\n', (err) =>
|
||||
{
|
||||
if (err) throw err;
|
||||
});
|
||||
}
|
||||
@ -59,7 +59,7 @@ export default function(config: IConfig, address: string, done: (err: Error) =>
|
||||
if (page.episodes[i].retry <= 0)
|
||||
{
|
||||
log.dispEpisode(config.filename, 'Error...', true);
|
||||
console.error(errD);
|
||||
log.error(errD);
|
||||
log.error('Cannot fetch episode "s' + page.episodes[i].volume + 'e' + page.episodes[i].episode +
|
||||
'", please rerun later');
|
||||
/* Go to the next on the list */
|
||||
@ -68,9 +68,15 @@ export default function(config: IConfig, address: string, done: (err: Error) =>
|
||||
else
|
||||
{
|
||||
log.dispEpisode(config.filename, 'Error...', true);
|
||||
if (config.verbose)
|
||||
if ((config.verbose) || (config.debug))
|
||||
{
|
||||
console.error(errD);
|
||||
if (config.debug)
|
||||
{
|
||||
log.dumpToDebug('series address', address);
|
||||
log.dumpToDebug('series error', errD.stack || errD);
|
||||
log.dumpToDebug('series data', JSON.stringify(page));
|
||||
}
|
||||
log.error(errD);
|
||||
}
|
||||
log.warn('Retrying to fetch episode "s' + page.episodes[i].volume + 'e' + page.episodes[i].episode +
|
||||
'" - Retry ' + page.episodes[i].retry + ' / ' + config.retry);
|
||||
@ -161,6 +167,11 @@ function page(config: IConfig, address: string, done: (err: Error, result?: ISer
|
||||
const title = $('span[itemprop=name]').text();
|
||||
|
||||
if (!title) {
|
||||
if (config.debug)
|
||||
{
|
||||
log.dumpToDebug('inval page addr', address);
|
||||
log.dumpToDebug('inval page data', $);
|
||||
}
|
||||
return done(new Error('Invalid page.(' + address + ')'));
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user