From 3f827d1bad2bbd42724007fe436478a765204941 Mon Sep 17 00:00:00 2001 From: tom5079 Date: Mon, 9 Dec 2019 10:15:53 +0900 Subject: [PATCH 1/3] bug fix --- libpupil/src/main/java/xyz/quaver/hitomi/common.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libpupil/src/main/java/xyz/quaver/hitomi/common.kt b/libpupil/src/main/java/xyz/quaver/hitomi/common.kt index 11c14bee..483fb7bf 100644 --- a/libpupil/src/main/java/xyz/quaver/hitomi/common.kt +++ b/libpupil/src/main/java/xyz/quaver/hitomi/common.kt @@ -79,7 +79,7 @@ fun urlFromURL(url: String, base: String? = null) : String { fun fullPathFromHash(hash: String?) : String? { return when { - hash?.length ?: 0 < 3 -> hash + (hash?.length ?: 0) < 3 -> hash else -> hash!!.replace(Regex("^.*(..)(.)$"), "$2/$1/$hash") } } From 52c05e6888ab5283a603f8772158614616f85dc0 Mon Sep 17 00:00:00 2001 From: tom5079 Date: Wed, 11 Dec 2019 19:52:25 +0900 Subject: [PATCH 2/3] fixed #31 on libpupil #TODO: fix app side to completely resolve the issue --- .../src/main/java/xyz/quaver/hitomi/common.kt | 17 ++++++++++------- .../src/test/java/xyz/quaver/hitomi/UnitTest.kt | 6 +++--- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/libpupil/src/main/java/xyz/quaver/hitomi/common.kt b/libpupil/src/main/java/xyz/quaver/hitomi/common.kt index 483fb7bf..ee84c3e2 100644 --- a/libpupil/src/main/java/xyz/quaver/hitomi/common.kt +++ b/libpupil/src/main/java/xyz/quaver/hitomi/common.kt @@ -51,7 +51,7 @@ fun subdomainFromGalleryID(g: Int) : String { fun subdomainFromURL(url: String, base: String? = null) : String { var retval = "a" - if (!base.isNullOrEmpty()) + if (!base.isNullOrBlank()) retval = base val r = Regex("""/galleries/\d*(\d)/""") @@ -60,7 +60,7 @@ fun subdomainFromURL(url: String, base: String? = null) : String { if (m == null) { b = 16 - val r2 = Regex("""/images/[0-9a-f]/([0-9a-f]{2})/""") + val r2 = Regex("""/[0-9a-f]/([0-9a-f]{2})/""") m = r2.find(url) if (m == null) return retval @@ -84,12 +84,15 @@ fun fullPathFromHash(hash: String?) : String? { } } -fun urlFromHash(galleryID: Int, image: GalleryInfo, oldMethod: Boolean) : String { +fun urlFromHash(galleryID: Int, image: GalleryInfo, webp: String? = null) : String { + val ext = webp ?: image.name.split('.').last() return when { - oldMethod or image.hash.isNullOrEmpty() -> "$protocol//a.hitomi.la/galleries/$galleryID/${image.name}" - else -> "$protocol//a.hitomi.la/images/${fullPathFromHash(image.hash)}.${image.name.split('.').last()}" + image.hash.isNullOrBlank() -> + "$protocol//a.hitomi.la/galleries/$galleryID/${image.name}" + else -> + "$protocol//a.hitomi.la/${webp?:"images"}/${fullPathFromHash(image.hash)}.$ext" } } -fun urlFromUrlFromHash(galleryID: Int, image: GalleryInfo, oldMethod: Boolean = false) = - urlFromURL(urlFromHash(galleryID, image, oldMethod)) \ No newline at end of file +fun urlFromUrlFromHash(galleryID: Int, image: GalleryInfo, webp: String? = null) = + urlFromURL(urlFromHash(galleryID, image, webp)) \ No newline at end of file diff --git a/libpupil/src/test/java/xyz/quaver/hitomi/UnitTest.kt b/libpupil/src/test/java/xyz/quaver/hitomi/UnitTest.kt index b8ef33fd..7d40a893 100644 --- a/libpupil/src/test/java/xyz/quaver/hitomi/UnitTest.kt +++ b/libpupil/src/test/java/xyz/quaver/hitomi/UnitTest.kt @@ -87,9 +87,9 @@ class UnitTest { @Test fun test_urlFromUrlFromHash() { - val url = urlFromUrlFromHash(1510702, GalleryInfo( - 210, "56e9e1b8bb72194777ed93fee11b06070b905039dd11348b070bcf1793aaed7b", 1, "6.jpg", 300 - )) + val url = urlFromUrlFromHash(1531795, GalleryInfo( + 212, "719d46a7556be0d0021c5105878507129b5b3308b02cf67f18901b69dbb3b5ef", 1, "00.jpg", 300 + ), "webp") print(url) } From fa6b3ad7bad6f60430d24a3bbd7e57e46676ff01 Mon Sep 17 00:00:00 2001 From: tom5079 Date: Wed, 11 Dec 2019 20:03:55 +0900 Subject: [PATCH 3/3] resolves #31 --- .../xyz/quaver/pupil/util/GalleryDownloader.kt | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt b/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt index 32a18e34..55109694 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt @@ -187,15 +187,11 @@ class GalleryDownloader( async(Dispatchers.IO) { val url = when(useHiyobi) { true -> createImgList(galleryID, reader)[index].path - false -> when (galleryInfo.haswebp) { - 1 -> webpUrlFromUrl( - urlFromUrlFromHash( - galleryID, - galleryInfo, - true - ) - ) - else -> urlFromUrlFromHash(galleryID, galleryInfo) + false -> when { + (!galleryInfo.hash.isNullOrBlank()) and (galleryInfo.haswebp == 1) -> + urlFromUrlFromHash(galleryID, galleryInfo, "webp") + else -> + urlFromUrlFromHash(galleryID, galleryInfo) } }