diff --git a/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/epub/EpubMetadataProvider.kt b/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/epub/EpubMetadataProvider.kt index d63b53b2d..a56575de4 100644 --- a/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/epub/EpubMetadataProvider.kt +++ b/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/epub/EpubMetadataProvider.kt @@ -53,15 +53,14 @@ class EpubMetadataProvider( val creatorRefines = opf.select("metadata > meta[property=role][scheme=marc:relators]") .associate { it.attr("refines").removePrefix("#") to it.text() } val authors = opf.select("metadata > dc|creator") - .flatMap { el -> - val names = el.text()?.split(",")?.mapNotNull { it.trim().ifBlank { null } } ?: emptyList() - if (names.isEmpty()) emptyList() + .mapNotNull { el -> + val name = el.text()?.trim() + if (name.isNullOrBlank()) null else { val opfRole = el.attr("opf|role").ifBlank { null } val id = el.attr("id").ifBlank { null } val refineRole = creatorRefines[id]?.ifBlank { null } - val role = opfRole ?: refineRole - names.map { Author(it, relators[role] ?: "writer") } + Author(name, relators[opfRole ?: refineRole] ?: "writer") } }