Refactor and cleanup a bunch of code
This commit is contained in:
@@ -1,62 +1,118 @@
|
||||
package exh.metadata
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.widget.TextView
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.FloatRange
|
||||
import androidx.core.content.ContextCompat
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||
import eu.kanade.tachiyomi.util.system.getResourceColor
|
||||
import exh.util.SourceTagsUtil
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import kotlin.math.ln
|
||||
import kotlin.math.pow
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
/**
|
||||
* Metadata utils
|
||||
*/
|
||||
fun humanReadableByteCount(bytes: Long, si: Boolean): String {
|
||||
val unit = if (si) 1000 else 1024
|
||||
if (bytes < unit) return "$bytes B"
|
||||
val exp = (ln(bytes.toDouble()) / ln(unit.toDouble())).toInt()
|
||||
val pre = (if (si) "kMGTPE" else "KMGTPE")[exp - 1] + if (si) "" else "i"
|
||||
return String.format("%.1f %sB", bytes / unit.toDouble().pow(exp.toDouble()), pre)
|
||||
}
|
||||
|
||||
private const val KB_FACTOR: Long = 1000
|
||||
private const val KIB_FACTOR: Long = 1024
|
||||
private const val MB_FACTOR = 1000 * KB_FACTOR
|
||||
private const val MIB_FACTOR = 1024 * KIB_FACTOR
|
||||
private const val GB_FACTOR = 1000 * MB_FACTOR
|
||||
private const val GIB_FACTOR = 1024 * MIB_FACTOR
|
||||
|
||||
fun parseHumanReadableByteCount(arg0: String): Double? {
|
||||
val spaceNdx = arg0.indexOf(" ")
|
||||
val ret = java.lang.Double.parseDouble(arg0.substring(0, spaceNdx))
|
||||
when (arg0.substring(spaceNdx + 1)) {
|
||||
"GB" -> return ret * GB_FACTOR
|
||||
"GiB" -> return ret * GIB_FACTOR
|
||||
"MB" -> return ret * MB_FACTOR
|
||||
"MiB" -> return ret * MIB_FACTOR
|
||||
"KB" -> return ret * KB_FACTOR
|
||||
"KiB" -> return ret * KIB_FACTOR
|
||||
object MetadataUtil {
|
||||
fun humanReadableByteCount(bytes: Long, si: Boolean): String {
|
||||
val unit = if (si) 1000 else 1024
|
||||
if (bytes < unit) return "$bytes B"
|
||||
val exp = (ln(bytes.toDouble()) / ln(unit.toDouble())).toInt()
|
||||
val pre = (if (si) "kMGTPE" else "KMGTPE")[exp - 1] + if (si) "" else "i"
|
||||
return String.format("%.1f %sB", bytes / unit.toDouble().pow(exp.toDouble()), pre)
|
||||
}
|
||||
return null
|
||||
|
||||
private const val KB_FACTOR: Long = 1000
|
||||
private const val KIB_FACTOR: Long = 1024
|
||||
private const val MB_FACTOR = 1000 * KB_FACTOR
|
||||
private const val MIB_FACTOR = 1024 * KIB_FACTOR
|
||||
private const val GB_FACTOR = 1000 * MB_FACTOR
|
||||
private const val GIB_FACTOR = 1024 * MIB_FACTOR
|
||||
|
||||
fun parseHumanReadableByteCount(arg0: String): Double? {
|
||||
val spaceNdx = arg0.indexOf(" ")
|
||||
val ret = java.lang.Double.parseDouble(arg0.substring(0, spaceNdx))
|
||||
when (arg0.substring(spaceNdx + 1)) {
|
||||
"GB" -> return ret * GB_FACTOR
|
||||
"GiB" -> return ret * GIB_FACTOR
|
||||
"MB" -> return ret * MB_FACTOR
|
||||
"MiB" -> return ret * MIB_FACTOR
|
||||
"KB" -> return ret * KB_FACTOR
|
||||
"KiB" -> return ret * KIB_FACTOR
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
val ONGOING_SUFFIX = arrayOf(
|
||||
"[ongoing]",
|
||||
"(ongoing)",
|
||||
"{ongoing}",
|
||||
"<ongoing>",
|
||||
"ongoing",
|
||||
"[incomplete]",
|
||||
"(incomplete)",
|
||||
"{incomplete}",
|
||||
"<incomplete>",
|
||||
"incomplete",
|
||||
"[wip]",
|
||||
"(wip)",
|
||||
"{wip}",
|
||||
"<wip>",
|
||||
"wip"
|
||||
)
|
||||
|
||||
val EX_DATE_FORMAT = SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US)
|
||||
|
||||
fun getRatingString(context: Context, @FloatRange(from = 0.0, to = 10.0) rating: Float?) = when ((rating ?: 100F).roundToInt()) {
|
||||
0 -> R.string.rating0
|
||||
1 -> R.string.rating1
|
||||
2 -> R.string.rating2
|
||||
3 -> R.string.rating3
|
||||
4 -> R.string.rating4
|
||||
5 -> R.string.rating5
|
||||
6 -> R.string.rating6
|
||||
7 -> R.string.rating7
|
||||
8 -> R.string.rating8
|
||||
9 -> R.string.rating9
|
||||
10 -> R.string.rating10
|
||||
else -> R.string.no_rating
|
||||
}.let { context.getString(it) }
|
||||
|
||||
fun getGenreAndColour(context: Context, genre: String) = when (genre) {
|
||||
"doujinshi", "Doujinshi" -> SourceTagsUtil.DOUJINSHI_COLOR to R.string.doujinshi
|
||||
"manga", "Japanese Manga", "Manga" -> SourceTagsUtil.MANGA_COLOR to R.string.manga
|
||||
"artistcg", "artist CG", "artist-cg", "Artist CG" -> SourceTagsUtil.ARTIST_CG_COLOR to R.string.artist_cg
|
||||
"gamecg", "game CG", "game-cg", "Game CG" -> SourceTagsUtil.GAME_CG_COLOR to R.string.game_cg
|
||||
"western" -> SourceTagsUtil.WESTERN_COLOR to R.string.western
|
||||
"non-h", "non-H" -> SourceTagsUtil.NON_H_COLOR to R.string.non_h
|
||||
"imageset", "image Set" -> SourceTagsUtil.IMAGE_SET_COLOR to R.string.image_set
|
||||
"cosplay" -> SourceTagsUtil.COSPLAY_COLOR to R.string.cosplay
|
||||
"asianporn", "asian Porn" -> SourceTagsUtil.ASIAN_PORN_COLOR to R.string.asian_porn
|
||||
"misc" -> SourceTagsUtil.MISC_COLOR to R.string.misc
|
||||
"Korean Manhwa" -> SourceTagsUtil.ARTIST_CG_COLOR to R.string.manhwa
|
||||
"Chinese Manhua" -> SourceTagsUtil.GAME_CG_COLOR to R.string.manhua
|
||||
"Comic" -> SourceTagsUtil.WESTERN_COLOR to R.string.comic
|
||||
"artbook" -> SourceTagsUtil.IMAGE_SET_COLOR to R.string.artbook
|
||||
"webtoon" -> SourceTagsUtil.NON_H_COLOR to R.string.webtoon
|
||||
"Video" -> SourceTagsUtil.WESTERN_COLOR to R.string.video
|
||||
else -> "" to 0
|
||||
}.let { if (it.second == 0) null else Color.parseColor(it.first) to context.getString(it.second) }
|
||||
}
|
||||
|
||||
fun <K, V> Set<Map.Entry<K, V>>.forEach(action: (K, V) -> Unit) {
|
||||
forEach { action(it.key, it.value) }
|
||||
}
|
||||
|
||||
val ONGOING_SUFFIX = arrayOf(
|
||||
"[ongoing]",
|
||||
"(ongoing)",
|
||||
"{ongoing}",
|
||||
"<ongoing>",
|
||||
"ongoing",
|
||||
"[incomplete]",
|
||||
"(incomplete)",
|
||||
"{incomplete}",
|
||||
"<incomplete>",
|
||||
"incomplete",
|
||||
"[wip]",
|
||||
"(wip)",
|
||||
"{wip}",
|
||||
"<wip>",
|
||||
"wip"
|
||||
)
|
||||
|
||||
val EX_DATE_FORMAT = SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US)
|
||||
fun TextView.bindDrawable(context: Context, @DrawableRes drawable: Int) {
|
||||
ContextCompat.getDrawable(context, drawable)?.apply {
|
||||
setTint(context.getResourceColor(R.attr.colorAccent))
|
||||
setBounds(0, 0, 20.dpToPx, 20.dpToPx)
|
||||
setCompoundDrawables(this, null, null, null)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,9 +5,7 @@ import android.net.Uri
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import exh.metadata.EX_DATE_FORMAT
|
||||
import exh.metadata.ONGOING_SUFFIX
|
||||
import exh.metadata.humanReadableByteCount
|
||||
import exh.metadata.MetadataUtil
|
||||
import exh.metadata.metadata.base.RaisedSearchMetadata
|
||||
import kotlinx.serialization.Serializable
|
||||
import uy.kohesive.injekt.Injekt
|
||||
@@ -71,7 +69,7 @@ class EHentaiSearchMetadata : RaisedSearchMetadata() {
|
||||
// We default to completed
|
||||
manga.status = SManga.COMPLETED
|
||||
title?.let { t ->
|
||||
ONGOING_SUFFIX.find {
|
||||
MetadataUtil.ONGOING_SUFFIX.find {
|
||||
t.endsWith(it, ignoreCase = true)
|
||||
}?.let {
|
||||
manga.status = SManga.ONGOING
|
||||
@@ -111,25 +109,26 @@ class EHentaiSearchMetadata : RaisedSearchMetadata() {
|
||||
|
||||
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
|
||||
val pairs = mutableListOf<Pair<String, String>>()
|
||||
gId?.let { pairs += Pair(context.getString(R.string.id), it) }
|
||||
gToken?.let { pairs += Pair(context.getString(R.string.token), it) }
|
||||
exh?.let { pairs += Pair(context.getString(R.string.is_exhentai_gallery), context.getString(if (it) android.R.string.yes else android.R.string.no)) }
|
||||
thumbnailUrl?.let { pairs += Pair(context.getString(R.string.thumbnail_url), it) }
|
||||
title?.let { pairs += Pair(context.getString(R.string.title), it) }
|
||||
altTitle?.let { pairs += Pair(context.getString(R.string.alt_title), it) }
|
||||
genre?.let { pairs += Pair(context.getString(R.string.genre), it) }
|
||||
datePosted?.let { pairs += Pair(context.getString(R.string.date_posted), EX_DATE_FORMAT.format(Date(it))) }
|
||||
parent?.let { pairs += Pair(context.getString(R.string.parent), it) }
|
||||
visible?.let { pairs += Pair(context.getString(R.string.visible), it) }
|
||||
language?.let { pairs += Pair(context.getString(R.string.language), it) }
|
||||
translated?.let { pairs += Pair("Translated", context.getString(if (it) android.R.string.yes else android.R.string.no)) }
|
||||
size?.let { pairs += Pair(context.getString(R.string.gallery_size), humanReadableByteCount(it, true)) }
|
||||
length?.let { pairs += Pair(context.getString(R.string.page_count), it.toString()) }
|
||||
favorites?.let { pairs += Pair(context.getString(R.string.total_favorites), it.toString()) }
|
||||
ratingCount?.let { pairs += Pair(context.getString(R.string.total_ratings), it.toString()) }
|
||||
averageRating?.let { pairs += Pair(context.getString(R.string.average_rating), it.toString()) }
|
||||
aged.let { pairs += Pair(context.getString(R.string.aged), context.getString(if (it) android.R.string.yes else android.R.string.no)) }
|
||||
lastUpdateCheck.let { pairs += Pair(context.getString(R.string.last_update_check), EX_DATE_FORMAT.format(Date(it))) }
|
||||
|
||||
gId?.let { pairs += context.getString(R.string.id) to it }
|
||||
gToken?.let { pairs += context.getString(R.string.token) to it }
|
||||
exh?.let { pairs += context.getString(R.string.is_exhentai_gallery) to context.getString(if (it) android.R.string.yes else android.R.string.no) }
|
||||
thumbnailUrl?.let { pairs += context.getString(R.string.thumbnail_url) to it }
|
||||
title?.let { pairs += context.getString(R.string.title) to it }
|
||||
altTitle?.let { pairs += context.getString(R.string.alt_title) to it }
|
||||
genre?.let { pairs += context.getString(R.string.genre) to it }
|
||||
datePosted?.let { pairs += context.getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }
|
||||
parent?.let { pairs += context.getString(R.string.parent) to it }
|
||||
visible?.let { pairs += context.getString(R.string.visible) to it }
|
||||
language?.let { pairs += context.getString(R.string.language) to it }
|
||||
translated?.let { pairs += "Translated" to context.getString(if (it) android.R.string.yes else android.R.string.no) }
|
||||
size?.let { pairs += context.getString(R.string.gallery_size) to MetadataUtil.humanReadableByteCount(it, true) }
|
||||
length?.let { pairs += context.getString(R.string.page_count) to it.toString() }
|
||||
favorites?.let { pairs += context.getString(R.string.total_favorites) to it.toString() }
|
||||
ratingCount?.let { pairs += context.getString(R.string.total_ratings) to it.toString() }
|
||||
averageRating?.let { pairs += context.getString(R.string.average_rating) to it.toString() }
|
||||
aged.let { pairs += context.getString(R.string.aged) to context.getString(if (it) android.R.string.yes else android.R.string.no) }
|
||||
lastUpdateCheck.let { pairs += context.getString(R.string.last_update_check) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }
|
||||
|
||||
return pairs
|
||||
}
|
||||
|
||||
@@ -41,12 +41,12 @@ class EightMusesSearchMetadata : RaisedSearchMetadata() {
|
||||
|
||||
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
|
||||
val pairs = mutableListOf<Pair<String, String>>()
|
||||
title?.let { pairs += Pair(context.getString(R.string.title), it) }
|
||||
title?.let { pairs += context.getString(R.string.title) to it }
|
||||
val path = path.joinToString("/", prefix = "/")
|
||||
if (path.isNotBlank()) {
|
||||
pairs += Pair(context.getString(R.string.path), path)
|
||||
pairs += context.getString(R.string.path) to path
|
||||
}
|
||||
thumbnailUrl?.let { pairs += Pair(context.getString(R.string.thumbnail_url), it) }
|
||||
thumbnailUrl?.let { pairs += context.getString(R.string.thumbnail_url) to it }
|
||||
return pairs
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ package exh.metadata.metadata
|
||||
import android.content.Context
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import exh.metadata.metadata.EightMusesSearchMetadata.Companion.ARTIST_NAMESPACE
|
||||
import exh.metadata.metadata.base.RaisedSearchMetadata
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@@ -51,11 +50,11 @@ class HBrowseSearchMetadata : RaisedSearchMetadata() {
|
||||
|
||||
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
|
||||
val pairs = mutableListOf<Pair<String, String>>()
|
||||
hbId?.let { pairs += Pair(context.getString(R.string.id), it.toString()) }
|
||||
hbUrl?.let { pairs += Pair(context.getString(R.string.url), it) }
|
||||
thumbnail?.let { pairs += Pair(context.getString(R.string.thumbnail_url), it) }
|
||||
title?.let { pairs += Pair(context.getString(R.string.title), it) }
|
||||
length?.let { pairs += Pair(context.getString(R.string.page_count), it.toString()) }
|
||||
hbId?.let { pairs += context.getString(R.string.id) to it.toString() }
|
||||
hbUrl?.let { pairs += context.getString(R.string.url) to it }
|
||||
thumbnail?.let { pairs += context.getString(R.string.thumbnail_url) to it }
|
||||
title?.let { pairs += context.getString(R.string.title) to it }
|
||||
length?.let { pairs += context.getString(R.string.page_count) to it.toString() }
|
||||
return pairs
|
||||
}
|
||||
|
||||
@@ -65,6 +64,7 @@ class HBrowseSearchMetadata : RaisedSearchMetadata() {
|
||||
private const val TITLE_TYPE_MAIN = 0
|
||||
|
||||
const val TAG_TYPE_DEFAULT = 0
|
||||
const val ARTIST_NAMESPACE = "artist"
|
||||
|
||||
fun guessThumbnailUrl(hbid: String): String {
|
||||
return "$BASE_URL/thumbnails/${hbid}_1.jpg#guessed"
|
||||
|
||||
@@ -48,11 +48,11 @@ class HentaiCafeSearchMetadata : RaisedSearchMetadata() {
|
||||
|
||||
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
|
||||
val pairs = mutableListOf<Pair<String, String>>()
|
||||
hcId?.let { pairs += Pair(context.getString(R.string.id), it) }
|
||||
readerId?.let { pairs += Pair(context.getString(R.string.reader_id), it) }
|
||||
thumbnailUrl?.let { pairs += Pair(context.getString(R.string.thumbnail_url), it) }
|
||||
title?.let { pairs += Pair(context.getString(R.string.title), it) }
|
||||
artist?.let { pairs += Pair(context.getString(R.string.artist), it) }
|
||||
hcId?.let { pairs += context.getString(R.string.id) to it }
|
||||
readerId?.let { pairs += context.getString(R.string.reader_id) to it }
|
||||
thumbnailUrl?.let { pairs += context.getString(R.string.thumbnail_url) to it }
|
||||
title?.let { pairs += context.getString(R.string.title) to it }
|
||||
artist?.let { pairs += context.getString(R.string.artist) to it }
|
||||
return pairs
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package exh.metadata.metadata
|
||||
import android.content.Context
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import exh.metadata.EX_DATE_FORMAT
|
||||
import exh.metadata.MetadataUtil
|
||||
import exh.metadata.metadata.base.RaisedSearchMetadata
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.Date
|
||||
@@ -94,25 +94,27 @@ class HitomiSearchMetadata : RaisedSearchMetadata() {
|
||||
|
||||
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
|
||||
val pairs = mutableListOf<Pair<String, String>>()
|
||||
hlId?.let { pairs += Pair(context.getString(R.string.id), it) }
|
||||
title?.let { pairs += Pair(context.getString(R.string.title), it) }
|
||||
thumbnailUrl?.let { pairs += Pair(context.getString(R.string.thumbnail_url), it) }
|
||||
val artists = artists.joinToString()
|
||||
if (artists.isNotBlank()) {
|
||||
pairs += Pair(context.getString(R.string.artist), artists)
|
||||
with(context) {
|
||||
hlId?.let { pairs += getString(R.string.id) to it }
|
||||
title?.let { pairs += getString(R.string.title) to it }
|
||||
thumbnailUrl?.let { pairs += getString(R.string.thumbnail_url) to it }
|
||||
val artists = artists.joinToString()
|
||||
if (artists.isNotBlank()) {
|
||||
pairs += getString(R.string.artist) to artists
|
||||
}
|
||||
group?.let { pairs += getString(R.string.group) to it }
|
||||
genre?.let { pairs += getString(R.string.genre) to it }
|
||||
language?.let { pairs += getString(R.string.language) to it }
|
||||
val series = series.joinToString()
|
||||
if (series.isNotBlank()) {
|
||||
pairs += getString(R.string.series) to series
|
||||
}
|
||||
val characters = characters.joinToString()
|
||||
if (characters.isNotBlank()) {
|
||||
pairs += getString(R.string.characters) to characters
|
||||
}
|
||||
uploadDate?.let { pairs += getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }
|
||||
}
|
||||
group?.let { pairs += Pair(context.getString(R.string.group), it) }
|
||||
genre?.let { pairs += Pair(context.getString(R.string.genre), it) }
|
||||
language?.let { pairs += Pair(context.getString(R.string.language), it) }
|
||||
val series = series.joinToString()
|
||||
if (series.isNotBlank()) {
|
||||
pairs += Pair(context.getString(R.string.series), series)
|
||||
}
|
||||
val characters = characters.joinToString()
|
||||
if (characters.isNotBlank()) {
|
||||
pairs += Pair(context.getString(R.string.characters), characters)
|
||||
}
|
||||
uploadDate?.let { pairs += Pair(context.getString(R.string.date_posted), EX_DATE_FORMAT.format(Date(it))) }
|
||||
return pairs
|
||||
}
|
||||
|
||||
|
||||
@@ -78,24 +78,24 @@ class MangaDexSearchMetadata : RaisedSearchMetadata() {
|
||||
|
||||
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
|
||||
val pairs = mutableListOf<Pair<String, String>>()
|
||||
mdId?.let { pairs += Pair(context.getString(R.string.id), it) }
|
||||
mdUrl?.let { pairs += Pair(context.getString(R.string.url), it) }
|
||||
thumbnail_url?.let { pairs += Pair(context.getString(R.string.thumbnail_url), it) }
|
||||
title?.let { pairs += Pair(context.getString(R.string.title), it) }
|
||||
author?.let { pairs += Pair(context.getString(R.string.author), it) }
|
||||
artist?.let { pairs += Pair(context.getString(R.string.artist), it) }
|
||||
lang_flag?.let { pairs += Pair(context.getString(R.string.language), it) }
|
||||
last_chapter_number?.let { pairs += Pair(context.getString(R.string.last_chapter_number), it.toString()) }
|
||||
rating?.let { pairs += Pair(context.getString(R.string.average_rating), it) }
|
||||
users?.let { pairs += Pair(context.getString(R.string.total_ratings), it) }
|
||||
status?.let { pairs += Pair(context.getString(R.string.status), it.toString()) }
|
||||
missing_chapters?.let { pairs += Pair(context.getString(R.string.missing_chapters), it) }
|
||||
follow_status?.let { pairs += Pair(context.getString(R.string.follow_status), it.toString()) }
|
||||
anilist_id?.let { pairs += Pair(context.getString(R.string.anilist_id), it) }
|
||||
kitsu_id?.let { pairs += Pair(context.getString(R.string.kitsu_id), it) }
|
||||
my_anime_list_id?.let { pairs += Pair(context.getString(R.string.mal_id), it) }
|
||||
manga_updates_id?.let { pairs += Pair(context.getString(R.string.manga_updates_id), it) }
|
||||
anime_planet_id?.let { pairs += Pair(context.getString(R.string.anime_planet_id), it) }
|
||||
mdId?.let { pairs += context.getString(R.string.id) to it }
|
||||
mdUrl?.let { pairs += context.getString(R.string.url) to it }
|
||||
thumbnail_url?.let { pairs += context.getString(R.string.thumbnail_url) to it }
|
||||
title?.let { pairs += context.getString(R.string.title) to it }
|
||||
author?.let { pairs += context.getString(R.string.author) to it }
|
||||
artist?.let { pairs += context.getString(R.string.artist) to it }
|
||||
lang_flag?.let { pairs += context.getString(R.string.language) to it }
|
||||
last_chapter_number?.let { pairs += context.getString(R.string.last_chapter_number) to it.toString() }
|
||||
rating?.let { pairs += context.getString(R.string.average_rating) to it }
|
||||
users?.let { pairs += context.getString(R.string.total_ratings) to it }
|
||||
status?.let { pairs += context.getString(R.string.status) to it.toString() }
|
||||
missing_chapters?.let { pairs += context.getString(R.string.missing_chapters) to it }
|
||||
follow_status?.let { pairs += context.getString(R.string.follow_status) to it.toString() }
|
||||
anilist_id?.let { pairs += context.getString(R.string.anilist_id) to it }
|
||||
kitsu_id?.let { pairs += context.getString(R.string.kitsu_id) to it }
|
||||
my_anime_list_id?.let { pairs += context.getString(R.string.mal_id) to it }
|
||||
manga_updates_id?.let { pairs += context.getString(R.string.manga_updates_id) to it }
|
||||
anime_planet_id?.let { pairs += context.getString(R.string.anime_planet_id) to it }
|
||||
return pairs
|
||||
}
|
||||
|
||||
|
||||
@@ -3,8 +3,7 @@ package exh.metadata.metadata
|
||||
import android.content.Context
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import exh.metadata.EX_DATE_FORMAT
|
||||
import exh.metadata.ONGOING_SUFFIX
|
||||
import exh.metadata.MetadataUtil
|
||||
import exh.metadata.metadata.base.RaisedSearchMetadata
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.Date
|
||||
@@ -65,7 +64,7 @@ class NHentaiSearchMetadata : RaisedSearchMetadata() {
|
||||
// We default to completed
|
||||
manga.status = SManga.COMPLETED
|
||||
englishTitle?.let { t ->
|
||||
ONGOING_SUFFIX.find {
|
||||
MetadataUtil.ONGOING_SUFFIX.find {
|
||||
t.endsWith(it, ignoreCase = true)
|
||||
}?.let {
|
||||
manga.status = SManga.ONGOING
|
||||
@@ -77,17 +76,17 @@ class NHentaiSearchMetadata : RaisedSearchMetadata() {
|
||||
|
||||
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
|
||||
val pairs = mutableListOf<Pair<String, String>>()
|
||||
nhId?.let { pairs += Pair(context.getString(R.string.id), it.toString()) }
|
||||
uploadDate?.let { pairs += Pair(context.getString(R.string.date_posted), EX_DATE_FORMAT.format(Date(it * 1000))) }
|
||||
favoritesCount?.let { pairs += Pair(context.getString(R.string.total_favorites), it.toString()) }
|
||||
mediaId?.let { pairs += Pair(context.getString(R.string.media_id), it) }
|
||||
japaneseTitle?.let { pairs += Pair(context.getString(R.string.japanese_title), it) }
|
||||
englishTitle?.let { pairs += Pair(context.getString(R.string.english_title), it) }
|
||||
shortTitle?.let { pairs += Pair(context.getString(R.string.short_title), it) }
|
||||
coverImageType?.let { pairs += Pair(context.getString(R.string.cover_image_file_type), it) }
|
||||
pageImageTypes.size.let { pairs += Pair(context.getString(R.string.page_count), it.toString()) }
|
||||
thumbnailImageType?.let { pairs += Pair(context.getString(R.string.thumbnail_image_file_type), it) }
|
||||
scanlator?.let { pairs += Pair(context.getString(R.string.scanlator), it) }
|
||||
nhId?.let { pairs += context.getString(R.string.id) to it.toString() }
|
||||
uploadDate?.let { pairs += context.getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it * 1000)) }
|
||||
favoritesCount?.let { pairs += context.getString(R.string.total_favorites) to it.toString() }
|
||||
mediaId?.let { pairs += context.getString(R.string.media_id) to it }
|
||||
japaneseTitle?.let { pairs += context.getString(R.string.japanese_title) to it }
|
||||
englishTitle?.let { pairs += context.getString(R.string.english_title) to it }
|
||||
shortTitle?.let { pairs += context.getString(R.string.short_title) to it }
|
||||
coverImageType?.let { pairs += context.getString(R.string.cover_image_file_type) to it }
|
||||
pageImageTypes.size.let { pairs += context.getString(R.string.page_count) to it.toString() }
|
||||
thumbnailImageType?.let { pairs += context.getString(R.string.thumbnail_image_file_type) to it }
|
||||
scanlator?.let { pairs += context.getString(R.string.scanlator) to it }
|
||||
return pairs
|
||||
}
|
||||
|
||||
|
||||
@@ -95,19 +95,19 @@ class PervEdenSearchMetadata : RaisedSearchMetadata() {
|
||||
|
||||
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
|
||||
val pairs = mutableListOf<Pair<String, String>>()
|
||||
pvId?.let { pairs += Pair(context.getString(R.string.id), it) }
|
||||
url?.let { pairs += Pair(context.getString(R.string.url), it) }
|
||||
thumbnailUrl?.let { pairs += Pair(context.getString(R.string.thumbnail_url), it) }
|
||||
title?.let { pairs += Pair(context.getString(R.string.title), it) }
|
||||
pvId?.let { pairs += context.getString(R.string.id) to it }
|
||||
url?.let { pairs += context.getString(R.string.url) to it }
|
||||
thumbnailUrl?.let { pairs += context.getString(R.string.thumbnail_url) to it }
|
||||
title?.let { pairs += context.getString(R.string.title) to it }
|
||||
val altTitles = altTitles.joinToString()
|
||||
if (altTitles.isNotBlank()) {
|
||||
pairs += Pair(context.getString(R.string.alt_titles), altTitles)
|
||||
pairs += context.getString(R.string.alt_titles) to altTitles
|
||||
}
|
||||
artist?.let { pairs += Pair(context.getString(R.string.artist), it) }
|
||||
genre?.let { pairs += Pair(context.getString(R.string.genre), it) }
|
||||
rating?.let { pairs += Pair(context.getString(R.string.average_rating), it.toString()) }
|
||||
status?.let { pairs += Pair(context.getString(R.string.status), it) }
|
||||
lang?.let { pairs += Pair(context.getString(R.string.language), it) }
|
||||
artist?.let { pairs += context.getString(R.string.artist) to it }
|
||||
genre?.let { pairs += context.getString(R.string.genre) to it }
|
||||
rating?.let { pairs += context.getString(R.string.average_rating) to it.toString() }
|
||||
status?.let { pairs += context.getString(R.string.status) to it }
|
||||
lang?.let { pairs += context.getString(R.string.language) to it }
|
||||
return pairs
|
||||
}
|
||||
|
||||
|
||||
@@ -64,16 +64,16 @@ class PururinSearchMetadata : RaisedSearchMetadata() {
|
||||
|
||||
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
|
||||
val pairs = mutableListOf<Pair<String, String>>()
|
||||
prId?.let { pairs += Pair(context.getString(R.string.id), it.toString()) }
|
||||
title?.let { pairs += Pair(context.getString(R.string.title), it) }
|
||||
altTitle?.let { pairs += Pair(context.getString(R.string.alt_title), it) }
|
||||
thumbnailUrl?.let { pairs += Pair(context.getString(R.string.thumbnail_url), it) }
|
||||
uploaderDisp?.let { pairs += Pair(context.getString(R.string.uploader_capital), it) }
|
||||
uploader?.let { pairs += Pair(context.getString(R.string.uploader), it) }
|
||||
pages?.let { pairs += Pair(context.getString(R.string.page_count), it.toString()) }
|
||||
fileSize?.let { pairs += Pair(context.getString(R.string.gallery_size), it) }
|
||||
ratingCount?.let { pairs += Pair(context.getString(R.string.total_ratings), it.toString()) }
|
||||
averageRating?.let { pairs += Pair(context.getString(R.string.average_rating), it.toString()) }
|
||||
prId?.let { pairs += context.getString(R.string.id) to it.toString() }
|
||||
title?.let { pairs += context.getString(R.string.title) to it }
|
||||
altTitle?.let { pairs += context.getString(R.string.alt_title) to it }
|
||||
thumbnailUrl?.let { pairs += context.getString(R.string.thumbnail_url) to it }
|
||||
uploaderDisp?.let { pairs += context.getString(R.string.uploader_capital) to it }
|
||||
uploader?.let { pairs += context.getString(R.string.uploader) to it }
|
||||
pages?.let { pairs += context.getString(R.string.page_count) to it.toString() }
|
||||
fileSize?.let { pairs += context.getString(R.string.gallery_size) to it }
|
||||
ratingCount?.let { pairs += context.getString(R.string.total_ratings) to it.toString() }
|
||||
averageRating?.let { pairs += context.getString(R.string.average_rating) to it.toString() }
|
||||
return pairs
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import android.content.Context
|
||||
import android.net.Uri
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import exh.metadata.EX_DATE_FORMAT
|
||||
import exh.metadata.MetadataUtil
|
||||
import exh.metadata.metadata.base.RaisedSearchMetadata
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.text.SimpleDateFormat
|
||||
@@ -82,25 +82,25 @@ class TsuminoSearchMetadata : RaisedSearchMetadata() {
|
||||
|
||||
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
|
||||
val pairs = mutableListOf<Pair<String, String>>()
|
||||
tmId?.let { pairs += Pair(context.getString(R.string.id), it.toString()) }
|
||||
title?.let { pairs += Pair(context.getString(R.string.title), it) }
|
||||
uploader?.let { pairs += Pair(context.getString(R.string.uploader), it) }
|
||||
uploadDate?.let { pairs += Pair(context.getString(R.string.date_posted), EX_DATE_FORMAT.format(Date(it))) }
|
||||
length?.let { pairs += Pair(context.getString(R.string.page_count), it.toString()) }
|
||||
ratingString?.let { pairs += Pair(context.getString(R.string.rating_string), it) }
|
||||
averageRating?.let { pairs += Pair(context.getString(R.string.average_rating), it.toString()) }
|
||||
userRatings?.let { pairs += Pair(context.getString(R.string.total_ratings), it.toString()) }
|
||||
favorites?.let { pairs += Pair(context.getString(R.string.total_favorites), it.toString()) }
|
||||
category?.let { pairs += Pair(context.getString(R.string.genre), it) }
|
||||
collection?.let { pairs += Pair(context.getString(R.string.collection), it) }
|
||||
group?.let { pairs += Pair(context.getString(R.string.group), it) }
|
||||
tmId?.let { pairs += context.getString(R.string.id) to it.toString() }
|
||||
title?.let { pairs += context.getString(R.string.title) to it }
|
||||
uploader?.let { pairs += context.getString(R.string.uploader) to it }
|
||||
uploadDate?.let { pairs += context.getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }
|
||||
length?.let { pairs += context.getString(R.string.page_count) to it.toString() }
|
||||
ratingString?.let { pairs += context.getString(R.string.rating_string) to it }
|
||||
averageRating?.let { pairs += context.getString(R.string.average_rating) to it.toString() }
|
||||
userRatings?.let { pairs += context.getString(R.string.total_ratings) to it.toString() }
|
||||
favorites?.let { pairs += context.getString(R.string.total_favorites) to it.toString() }
|
||||
category?.let { pairs += context.getString(R.string.genre) to it }
|
||||
collection?.let { pairs += context.getString(R.string.collection) to it }
|
||||
group?.let { pairs += context.getString(R.string.group) to it }
|
||||
val parodiesString = parody.joinToString()
|
||||
if (parodiesString.isNotEmpty()) {
|
||||
pairs += Pair(context.getString(R.string.parodies), parodiesString)
|
||||
pairs += context.getString(R.string.parodies) to parodiesString
|
||||
}
|
||||
val charactersString = character.joinToString()
|
||||
if (charactersString.isNotEmpty()) {
|
||||
pairs += Pair(context.getString(R.string.characters), charactersString)
|
||||
pairs += context.getString(R.string.characters) to charactersString
|
||||
}
|
||||
return pairs
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user