diff --git a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasksV2/listeners/BaseInfoFromFileTaskListener.kt b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasksV2/listeners/BaseInfoFromFileTaskListener.kt index 486c5c21..be0408e7 100644 --- a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasksV2/listeners/BaseInfoFromFileTaskListener.kt +++ b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasksV2/listeners/BaseInfoFromFileTaskListener.kt @@ -56,7 +56,11 @@ class BaseInfoFromFileTaskListener() : CoordinatorEventListener() { val fileName = File(started.file).nameWithoutExtension val fileNameParser = FileNameParser(fileName) BaseInfo( - title = fileNameParser.guessDesiredTitle(), + title = fileNameParser.guessDesiredTitle().also { + if (it.isBlank()) { + throw RuntimeException("No title found!") + } + }, sanitizedName = fileNameParser.guessDesiredFileName(), searchTitles = fileNameParser.guessSearchableTitle() ) diff --git a/shared/common/src/test/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParserTest.kt b/shared/common/src/test/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParserTest.kt index d2e64405..6771979b 100644 --- a/shared/common/src/test/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParserTest.kt +++ b/shared/common/src/test/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParserTest.kt @@ -71,16 +71,23 @@ class FileNameParserTest { @Test fun findSearchableTitle() { - val input = "[FANCY] Urusei Yatsura (2022) - 36 [1080p HEVC]" + val input = "[FANCY] Urusei Baka (2022) - 36 [1080p HEVC]" val result = FileNameParser(input).guessSearchableTitle() - assertThat(result.first()).isEqualTo("Urusei Yatsura (2022)") + assertThat(result.first()).isEqualTo("Urusei Baka (2022)") } @Test fun findSearchableTitle2() { - val input = "[FANCY] Urusei Yatsura - 36 [1080p HEVC]" + val input = "[FANCY] Urusei Baka - 36 [1080p HEVC]" val result = FileNameParser(input).guessSearchableTitle() - assertThat(result.first()).isEqualTo("Urusei Yatsura") + assertThat(result.first()).isEqualTo("Urusei Baka") + } + + @Test + fun assertTitleFails() { + val input = "S01E03-How to unlucky i am" + val result = FileNameParser(input).guessDesiredTitle() + assertThat(result).isEmpty() } } \ No newline at end of file