diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt index 0ada23509..93fa81bb0 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt @@ -35,6 +35,7 @@ import exh.log.xLogD import exh.metadata.MetadataUtil import exh.metadata.metadata.EHentaiSearchMetadata import exh.metadata.metadata.EHentaiSearchMetadata.Companion.EH_GENRE_NAMESPACE +import exh.metadata.metadata.EHentaiSearchMetadata.Companion.EH_META_NAMESPACE import exh.metadata.metadata.EHentaiSearchMetadata.Companion.TAG_TYPE_LIGHT import exh.metadata.metadata.EHentaiSearchMetadata.Companion.TAG_TYPE_NORMAL import exh.metadata.metadata.EHentaiSearchMetadata.Companion.TAG_TYPE_WEAK @@ -654,24 +655,25 @@ class EHentai( tags.clear() select("#taglist tr").forEach { val namespace = it.select(".tc").text().removeSuffix(":") - tags.addAll( - it.select("div").map { element -> - RaisedTag( - namespace, - element.text().trim(), - when { - element.hasClass("gtl") -> TAG_TYPE_LIGHT - element.hasClass("gtw") -> TAG_TYPE_WEAK - else -> TAG_TYPE_NORMAL - } - ) - } - ) + tags += it.select("div").map { element -> + RaisedTag( + namespace, + element.text().trim(), + when { + element.hasClass("gtl") -> TAG_TYPE_LIGHT + element.hasClass("gtw") -> TAG_TYPE_WEAK + else -> TAG_TYPE_NORMAL + } + ) + } } // Add genre as virtual tag genre?.let { - tags.add(RaisedTag(EH_GENRE_NAMESPACE, it, TAG_TYPE_VIRTUAL)) + tags += RaisedTag(EH_GENRE_NAMESPACE, it, TAG_TYPE_VIRTUAL) + } + if (aged) { + tags += RaisedTag(EH_META_NAMESPACE, "aged", TAG_TYPE_VIRTUAL) } } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/Hitomi.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/Hitomi.kt index bb546e9ad..acb8b4fca 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/Hitomi.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/Hitomi.kt @@ -54,23 +54,31 @@ class Hitomi(delegate: HttpSource, val context: Context) : title = galleryElement.selectFirst("h1")!!.text() artists = galleryElement.select("h2 a").map { it.text() } - tags += artists.map { RaisedTag("artist", it, RaisedSearchMetadata.TAG_TYPE_VIRTUAL) } + tags += artists.map { RaisedTag("artist", it, HitomiSearchMetadata.TAG_TYPE_DEFAULT) } input.select(".gallery-info tr").forEach { galleryInfoElement -> val content = galleryInfoElement.child(1) when (galleryInfoElement.child(0).text().lowercase()) { "group" -> { - group = content.text() - tags += RaisedTag("group", group!!, RaisedSearchMetadata.TAG_TYPE_VIRTUAL) + val group = content.text() + tags += RaisedTag( + "group", + group, + if (group != "N/A") { + HitomiSearchMetadata.TAG_TYPE_DEFAULT + } else { + RaisedSearchMetadata.TAG_TYPE_VIRTUAL + } + ) } "type" -> { genre = content.text() - tags += RaisedTag("type", genre!!, RaisedSearchMetadata.TAG_TYPE_VIRTUAL) + tags += RaisedTag("genre", genre!!, RaisedSearchMetadata.TAG_TYPE_VIRTUAL) } "series" -> { - series = content.select("a").map { it.text() } + val series = content.select("a").map { it.text() } tags += series.map { - RaisedTag("series", it, RaisedSearchMetadata.TAG_TYPE_VIRTUAL) + RaisedTag("series", it, HitomiSearchMetadata.TAG_TYPE_DEFAULT) } } "language" -> { @@ -80,7 +88,7 @@ class Hitomi(delegate: HttpSource, val context: Context) : } } "characters" -> { - characters = content.select("a").map { it.text() } + val characters = content.select("a").map { it.text() } tags += characters.map { RaisedTag( "character", diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt index 4319778b0..8c2bd0953 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt @@ -93,7 +93,15 @@ class NHentai(delegate: HttpSource, val context: Context) : jsonResponse.tags.filter { it.type != null && it.name != null }.mapTo(tags) { - RaisedTag(it.type!!, it.name!!, if (it.type == NHentaiSearchMetadata.NHENTAI_CATEGORIES_NAMESPACE) RaisedSearchMetadata.TAG_TYPE_VIRTUAL else NHentaiSearchMetadata.TAG_TYPE_DEFAULT) + RaisedTag( + it.type!!, + it.name!!, + if (it.type == NHentaiSearchMetadata.NHENTAI_CATEGORIES_NAMESPACE) { + RaisedSearchMetadata.TAG_TYPE_VIRTUAL + } else { + NHentaiSearchMetadata.TAG_TYPE_DEFAULT + } + ) } } } diff --git a/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt index cd9eab260..e856cfd53 100644 --- a/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt @@ -126,6 +126,7 @@ class EHentaiSearchMetadata : RaisedSearchMetadata() { const val EH_GENRE_NAMESPACE = "genre" private const val EH_ARTIST_NAMESPACE = "artist" const val EH_LANGUAGE_NAMESPACE = "language" + const val EH_META_NAMESPACE = "meta" private fun splitGalleryUrl(url: String) = url.let { diff --git a/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt index 130cc7d67..7fb828acf 100644 --- a/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt @@ -26,16 +26,10 @@ class HitomiSearchMetadata : RaisedSearchMetadata() { var artists: List = emptyList() - var group: String? = null - var genre: String? = null var language: String? = null - var series: List = emptyList() - - var characters: List = emptyList() - var uploadDate: Long? = null override fun createMangaInfo(manga: MangaInfo): MangaInfo { @@ -69,11 +63,8 @@ class HitomiSearchMetadata : RaisedSearchMetadata() { title?.let { getString(R.string.title) to it }, thumbnailUrl?.let { getString(R.string.thumbnail_url) to it }, artists.nullIfEmpty()?.joinToString()?.let { getString(R.string.artist) to it }, - group?.let { getString(R.string.group) to it }, genre?.let { getString(R.string.genre) to it }, language?.let { getString(R.string.language) to it }, - series.nullIfEmpty()?.joinToString()?.let { getString(R.string.series) to it }, - characters.nullIfEmpty()?.joinToString()?.let { getString(R.string.characters) to it }, uploadDate?.let { getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) } ) } diff --git a/app/src/main/java/exh/ui/metadata/adapters/HitomiDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/HitomiDescriptionAdapter.kt index d4e4ff68a..8ac601c2c 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/HitomiDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/HitomiDescriptionAdapter.kt @@ -44,14 +44,12 @@ class HitomiDescriptionAdapter( } ?: meta.genre ?: itemView.context.getString(R.string.unknown) binding.whenPosted.text = MetadataUtil.EX_DATE_FORMAT.format(Date(meta.uploadDate ?: 0)) - binding.group.text = meta.group ?: itemView.context.getString(R.string.unknown) binding.language.text = meta.language ?: itemView.context.getString(R.string.unknown) binding.moreInfo.bindDrawable(itemView.context, R.drawable.ic_info_24dp) listOf( binding.genre, - binding.group, binding.language, binding.whenPosted ).forEach { textView -> diff --git a/app/src/main/res/layout/description_adapter_hi.xml b/app/src/main/res/layout/description_adapter_hi.xml index 5a28ff88e..38c429687 100644 --- a/app/src/main/res/layout/description_adapter_hi.xml +++ b/app/src/main/res/layout/description_adapter_hi.xml @@ -65,17 +65,6 @@ app:layout_constraintBottom_toBottomOf="@+id/language" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@+id/language" /> - - - \ No newline at end of file