From 85b03d9d8ad960d67d75da05a1f3eb03dfdd5cbe Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:57:07 +0800 Subject: [PATCH] Propagate errors from `writeComicInfo` to callers --- .../com/hippo/ehviewer/spider/SpiderDen.kt | 20 ++++++++----------- .../com/hippo/ehviewer/spider/SpiderQueen.kt | 6 +++++- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/spider/SpiderDen.kt b/app/src/main/kotlin/com/hippo/ehviewer/spider/SpiderDen.kt index 9405e8d66..5bc382d37 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/spider/SpiderDen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/spider/SpiderDen.kt @@ -352,19 +352,15 @@ class SpiderDen(val info: GalleryInfo) { suspend fun writeComicInfo(fetchMetadata: Boolean = true) { downloadDir?.run { resolve(COMIC_INFO_FILE).also { - runCatching { - if (info !is GalleryDetail && fetchMetadata) { - EhEngine.fillGalleryListByApi(listOf(info)) + if (info !is GalleryDetail && fetchMetadata) { + EhEngine.fillGalleryListByApi(listOf(info)) + } + info.getComicInfo().apply { + write(it) + DownloadManager.getDownloadInfo(gid)?.let { downloadInfo -> + downloadInfo.artistInfoList = DownloadArtist.from(gid, penciller.orEmpty()) + EhDB.putDownloadArtist(gid, downloadInfo.artistInfoList) } - info.getComicInfo().apply { - write(it) - DownloadManager.getDownloadInfo(gid)?.let { downloadInfo -> - downloadInfo.artistInfoList = DownloadArtist.from(gid, penciller.orEmpty()) - EhDB.putDownloadArtist(gid, downloadInfo.artistInfoList) - } - } - }.onFailure { - logcat(it) } } } diff --git a/app/src/main/kotlin/com/hippo/ehviewer/spider/SpiderQueen.kt b/app/src/main/kotlin/com/hippo/ehviewer/spider/SpiderQueen.kt index 1fd3cfa7e..db4f5337f 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/spider/SpiderQueen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/spider/SpiderQueen.kt @@ -224,7 +224,11 @@ class SpiderQueen private constructor(val galleryInfo: GalleryInfo) : CoroutineS } if (!spiderDen.postArchive()) { if (mWorkerScope.isDownloadMode) { - spiderDen.writeComicInfo() + runCatching { + spiderDen.writeComicInfo() + }.onFailure { + logcat(it) + } } runCatching { writeSpiderInfoToLocal()