From d4b35736c023b41df4f44caab48e58527c76fceb Mon Sep 17 00:00:00 2001 From: NerdNumber9 Date: Tue, 28 Feb 2017 17:37:51 -0500 Subject: [PATCH] Gallery chapter metadata will now be automatically downloaded when importing galleries. --- app/src/main/java/exh/GalleryAdder.kt | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/exh/GalleryAdder.kt b/app/src/main/java/exh/GalleryAdder.kt index b18ab4b47..5f5bb9cb9 100644 --- a/app/src/main/java/exh/GalleryAdder.kt +++ b/app/src/main/java/exh/GalleryAdder.kt @@ -4,8 +4,10 @@ import eu.kanade.tachiyomi.data.database.DatabaseHelper import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.data.source.SourceManager import eu.kanade.tachiyomi.util.UrlUtil +import eu.kanade.tachiyomi.util.syncChaptersWithSource import exh.metadata.MetadataHelper import exh.metadata.copyTo +import timber.log.Timber import uy.kohesive.injekt.injectLazy import java.net.MalformedURLException import java.net.URL @@ -26,6 +28,7 @@ class GalleryAdder { } val sourceObj = sourceManager.get(source) + ?: throw IllegalStateException("Could not find EH source!") val pathOnlyUrl = UrlUtil.getPath(url) @@ -35,13 +38,11 @@ class GalleryAdder { title = url } - sourceObj?.let { - //Copy basics - manga.copyFrom(sourceObj.fetchMangaDetails(manga).toBlocking().first()) + //Copy basics + manga.copyFrom(sourceObj.fetchMangaDetails(manga).toBlocking().first()) - //Apply metadata - metadataHelper.fetchMetadata(url, source == 2)?.copyTo(manga) - } + //Apply metadata + metadataHelper.fetchMetadata(url, source == 2)?.copyTo(manga) if(fav) manga.favorite = true @@ -49,6 +50,15 @@ class GalleryAdder { manga.id = it } + //Fetch and copy chapters + try { + sourceObj.fetchChapterList(manga).map { + syncChaptersWithSource(db, it, manga, sourceObj) + }.toBlocking().first() + } catch (e: Exception) { + Timber.w(e, "Failed to update chapters for gallery: ${manga.title}!") + } + return manga } } \ No newline at end of file