fix(delegate): migrate NH to the v2 api (#1581)

* fix(delegate): migrate NH to the v2 api

* remove extra comment

* remove redundant data

* linting

* Code cleanup

---------

Co-authored-by: Jobobby04 <jobobby04@users.noreply.github.com>
This commit is contained in:
MediocreLegion
2026-04-03 13:59:13 -03:00
committed by GitHub
parent ee1e783126
commit eec1236b8b
3 changed files with 47 additions and 69 deletions
@@ -28,15 +28,13 @@ class NHentaiSearchMetadata : RaisedSearchMetadata() {
var favoritesCount: Long? = null
var mediaId: String? = null
var mediaServer: Int? = null
var japaneseTitle by titleDelegate(TITLE_TYPE_JAPANESE)
var englishTitle by titleDelegate(TITLE_TYPE_ENGLISH)
var shortTitle by titleDelegate(TITLE_TYPE_SHORT)
var coverImageType: String? = null
var pageImageTypes: List<String> = emptyList()
var thumbnailImageType: String? = null
var coverImageUrl: String? = null
var pageImagePreviewUrls: List<String> = emptyList()
var scanlator: String? = null
@@ -45,14 +43,6 @@ class NHentaiSearchMetadata : RaisedSearchMetadata() {
override fun createMangaInfo(manga: SManga): SManga {
val key = nhId?.let { nhIdToPath(it) }
val cover = if (mediaId != null) {
typeToExtension(coverImageType)?.let {
"https://t${mediaServer ?: 1}.nhentai.net/galleries/$mediaId/cover.$it"
}
} else {
null
}
val title = when (preferredTitle) {
TITLE_TYPE_SHORT -> shortTitle ?: englishTitle ?: japaneseTitle ?: manga.title
0, TITLE_TYPE_ENGLISH -> englishTitle ?: japaneseTitle ?: shortTitle ?: manga.title
@@ -85,7 +75,7 @@ class NHentaiSearchMetadata : RaisedSearchMetadata() {
return manga.copy(
url = key ?: manga.url,
thumbnail_url = cover ?: manga.thumbnail_url,
thumbnail_url = coverImageUrl ?: manga.thumbnail_url,
title = title,
artist = group ?: manga.artist,
author = artist ?: manga.artist,
@@ -113,9 +103,8 @@ class NHentaiSearchMetadata : RaisedSearchMetadata() {
getItem(japaneseTitle) { stringResource(SYMR.strings.japanese_title) },
getItem(englishTitle) { stringResource(SYMR.strings.english_title) },
getItem(shortTitle) { stringResource(SYMR.strings.short_title) },
getItem(coverImageType) { stringResource(SYMR.strings.cover_image_file_type) },
getItem(pageImageTypes.size) { stringResource(SYMR.strings.page_count) },
getItem(thumbnailImageType) { stringResource(SYMR.strings.thumbnail_image_file_type) },
getItem(coverImageUrl) { stringResource(SYMR.strings.thumbnail_url) },
getItem(pageImagePreviewUrls.size) { stringResource(SYMR.strings.page_count) },
getItem(scanlator) { stringResource(MR.strings.scanlator) },
)
}
@@ -134,15 +123,6 @@ class NHentaiSearchMetadata : RaisedSearchMetadata() {
private const val NHENTAI_GROUP_NAMESPACE = "group"
const val NHENTAI_CATEGORIES_NAMESPACE = "category"
fun typeToExtension(t: String?) =
when (t) {
"w" -> "webp"
"p" -> "png"
"j" -> "jpg"
"g" -> "gif"
else -> null
}
fun nhUrlToId(url: String) =
url.split("/").last { it.isNotBlank() }.toLong()