[Kemono] 'added' is now nullable field (#8406)

* [Kemono] 'added' is now nullable field

* Update build.gradle.kts

* Update KemonoDto.kt

* Update KemonoDto.kt

* Update KemonoDto.kt

* Update KemonoDto.kt

---------

Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>
This commit is contained in:
spicemace 2025-04-11 23:53:14 -07:00 committed by Draff
parent a607d7024d
commit c8de3f1c9d
No known key found for this signature in database
GPG Key ID: E8A89F3211677653
2 changed files with 8 additions and 6 deletions

View File

@ -2,4 +2,4 @@ plugins {
id("lib-multisrc") id("lib-multisrc")
} }
baseVersionCode = 20 baseVersionCode = 21

View File

@ -2,11 +2,13 @@ package eu.kanade.tachiyomi.multisrc.kemono
import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.SManga
import keiyoushi.utils.tryParse
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.JsonPrimitive
import kotlinx.serialization.json.double import kotlinx.serialization.json.double
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
@Serializable @Serializable
class KemonoFavouritesDto( class KemonoFavouritesDto(
val id: String, val id: String,
@ -25,7 +27,7 @@ class KemonoCreatorDto(
) { ) {
var fav: Long = 0 var fav: Long = 0
val updatedDate get() = when { val updatedDate get() = when {
updated.isString -> dateFormat.parse(updated.content)?.time ?: 0 updated.isString -> dateFormat.tryParse(updated.content)
else -> (updated.double * 1000).toLong() else -> (updated.double * 1000).toLong()
} }
@ -62,7 +64,7 @@ class KemonoPostDto(
private val service: String, private val service: String,
private val user: String, private val user: String,
private val title: String, private val title: String,
private val added: String, private val added: String?,
private val published: String?, private val published: String?,
private val edited: String?, private val edited: String?,
private val file: KemonoFileDto, private val file: KemonoFileDto,
@ -80,13 +82,13 @@ class KemonoPostDto(
}.distinctBy { it.path }.map { it.toString() } }.distinctBy { it.path }.map { it.toString() }
fun toSChapter() = SChapter.create().apply { fun toSChapter() = SChapter.create().apply {
val postDate = dateFormat.parse(edited ?: published ?: added) val postDate = dateFormat.tryParse(edited ?: published ?: added)
url = "/$service/user/$user/post/$id" url = "/$service/user/$user/post/$id"
date_upload = postDate?.time ?: 0 date_upload = postDate
name = title.ifBlank { name = title.ifBlank {
val postDateString = when { val postDateString = when {
postDate != null && postDate.time != 0L -> chapterNameDateFormat.format(postDate) postDate != 0L -> chapterNameDateFormat.format(postDate)
else -> "unknown date" else -> "unknown date"
} }