From ddeba2c496f187e5743f74e9c86fcddda6e3f2e6 Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Tue, 25 Feb 2025 09:11:27 -0700 Subject: [PATCH] musikr: correctly strip extensions from files Otherwise I can mangle filenames that are just dots. --- .../java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt index de6f07a49..4f1a803ae 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt @@ -67,6 +67,8 @@ private class TagInterpreterImpl(private val interpretation: Interpretation) : T val songNameOrFile = song.tags.name ?: requireNotNull(song.file.path.name) val songNameOrFileWithoutExt = song.tags.name ?: requireNotNull(song.file.path.name).split('.').first() + val songNameOrFileWithoutExtCorrect = + song.tags.name ?: requireNotNull(song.file.path.name).split('.').dropLast(1).joinToString('.') val albumNameOrDir = song.tags.albumName ?: song.file.path.directory.name val musicBrainzId = song.tags.musicBrainzId?.toUuidOrNull() @@ -114,7 +116,7 @@ private class TagInterpreterImpl(private val interpretation: Interpretation) : T addedMs = song.addedMs, musicBrainzId = musicBrainzId, name = interpretation.naming.name(songNameOrFileWithoutExt, song.tags.sortName), - rawName = songNameOrFileWithoutExt, + rawName = songNameOrFileWithoutExtCorrect, track = song.tags.track, disc = song.tags.disc?.let { Disc(it, song.tags.subtitle) }, date = song.tags.date,