Minor cleanup of metadata

(cherry picked from commit 5b7539ac3eae805e262f86750268fb7a164a70b7)
This commit is contained in:
Jobobby04 2022-06-12 12:46:07 -04:00
parent 6d3095b503
commit e5fd460bb0
10 changed files with 112 additions and 107 deletions

View File

@ -51,16 +51,14 @@ class EHentaiSearchMetadata : RaisedSearchMetadata() {
val cover = thumbnailUrl
// No title bug?
val title = if (Injekt.get<PreferencesHelper>().useJapaneseTitle().get()) {
altTitle ?: title
} else {
title
}
val title = altTitle
?.takeIf { Injekt.get<PreferencesHelper>().useJapaneseTitle().get() }
?: title
// Set artist (if we can find one)
val artist = tags.ofNamespace(EH_ARTIST_NAMESPACE).let { tags ->
if (tags.isNotEmpty()) tags.joinToString(transform = { it.name }) else null
}
val artist = tags.ofNamespace(EH_ARTIST_NAMESPACE)
.ifEmpty { null }
?.joinToString { it.name }
// Copy tags -> genres
val genres = tagsToGenreList()
@ -92,25 +90,25 @@ class EHentaiSearchMetadata : RaisedSearchMetadata() {
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
return with(context) {
listOfNotNull(
gId?.let { getString(R.string.id) to it },
gToken?.let { getString(R.string.token) to it },
exh?.let { getString(R.string.is_exhentai_gallery) to it.toString() },
thumbnailUrl?.let { getString(R.string.thumbnail_url) to it },
title?.let { getString(R.string.title) to it },
altTitle?.let { getString(R.string.alt_title) to it },
genre?.let { getString(R.string.genre) to it },
datePosted?.let { getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) },
parent?.let { getString(R.string.parent) to it },
visible?.let { getString(R.string.visible) to it },
language?.let { getString(R.string.language) to it },
translated?.let { getString(R.string.translated) to it.toString() },
size?.let { getString(R.string.gallery_size) to MetadataUtil.humanReadableByteCount(it, true) },
length?.let { getString(R.string.page_count) to it.toString() },
favorites?.let { getString(R.string.total_favorites) to it.toString() },
ratingCount?.let { getString(R.string.total_ratings) to it.toString() },
averageRating?.let { getString(R.string.average_rating) to it.toString() },
aged.let { getString(R.string.aged) to it.toString() },
lastUpdateCheck.let { getString(R.string.last_update_check) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) },
getItem(gId) { getString(R.string.id) },
getItem(gToken) { getString(R.string.token) },
getItem(exh) { getString(R.string.is_exhentai_gallery) },
getItem(thumbnailUrl) { getString(R.string.thumbnail_url) },
getItem(title) { getString(R.string.title) },
getItem(altTitle) { getString(R.string.alt_title) },
getItem(genre) { getString(R.string.genre) },
getItem(datePosted, { MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }) { getString(R.string.date_posted) },
getItem(parent) { getString(R.string.parent) },
getItem(visible) { getString(R.string.visible) },
getItem(language) { getString(R.string.language) },
getItem(translated) { getString(R.string.translated) },
getItem(size, { MetadataUtil.humanReadableByteCount(it, true) }) { getString(R.string.gallery_size) },
getItem(length) { getString(R.string.page_count) },
getItem(favorites) { getString(R.string.total_favorites) },
getItem(ratingCount) { getString(R.string.total_ratings) },
getItem(averageRating) { getString(R.string.average_rating) },
getItem(aged) { getString(R.string.aged) },
getItem(lastUpdateCheck, { MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }) { getString(R.string.last_update_check) },
)
}
}

View File

@ -41,10 +41,9 @@ class EightMusesSearchMetadata : RaisedSearchMetadata() {
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
return with(context) {
listOfNotNull(
title?.let { getString(R.string.title) to it },
path.nullIfEmpty()?.joinToString("/", prefix = "/")
?.let { getString(R.string.path) to it },
thumbnailUrl?.let { getString(R.string.thumbnail_url) to it },
getItem(title) { getString(R.string.title) },
getItem(path.nullIfEmpty(), { it.joinToString("/", prefix = "/") }) { getString(R.string.path) },
getItem(thumbnailUrl) { getString(R.string.thumbnail_url) },
)
}
}

View File

@ -48,11 +48,11 @@ class HBrowseSearchMetadata : RaisedSearchMetadata() {
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
return with(context) {
listOfNotNull(
hbId?.let { getString(R.string.id) to it.toString() },
hbUrl?.let { getString(R.string.url) to it },
thumbnail?.let { getString(R.string.thumbnail_url) to it },
title?.let { getString(R.string.title) to it },
length?.let { getString(R.string.page_count) to it.toString() },
getItem(hbId) { getString(R.string.id) },
getItem(hbUrl) { getString(R.string.url) },
getItem(thumbnail) { getString(R.string.thumbnail_url) },
getItem(title) { getString(R.string.title) },
getItem(length) { getString(R.string.page_count) },
)
}
}

View File

