Browse Source

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
Shamicen 2 years ago
parent
commit
80b2ebc45b
1 changed files with 8 additions and 5 deletions
  1. 8 5
      app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt

+ 8 - 5
app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt

@@ -150,17 +150,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()