7 Commits

Author SHA1 Message Date
Godzil
e5c4c08e66 1.4.4 2018-08-27 16:46:59 +01:00
Godzil
2b201b0785 Fix #94 2018-08-27 13:16:22 +01:00
Godzil
fdf5805911 Fix for #88 2018-08-27 13:11:06 +01:00
Godzil
9191075f48 Fix for #92 when the version server is not answering properly 2018-08-27 13:08:01 +01:00
Godzil
9f73e4f865 Update `ignoredub` to support more form
(and also make it work with multiple languages)
2018-08-17 00:56:50 +01:00
Manoël Trapier
1f20e028e1 Merge pull request #87 from TheDammedGamer/master
Filtering out Pipe Symbol in file names
2018-08-13 15:36:35 +01:00
Liam Townsend
da0fb17015 Filtering out Pipe Symbol in file names
updated sanitiseFileName to include the pipe symbol as this character is not allowed on windows, the error thast it currently throws is: {"errno":-4058,"code":"ENOENT","syscall":"open","path":"K:\\MediaDwn\\Is It Wrong to Try to Pick Up Girls in a Dungeon_\\Is It Wrong to Try to Pick Up Girls in a Dungeon_ - s01e01 - Bell Cranel | Adventurer - [CrunchyRoll].ass"}
2018-08-13 15:25:06 +01:00
7 changed files with 47 additions and 14 deletions

2
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "crunchy",
"version": "1.4.3",
"version": "1.4.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@@ -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"

View File

@@ -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')

View File

@@ -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) =>

View File

@@ -66,7 +66,7 @@ function fileExist(path: string)
function sanitiseFileName(str: string)
{
return str.replace(/[\/':\?\*"<>\\\.]/g, '_');
return str.replace(/[\/':\?\*"<>\\\.\|]/g, '_');
}
/**

View File

@@ -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,

View File

@@ -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;
}