@ -59,13 +59,13 @@ class HitomiSearchMetadata : RaisedSearchMetadata() {
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
return with(context) {
listOfNotNull(
hlId?.let { getString(R.string.id) to it },
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 },
genre?.let { getString(R.string.genre) to it },
language?.let { getString(R.string.language) to it },
uploadDate?.let { getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) },
getItem(hlId) { getString(R.string.id) },
getItem(title) { getString(R.string.title) },
getItem(thumbnailUrl) { getString(R.string.thumbnail_url) },
getItem(artists.nullIfEmpty(), { it.joinToString() }) { getString(R.string.artist) },
getItem(genre) { getString(R.string.genre) },
getItem(language) { getString(R.string.language) },
getItem(uploadDate, { MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }) { getString(R.string.date_posted) },
)
}
}

View File

@ -77,24 +77,24 @@ class MangaDexSearchMetadata : RaisedSearchMetadata() {
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
return with(context) {
listOfNotNull(
mdUuid?.let { getString(R.string.id) to it },
// mdUrl?.let { getString(R.string.url) to it },
cover?.let { getString(R.string.thumbnail_url) to it },
title?.let { getString(R.string.title) to it },
authors?.let { getString(R.string.author) to it.joinToString() },
artists?.let { getString(R.string.artist) to it.joinToString() },
langFlag?.let { getString(R.string.language) to it },
lastChapterNumber?.let { getString(R.string.last_chapter_number) to it.toString() },
rating?.let { getString(R.string.average_rating) to it.toString() },
// users?.let { getString(R.string.total_ratings) to it },
status?.let { getString(R.string.status) to it.toString() },
// missing_chapters?.let { getString(R.string.missing_chapters) to it },
followStatus?.let { getString(R.string.follow_status) to it.toString() },
anilistId?.let { getString(R.string.anilist_id) to it },
kitsuId?.let { getString(R.string.kitsu_id) to it },
myAnimeListId?.let { getString(R.string.mal_id) to it },
mangaUpdatesId?.let { getString(R.string.manga_updates_id) to it },
animePlanetId?.let { getString(R.string.anime_planet_id) to it },
getItem(mdUuid) { getString(R.string.id) },
// getItem(mdUrl) { getString(R.string.url) },
getItem(cover) { getString(R.string.thumbnail_url) },
getItem(title) { getString(R.string.title) },
getItem(authors, { it.joinToString() }) { getString(R.string.author) },
getItem(artists, { it.joinToString() }) { getString(R.string.artist) },
getItem(langFlag) { getString(R.string.language) },
getItem(lastChapterNumber) { getString(R.string.last_chapter_number) },
getItem(rating) { getString(R.string.average_rating) },
// getItem(users) { getString(R.string.total_ratings) },
getItem(status) { getString(R.string.status) },
// getItem(missing_chapters) { getString(R.string.missing_chapters) },
getItem(followStatus) { getString(R.string.follow_status) },
getItem(anilistId) { getString(R.string.anilist_id) },
getItem(kitsuId) { getString(R.string.kitsu_id) },
getItem(myAnimeListId) { getString(R.string.mal_id) },
getItem(mangaUpdatesId) { getString(R.string.manga_updates_id) },
getItem(animePlanetId) { getString(R.string.anime_planet_id) },
)
}
}

View File

@ -88,17 +88,17 @@ class NHentaiSearchMetadata : RaisedSearchMetadata() {
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
return with(context) {
listOfNotNull(
nhId?.let { getString(R.string.id) to it.toString() },
uploadDate?.let { getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it * 1000)) },
favoritesCount?.let { getString(R.string.total_favorites) to it.toString() },
mediaId?.let { getString(R.string.media_id) to it },
japaneseTitle?.let { getString(R.string.japanese_title) to it },
englishTitle?.let { getString(R.string.english_title) to it },
shortTitle?.let { getString(R.string.short_title) to it },
coverImageType?.let { getString(R.string.cover_image_file_type) to it },
pageImageTypes.size.let { getString(R.string.page_count) to it.toString() },
thumbnailImageType?.let { getString(R.string.thumbnail_image_file_type) to it },
scanlator?.let { getString(R.string.scanlator) to it },
getItem(nhId) { getString(R.string.id) },
getItem(uploadDate, { MetadataUtil.EX_DATE_FORMAT.format(Date(it * 1000)) }) { getString(R.string.date_posted) },
getItem(favoritesCount) { getString(R.string.total_favorites) },
getItem(mediaId) { getString(R.string.media_id) },
getItem(japaneseTitle) { getString(R.string.japanese_title) },
getItem(englishTitle) { getString(R.string.english_title) },
getItem(shortTitle) { getString(R.string.short_title) },
getItem(coverImageType) { getString(R.string.cover_image_file_type) },
getItem(pageImageTypes.size) { getString(R.string.page_count) },
getItem(thumbnailImageType) { getString(R.string.thumbnail_image_file_type) },
getItem(scanlator) { getString(R.string.scanlator) },
)
}
}

View File

