From 88c9e5e902affd002ef902b5ebb5ad2a66f38795 Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Sat, 16 Aug 2025 17:13:17 +0800 Subject: [PATCH] Support new tag namespace: "location:" Treat it as "other:". --- .../main/kotlin/com/hippo/ehviewer/client/EhTagDatabase.kt | 1 + .../kotlin/com/hippo/ehviewer/client/data/TagNamespace.kt | 2 ++ app/src/main/kotlin/com/hippo/ehviewer/spider/ComicInfo.kt | 5 +++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/client/EhTagDatabase.kt b/app/src/main/kotlin/com/hippo/ehviewer/client/EhTagDatabase.kt index 44a69397f..fffa2d9e0 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/client/EhTagDatabase.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/client/EhTagDatabase.kt @@ -68,6 +68,7 @@ object EhTagDatabase : CoroutineScope { // Copied from https://github.com/EhTagTranslation/EhSyringe/blob/c0cf88da04081072492829673aca34380b14dae6/src/plugin/suggest.ts#L37 // TODO: Optimize private val nsScore = mapOf( + TagNamespace.Location.prefix to 10f, TagNamespace.Other.prefix to 10f, TagNamespace.Female.prefix to 9f, TagNamespace.Male.prefix to 8.5f, diff --git a/app/src/main/kotlin/com/hippo/ehviewer/client/data/TagNamespace.kt b/app/src/main/kotlin/com/hippo/ehviewer/client/data/TagNamespace.kt index dbc16739a..8fdf9b850 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/client/data/TagNamespace.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/client/data/TagNamespace.kt @@ -16,6 +16,7 @@ sealed class TagNamespace(val value: String, val prefix: String?) { object Female : TagNamespace("female", "f") object Group : TagNamespace("group", "g") object Language : TagNamespace("language", "l") + object Location : TagNamespace("location", "loc") object Male : TagNamespace("male", "m") object Mixed : TagNamespace("mixed", "x") object Other : TagNamespace("other", "o") @@ -31,6 +32,7 @@ sealed class TagNamespace(val value: String, val prefix: String?) { Female.value -> Female Group.value -> Group Language.value -> Language + Location.value -> Location Male.value -> Male Mixed.value -> Mixed Other.value -> Other diff --git a/app/src/main/kotlin/com/hippo/ehviewer/spider/ComicInfo.kt b/app/src/main/kotlin/com/hippo/ehviewer/spider/ComicInfo.kt index 22ec4cbca..f9305a9b6 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/spider/ComicInfo.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/spider/ComicInfo.kt @@ -12,6 +12,7 @@ import com.hippo.ehviewer.client.data.TagNamespace.Character import com.hippo.ehviewer.client.data.TagNamespace.Cosplayer import com.hippo.ehviewer.client.data.TagNamespace.Female import com.hippo.ehviewer.client.data.TagNamespace.Group +import com.hippo.ehviewer.client.data.TagNamespace.Location import com.hippo.ehviewer.client.data.TagNamespace.Male import com.hippo.ehviewer.client.data.TagNamespace.Mixed import com.hippo.ehviewer.client.data.TagNamespace.Other @@ -60,7 +61,7 @@ fun GalleryInfo.getComicInfo(): ComicInfo { Group -> groups.addAll(list) Character -> characters.addAll(list) Parody -> parodies.addAll(list) - Other -> otherTags.addAll(list) + Location, Other -> otherTags.addAll(list) Female, Male, Mixed -> ns.prefix.let { prefix -> list.forEach { tag -> otherTags.add("$prefix:$tag") } } @@ -76,7 +77,7 @@ fun GalleryInfo.getComicInfo(): ComicInfo { Group -> groups.add(tag) Character -> characters.add(tag) Parody -> if (tag != TAG_ORIGINAL) parodies.add(tag) - Other -> otherTags.add(tag) + Location, Other -> otherTags.add(tag) Female, Male, Mixed -> ns.prefix.let { otherTags.add("$it:$tag") } else -> Unit }