From 4dc90aeb007e34d810c397690f887a2a61f333df Mon Sep 17 00:00:00 2001 From: ssttevee Date: Wed, 29 Mar 2017 13:59:51 -0700 Subject: [PATCH] added custom filenames --- src/batch.ts | 1 + src/episode.ts | 12 +++++++++++- src/interface/IConfig.d.ts | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/batch.ts b/src/batch.ts index c5a2a66..e82dc2f 100644 --- a/src/batch.ts +++ b/src/batch.ts @@ -149,6 +149,7 @@ function parse(args: string[]): IConfigLine .option('-f, --format ', 'The subtitle format. (Default: ass)') .option('-o, --output ', 'The output path.') .option('-s, --series ', 'The series override.') + .option('-n, --filename ', 'The name override.') .option('-t, --tag ', 'The subgroup. (Default: CrunchyRoll)') .parse(args); } diff --git a/src/episode.ts b/src/episode.ts index 4975523..bc84c61 100644 --- a/src/episode.ts +++ b/src/episode.ts @@ -196,7 +196,17 @@ function name(config: IConfig, page: IEpisodePage, series: string, extra: string const volume = (volumeNum < 10 ? '0' : '') + page.volume; const tag = config.tag || 'CrunchyRoll'; - return series + ' - s' + volume + 'e' + episode + ' - [' + tag + ']' + extra; + if (!config.filename) { + return page.series + ' - s' + volume + 'e' + episode + ' - [' + tag + ']' + extra; + } + + return config.filename + .replace(/{EPISODE_ID}/g, page.id.toString()) + .replace(/{EPISODE_NUMBER}/g, episode) + .replace(/{SEASON_NUMBER}/g, volume) + .replace(/{VOLUME_NUMBER}/g, volume) + .replace(/{SERIES_TITLE}/g, series) + .replace(/{TAG}/g, tag) + extra; } /** diff --git a/src/interface/IConfig.d.ts b/src/interface/IConfig.d.ts index 310caa5..1de47e4 100644 --- a/src/interface/IConfig.d.ts +++ b/src/interface/IConfig.d.ts @@ -12,5 +12,6 @@ interface IConfig { format?: string; output?: string; series?: string; + filename?: string; tag?: string; }