@ -67,17 +67,16 @@ class PervEdenSearchMetadata : RaisedSearchMetadata() {
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
return with(context) {
listOfNotNull(
pvId?.let { getString(R.string.id) to it },
url?.let { getString(R.string.url) to it },
thumbnailUrl?.let { getString(R.string.thumbnail_url) to it },
title?.let { getString(R.string.title) to it },
altTitles.nullIfEmpty()?.joinToString()
?.let { getString(R.string.alt_titles) to it },
artist?.let { getString(R.string.artist) to it },
genre?.let { getString(R.string.genre) to it },
rating?.let { getString(R.string.average_rating) to it.toString() },
status?.let { getString(R.string.status) to it },
lang?.let { getString(R.string.language) to it },
getItem(pvId) { getString(R.string.id) },
getItem(url) { getString(R.string.url) },
getItem(thumbnailUrl) { getString(R.string.thumbnail_url) },
getItem(title) { getString(R.string.title) },
getItem(altTitles.nullIfEmpty(), { it.joinToString() }) { getString(R.string.alt_titles) },
getItem(artist) { getString(R.string.artist) },
getItem(genre) { getString(R.string.genre) },
getItem(rating) { getString(R.string.average_rating) },
getItem(status) { getString(R.string.status) },
getItem(lang) { getString(R.string.language) },
)
}
}

View File

@ -56,16 +56,16 @@ class PururinSearchMetadata : RaisedSearchMetadata() {
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
return with(context) {
listOfNotNull(
prId?.let { getString(R.string.id) to it.toString() },
title?.let { getString(R.string.title) to it },
altTitle?.let { getString(R.string.alt_title) to it },
thumbnailUrl?.let { getString(R.string.thumbnail_url) to it },
uploaderDisp?.let { getString(R.string.uploader_capital) to it },
uploader?.let { getString(R.string.uploader) to it },
pages?.let { getString(R.string.page_count) to it.toString() },
fileSize?.let { getString(R.string.gallery_size) to it },
ratingCount?.let { getString(R.string.total_ratings) to it.toString() },
averageRating?.let { getString(R.string.average_rating) to it.toString() },
getItem(prId) { getString(R.string.id) },
getItem(title) { getString(R.string.title) },
getItem(altTitle) { getString(R.string.alt_title) },
getItem(thumbnailUrl) { getString(R.string.thumbnail_url) },
getItem(uploaderDisp) { getString(R.string.uploader_capital) },
getItem(uploader) { getString(R.string.uploader) },
getItem(pages) { getString(R.string.page_count) },
getItem(fileSize) { getString(R.string.gallery_size) },
getItem(ratingCount) { getString(R.string.total_ratings) },
getItem(averageRating) { getString(R.string.average_rating) },
)
}
}

View File

@ -69,20 +69,20 @@ class TsuminoSearchMetadata : RaisedSearchMetadata() {
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
return with(context) {
listOfNotNull(
tmId?.let { getString(R.string.id) to it.toString() },
title?.let { getString(R.string.title) to it },
uploader?.let { getString(R.string.uploader) to it },
uploadDate?.let { getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) },
length?.let { getString(R.string.page_count) to it.toString() },
ratingString?.let { getString(R.string.rating_string) to it },
averageRating?.let { getString(R.string.average_rating) to it.toString() },
userRatings?.let { getString(R.string.total_ratings) to it.toString() },
favorites?.let { getString(R.string.total_favorites) to it.toString() },
category?.let { getString(R.string.genre) to it },
collection?.let { getString(R.string.collection) to it },
group?.let { getString(R.string.group) to it },
parody.nullIfEmpty()?.joinToString()?.let { getString(R.string.parodies) to it },
character.nullIfEmpty()?.joinToString()?.let { getString(R.string.characters) to it },
getItem(tmId) { getString(R.string.id) },
getItem(title) { getString(R.string.title) },
getItem(uploader) { getString(R.string.uploader) },
getItem(uploadDate, { MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }) { getString(R.string.date_posted) },
getItem(length) { getString(R.string.page_count) },
getItem(ratingString) { getString(R.string.rating_string) },
getItem(averageRating) { getString(R.string.average_rating) },
getItem(userRatings) { getString(R.string.total_ratings) },
getItem(favorites) { getString(R.string.total_favorites) },
getItem(category) { getString(R.string.genre) },
getItem(collection) { getString(R.string.collection) },
getItem(group) { getString(R.string.group) },
getItem(parody.nullIfEmpty(), { it.joinToString() }) { getString(R.string.parodies) },
getItem(character.nullIfEmpty(), { it.joinToString() }) { getString(R.string.characters) },
)
}
}

View File

@ -54,6 +54,15 @@ abstract class RaisedSearchMetadata {
if (newTitle != null) titles += RaisedTitle(newTitle, type)
}
fun <T : Any> getItem(
item: T?,
toString: (T) -> String = Any::toString,
block: (T) -> String,
): Pair<String, String>? {
item ?: return null
return block(item) to toString(item)
}
open fun copyTo(manga: SManga) {
val infoManga = createMangaInfo(manga.toMangaInfo()).toSManga()
manga.copyFrom(infoManga)