From c406bc70ee117566162487f68b6aaf545bcb7876 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mano=C3=ABl=20Trapier?= Date: Wed, 17 May 2017 16:17:26 +0100 Subject: [PATCH] Sanitise more characters from filenames --- src/episode.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/episode.ts b/src/episode.ts index e193ac4..53dcc84 100644 --- a/src/episode.ts +++ b/src/episode.ts @@ -63,6 +63,12 @@ function fileExist(path: string) } } +function sanitiseFileName(str: string) +{ + return str.replace('/', '_').replace('\'', '_').replace(':', '_').replace('?', '_') + .replace('*', '_').replace('\"', '_').replace('<', '_').replace('>', '_'); +} + /** * Downloads the subtitle and video. */ @@ -70,8 +76,8 @@ function download(config: IConfig, page: IEpisodePage, player: IEpisodePlayer, d { let series = config.series || page.series; - series = series.replace('/', '_').replace('\'', '_').replace(':', '_'); - let fileName = name(config, page, series, '').replace('/', '_').replace('\'', '_').replace(':', '_'); + series = sanitiseFileName(series); + let fileName = sanitiseFileName(name(config, page, series, '')); let filePath = path.join(config.output || process.cwd(), series, fileName); if (fileExist(filePath + '.mkv')) @@ -82,7 +88,7 @@ function download(config: IConfig, page: IEpisodePage, player: IEpisodePlayer, d do { count = count + 1; - fileName = name(config, page, series, '-' + count).replace('/', '_').replace('\'', '_').replace(':', '_'); + fileName = sanitiseFileName(name(config, page, series, '-' + count)); filePath = path.join(config.output || process.cwd(), series, fileName); } while (fileExist(filePath + '.mkv'));