From e5fd460bb00133b010a2f28d5e5a68f0b9eb189c Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Sun, 12 Jun 2022 12:46:07 -0400 Subject: [PATCH] Minor cleanup of metadata (cherry picked from commit 5b7539ac3eae805e262f86750268fb7a164a70b7) --- .../metadata/EHentaiSearchMetadata.kt | 52 +++++++++---------- .../metadata/EightMusesSearchMetadata.kt | 7 ++- .../metadata/HBrowseSearchMetadata.kt | 10 ++-- .../metadata/metadata/HitomiSearchMetadata.kt | 14 ++--- .../metadata/MangaDexSearchMetadata.kt | 36 ++++++------- .../metadata/NHentaiSearchMetadata.kt | 22 ++++---- .../metadata/PervEdenSearchMetadata.kt | 21 ++++---- .../metadata/PururinSearchMetadata.kt | 20 +++---- .../metadata/TsuminoSearchMetadata.kt | 28 +++++----- .../metadata/base/RaisedSearchMetadata.kt | 9 ++++ 10 files changed, 112 insertions(+), 107 deletions(-) diff --git a/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt index 003e04603..3b300ece9 100644 --- a/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt @@ -51,16 +51,14 @@ class EHentaiSearchMetadata : RaisedSearchMetadata() { val cover = thumbnailUrl // No title bug? - val title = if (Injekt.get().useJapaneseTitle().get()) { - altTitle ?: title - } else { - title - } + val title = altTitle + ?.takeIf { Injekt.get().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> { 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) }, ) } } diff --git a/app/src/main/java/exh/metadata/metadata/EightMusesSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/EightMusesSearchMetadata.kt index 0609bdef2..5f1bda5f1 100644 --- a/app/src/main/java/exh/metadata/metadata/EightMusesSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/EightMusesSearchMetadata.kt @@ -41,10 +41,9 @@ class EightMusesSearchMetadata : RaisedSearchMetadata() { override fun getExtraInfoPairs(context: Context): List> { 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) }, ) } } diff --git a/app/src/main/java/exh/metadata/metadata/HBrowseSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/HBrowseSearchMetadata.kt index dc3685c8a..d15ac146c 100644 --- a/app/src/main/java/exh/metadata/metadata/HBrowseSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/HBrowseSearchMetadata.kt @@ -48,11 +48,11 @@ class HBrowseSearchMetadata : RaisedSearchMetadata() { override fun getExtraInfoPairs(context: Context): List> { 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) }, ) } } diff --git a/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt index 5fe57001a..b207954fd 100644 --- a/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt @@ -59,13 +59,13 @@ class HitomiSearchMetadata : RaisedSearchMetadata() { override fun getExtraInfoPairs(context: Context): List> { 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) }, ) } } diff --git a/app/src/main/java/exh/metadata/metadata/MangaDexSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/MangaDexSearchMetadata.kt index 56d7fbe2e..6491e657a 100644 --- a/app/src/main/java/exh/metadata/metadata/MangaDexSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/MangaDexSearchMetadata.kt @@ -77,24 +77,24 @@ class MangaDexSearchMetadata : RaisedSearchMetadata() { override fun getExtraInfoPairs(context: Context): List> { 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) }, ) } } diff --git a/app/src/main/java/exh/metadata/metadata/NHentaiSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/NHentaiSearchMetadata.kt index 550c2c570..f1780f50c 100644 --- a/app/src/main/java/exh/metadata/metadata/NHentaiSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/NHentaiSearchMetadata.kt @@ -88,17 +88,17 @@ class NHentaiSearchMetadata : RaisedSearchMetadata() { override fun getExtraInfoPairs(context: Context): List> { 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) }, ) } } diff --git a/app/src/main/java/exh/metadata/metadata/PervEdenSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/PervEdenSearchMetadata.kt index 0c419e1ba..71bbb4bef 100644 --- a/app/src/main/java/exh/metadata/metadata/PervEdenSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/PervEdenSearchMetadata.kt @@ -67,17 +67,16 @@ class PervEdenSearchMetadata : RaisedSearchMetadata() { override fun getExtraInfoPairs(context: Context): List> { 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) }, ) } } diff --git a/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt index 2cea3e332..f466d7011 100644 --- a/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt @@ -56,16 +56,16 @@ class PururinSearchMetadata : RaisedSearchMetadata() { override fun getExtraInfoPairs(context: Context): List> { 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) }, ) } } diff --git a/app/src/main/java/exh/metadata/metadata/TsuminoSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/TsuminoSearchMetadata.kt index e19a6ed8b..2bbd26966 100644 --- a/app/src/main/java/exh/metadata/metadata/TsuminoSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/TsuminoSearchMetadata.kt @@ -69,20 +69,20 @@ class TsuminoSearchMetadata : RaisedSearchMetadata() { override fun getExtraInfoPairs(context: Context): List> { 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) }, ) } } diff --git a/app/src/main/java/exh/metadata/metadata/base/RaisedSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/base/RaisedSearchMetadata.kt index b1d3322f7..ac8092fd0 100644 --- a/app/src/main/java/exh/metadata/metadata/base/RaisedSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/base/RaisedSearchMetadata.kt @@ -54,6 +54,15 @@ abstract class RaisedSearchMetadata { if (newTitle != null) titles += RaisedTitle(newTitle, type) } + fun getItem( + item: T?, + toString: (T) -> String = Any::toString, + block: (T) -> String, + ): Pair? { + item ?: return null + return block(item) to toString(item) + } + open fun copyTo(manga: SManga) { val infoManga = createMangaInfo(manga.toMangaInfo()).toSManga() manga.copyFrom(infoManga)