From 44bd5078e96c7b02eb1a23148773000feb59ff18 Mon Sep 17 00:00:00 2001
From: Suyash Mittal <suyash8514@gmail.com>
Date: Tue, 1 Nov 2022 02:29:47 +0530
Subject: [PATCH] manga leveling chapter name fix (#14062)

---
 .../madara/mangaleveling/src/MangaLeveling.kt | 25 ++++++++++++++++++-
 .../multisrc/madara/MadaraGenerator.kt        |  2 +-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/multisrc/overrides/madara/mangaleveling/src/MangaLeveling.kt b/multisrc/overrides/madara/mangaleveling/src/MangaLeveling.kt
index 411bf5a75..56c41ec46 100644
--- a/multisrc/overrides/madara/mangaleveling/src/MangaLeveling.kt
+++ b/multisrc/overrides/madara/mangaleveling/src/MangaLeveling.kt
@@ -1,7 +1,30 @@
 package eu.kanade.tachiyomi.extension.en.mangaleveling
 
 import eu.kanade.tachiyomi.multisrc.madara.Madara
+import eu.kanade.tachiyomi.source.model.SChapter
+import org.jsoup.nodes.Element
 import java.text.SimpleDateFormat
 import java.util.Locale
 
-class MangaLeveling : Madara("Manga Leveling", "https://mangaleveling.com", "en", SimpleDateFormat("MM/dd/yyyy", Locale.US))
+class MangaLeveling : Madara("Manga Leveling", "https://mangaleveling.com", "en", SimpleDateFormat("MM/dd/yyyy", Locale.US)) {
+
+    override fun chapterFromElement(element: Element): SChapter {
+        val chapter = SChapter.create()
+
+        with(element) {
+            select(chapterUrlSelector).first()?.let { urlElement ->
+                chapter.url = urlElement.attr("abs:href").let {
+                    it.substringBefore("?style=paged") + if (!it.endsWith(chapterUrlSuffix)) chapterUrlSuffix else ""
+                }
+                chapter.name = urlElement.selectFirst("span").text()
+            }
+            // Dates can be part of a "new" graphic or plain text
+            // Added "title" alternative
+            chapter.date_upload = select("img:not(.thumb)").firstOrNull()?.attr("alt")?.let { parseRelativeDate(it) }
+                ?: select("span a").firstOrNull()?.attr("title")?.let { parseRelativeDate(it) }
+                ?: parseChapterDate(select(chapterDateSelector()).firstOrNull()?.text())
+        }
+
+        return chapter
+    }
+}
diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt
index c3345d1d9..a39dd2f10 100644
--- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt
@@ -193,7 +193,7 @@ class MadaraGenerator : ThemeSourceGenerator {
         SingleLang("Manga Keyfi", "https://mangakeyfi.net", "tr"),
         SingleLang("Manga Kio", "https://mangakio.com", "en", isNsfw = true, overrideVersionCode = 1),
         SingleLang("Manga Kiss", "https://mangakiss.org", "en", overrideVersionCode = 1),
-        SingleLang("Manga Leveling", "https://mangaleveling.com", "en"),
+        SingleLang("Manga Leveling", "https://mangaleveling.com", "en", overrideVersionCode = 1),
         SingleLang("Manga Lord", "https://mangalord.com", "en", overrideVersionCode = 1),
         SingleLang("Manga Mitsu", "https://mangamitsu.com", "en", isNsfw = true, overrideVersionCode = 2),
         SingleLang("Manga One Love", "https://mangaonelove.site/", "ru", isNsfw = true),