From 5dc59917af1b9e4cbb007dd57953978a17a3bc0f Mon Sep 17 00:00:00 2001
From: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Date: Wed, 11 Jan 2023 16:59:39 -0300
Subject: [PATCH] Fix empty chapter names in Kemono (#14903)

* Fix empty chapter names in Kemono.

* Remove double Date creation.
---
 .../tachiyomi/multisrc/kemono/KemonoDto.kt      | 17 +++++++++++++++--
 .../multisrc/kemono/KemonoGenerator.kt          |  6 +++++-
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoDto.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoDto.kt
index 05612e37f..4a7bcbc4e 100644
--- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoDto.kt
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoDto.kt
@@ -67,14 +67,24 @@ class KemonoPostDto(
         }.distinctBy { it.path }.map { it.toString() }
 
     fun toSChapter() = SChapter.create().apply {
+        val postDate = dateFormat.parse(edited ?: published ?: added)
+
         url = "/$service/user/$user/post/$id"
-        name = title
-        date_upload = dateFormat.parse(edited ?: published ?: added)?.time ?: 0
+        date_upload = postDate?.time ?: 0
+        name = title.ifBlank {
+            val postDateString = when {
+                postDate != null && postDate.time != 0L -> chapterNameDateFormat.format(postDate)
+                else -> "unknown date"
+            }
+
+            "Post from $postDateString"
+        }
         chapter_number = -2f
     }
 
     companion object {
         val dateFormat by lazy { getApiDateFormat() }
+        val chapterNameDateFormat by lazy { getChapterNameDateFormat() }
     }
 }
 
@@ -88,3 +98,6 @@ class KemonoAttachmentDto(val name: String, val path: String) {
 
 private fun getApiDateFormat() =
     SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", Locale.ENGLISH)
+
+private fun getChapterNameDateFormat() =
+    SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss", Locale.ENGLISH)
diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoGenerator.kt
index 9bc59187d..97027f013 100644
--- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoGenerator.kt
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoGenerator.kt
@@ -4,9 +4,13 @@ import generator.ThemeSourceData.SingleLang
 import generator.ThemeSourceGenerator
 
 class KemonoGenerator : ThemeSourceGenerator {
+
     override val themeClass = "Kemono"
+
     override val themePkg = "kemono"
-    override val baseVersionCode = 4
+
+    override val baseVersionCode = 5
+
     override val sources = listOf(
         SingleLang("Kemono", "https://kemono.party", "all", isNsfw = true),
         SingleLang("Coomer", "https://coomer.party", "all", isNsfw = true)