Improve Hitomi tag list
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user