Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5c4c08e66 | ||
|
|
2b201b0785 | ||
|
|
fdf5805911 | ||
|
|
9191075f48 | ||
|
|
9f73e4f865 | ||
|
|
1f20e028e1 | ||
|
|
da0fb17015 |
2
package-lock.json
generated
2
package-lock.json
generated
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "crunchy",
|
||||
"version": "1.4.3",
|
||||
"version": "1.4.4",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"engines": {
|
||||
"node": ">=5.0"
|
||||
},
|
||||
"version": "1.4.3",
|
||||
"version": "1.4.4",
|
||||
"bin": {
|
||||
"crunchy": "./bin/crunchy",
|
||||
"crunchy.sh": "./bin/crunchy.sh"
|
||||
|
||||
@@ -33,6 +33,11 @@ export default function(args: string[], done: (err?: Error) => void)
|
||||
batchPath = path.normalize(path.join(process.cwd(), config.batch));
|
||||
}
|
||||
|
||||
if (config.nametmpl === undefined)
|
||||
{
|
||||
config.nametmpl = '{SERIES_TITLE} - s{SEASON_NUMBER}e{EPISODE_NUMBER} - {EPISODE_TITLE} - [{TAG}]';
|
||||
}
|
||||
|
||||
// Update the config file with new parameters
|
||||
cfg.save(config);
|
||||
|
||||
@@ -88,7 +93,7 @@ export default function(args: string[], done: (err?: Error) => void)
|
||||
return done(err);
|
||||
}
|
||||
|
||||
if (tasksArr[0].address === '')
|
||||
if (!tasksArr || !tasksArr[0] || (tasksArr[0].address === ''))
|
||||
{
|
||||
return done();
|
||||
}
|
||||
@@ -354,7 +359,7 @@ function parse(args: string[]): IConfigLine
|
||||
.option('-o, --output <s>', 'The output path.')
|
||||
.option('-s, --series <s>', 'The series name override.')
|
||||
.option('--ignoredub', 'Experimental: Ignore all seasons where the title end with \'Dub)\'')
|
||||
.option('-n, --nametmpl <s>', 'Output name template', '{SERIES_TITLE} - s{SEASON_NUMBER}e{EPISODE_NUMBER} - {EPISODE_TITLE} - [{TAG}]')
|
||||
.option('-n, --nametmpl <s>', 'Output name template')
|
||||
.option('-t, --tag <s>', 'The subgroup.', 'CrunchyRoll')
|
||||
.option('-r, --resolution <s>', 'The video resolution. (valid: 360, 480, 720, 1080)', '1080')
|
||||
.option('-b, --batch <s>', 'Batch file', 'CrunchyRoll.txt')
|
||||
|
||||
23
src/cli.ts
23
src/cli.ts
@@ -11,18 +11,25 @@ log.info('Crunchy version ' + current_version);
|
||||
request.get({ uri: 'https://box.godzil.net/getVersion.php?tool=crunchy&v=' + current_version },
|
||||
(error: Error, response: any, body: any) =>
|
||||
{
|
||||
const onlinepkg = JSON.parse(body);
|
||||
if (onlinepkg.status === 'ok')
|
||||
if (response && (response.StatusCode === 200))
|
||||
{
|
||||
let tmp = current_version.split('.');
|
||||
const cur = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
|
||||
tmp = onlinepkg.version.split('.');
|
||||
const dist = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
|
||||
if (dist > cur)
|
||||
const onlinepkg = JSON.parse(body);
|
||||
if (onlinepkg.status === 'ok')
|
||||
{
|
||||
log.warnMore('There is a newer version of crunchy (v' + onlinepkg.version + '), you should update!');
|
||||
let tmp = current_version.split('.');
|
||||
const cur = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
|
||||
tmp = onlinepkg.version.split('.');
|
||||
const dist = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
|
||||
if (dist > cur)
|
||||
{
|
||||
log.warnMore('There is a newer version of crunchy (v' + onlinepkg.version + '), you should update!');
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
log.info('Cannot check version.');
|
||||
}
|
||||
});
|
||||
|
||||
batch(process.argv, (err: any) =>
|
||||
|
||||
@@ -66,7 +66,7 @@ function fileExist(path: string)
|
||||
|
||||
function sanitiseFileName(str: string)
|
||||
{
|
||||
return str.replace(/[\/':\?\*"<>\\\.]/g, '_');
|
||||
return str.replace(/[\/':\?\*"<>\\\.\|]/g, '_');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -23,6 +23,25 @@ export function localeToCC(locale: string): string
|
||||
return ret;
|
||||
}
|
||||
|
||||
const dubignore_regexp: { [id: string]: RegExp; } =
|
||||
{
|
||||
en: /\(.*Dub(?:bed)?.*\)|(?:\(RU\))/i,
|
||||
fr: /\(.*Dub(?:bed)?.*\)|(?:\(RU\))|\(?Doublage.*\)?/,
|
||||
de: /\(.*isch\)|\(Dubbed\)|\(RU\)/
|
||||
};
|
||||
|
||||
export function get_diregexp(config: IConfig): RegExp
|
||||
{
|
||||
let ret = dubignore_regexp.en;
|
||||
|
||||
if (config.crlang in dubignore_regexp)
|
||||
{
|
||||
ret = dubignore_regexp[config.crlang];
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
const episodes_regexp: { [id: string]: RegExp; } =
|
||||
{
|
||||
en: /Episode\s+((OVA)|(PV )?[S0-9][\-P0-9.]*[a-fA-F]?)\s*$/i,
|
||||
|
||||
@@ -239,7 +239,9 @@ function pageScrape(config: IConfig, task: IConfigTask, done: (err: any, result?
|
||||
const episode = regexp.exec($(el).children('.series-title').text());
|
||||
const url = $(el).attr('href');
|
||||
|
||||
if (config.ignoredub && (season_name.endsWith('Dub)') || season_name.endsWith('dub)')))
|
||||
const igndub_re = languages.get_diregexp(config);
|
||||
|
||||
if (config.ignoredub && (igndub_re.exec(season_name)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user