Fix ComicInfo.xml not being read if .noxml file exists too (#8111)

* gives ComicInfo.xml files priority over noxml files if both are at the chapter root.

* delete the noxml file if both a noXml file and a ComicInfo file exist

(cherry picked from commit 80b2ebc45b5f04bcd832ed2497d3f2f6ea4adf10)
This commit is contained in:
Shamicen 2022-10-01 05:41:40 +02:00 committed by Jobobby04
parent 5002bafa22
commit d540d83574

View File

@ -176,17 +176,20 @@ class LocalSource(
// Augment manga details based on metadata files
try {
val mangaDirFiles = getMangaDirsFiles(manga.url, baseDirsFile).toList()
val comicInfoMetadata = mangaDirFiles
.firstOrNull { it.name == COMIC_INFO_FILE || it.name == ".noxml" }
val comicInfoFile = mangaDirFiles
.firstOrNull { it.name == COMIC_INFO_FILE }
val noXmlFile = mangaDirFiles
.firstOrNull { it.name == ".noxml" }
if (comicInfoFile != null && noXmlFile != null) noXmlFile.delete()
when {
// Top level ComicInfo.xml
comicInfoMetadata?.name == COMIC_INFO_FILE -> {
setMangaDetailsFromComicInfoFile(comicInfoMetadata.inputStream(), manga)
comicInfoFile != null -> {
setMangaDetailsFromComicInfoFile(comicInfoFile.inputStream(), manga)
}
// Copy ComicInfo.xml from chapter archive to top level if found
comicInfoMetadata == null -> {
noXmlFile == null -> {
val chapterArchives = mangaDirFiles
.filter { isSupportedArchiveFile(it.extension) }
.toList()