From 9fae259e03f7cff4581bc88dc85e6e3971737d92 Mon Sep 17 00:00:00 2001 From: happywillow0 <45346080+happywillow0@users.noreply.github.com> Date: Fri, 9 Aug 2019 18:37:32 -0400 Subject: [PATCH] MyReadingManga Chapter Names Parsing (#1379) * Update build.gradle * Adds chapter names Now parses chapter names from website if available. * Found an exception, added backup Found an exception on one of the mangas not listing all chapters in chapter list. Reverted to Ch. Page Number system in case chapter title is returned empty. * Added exception handling Additional volume listings also appeared in the chapter-class. Added an additional filter for the correct manga and a null exception. * Addational null handling on names just in case. --- .../extension/all/myreadingmanga/MyReadingManga.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/all/myreadingmanga/src/eu/kanade/tachiyomi/extension/all/myreadingmanga/MyReadingManga.kt b/src/all/myreadingmanga/src/eu/kanade/tachiyomi/extension/all/myreadingmanga/MyReadingManga.kt index 543132dd0..879e8018e 100644 --- a/src/all/myreadingmanga/src/eu/kanade/tachiyomi/extension/all/myreadingmanga/MyReadingManga.kt +++ b/src/all/myreadingmanga/src/eu/kanade/tachiyomi/extension/all/myreadingmanga/MyReadingManga.kt @@ -139,13 +139,17 @@ open class MyReadingManga(override val lang: String) : ParsedHttpSource() { val chapters = mutableListOf() val date = parseDate(document.select(".entry-time").attr("datetime").substringBefore("T")) + val mangaUrl = document.baseUri() + val chfirstname = document.select(".chapter-class a[href*=$mangaUrl]")?.first()?.text()?.ifEmpty { "Ch. 1" }?.capitalize() ?:"Ch. 1" //create first chapter since its on main manga page - chapters.add(createChapter("1", document.baseUri(), date)) + chapters.add(createChapter("1", document.baseUri(), date, chfirstname)) //see if there are multiple chapters or not document.select(chapterListSelector())?.let { it -> it.forEach { if (!it.text().contains("Next ยป", true)) { - chapters.add(createChapter(it.text(), document.baseUri(), date)) + val pageNumber = it.text() + val chname = document.select(".chapter-class a[href$=/$pageNumber/]")?.text()?.ifEmpty { "Ch. $pageNumber" }?.capitalize() ?:"Ch. $pageNumber" + chapters.add(createChapter(it.text(), document.baseUri(), date, chname)) } } } @@ -158,10 +162,10 @@ open class MyReadingManga(override val lang: String) : ParsedHttpSource() { return SimpleDateFormat("yyyy-MM-dd").parse(date).time } - private fun createChapter(pageNumber: String, mangaUrl: String, date: Long): SChapter { + private fun createChapter(pageNumber: String, mangaUrl: String, date: Long, chname: String): SChapter { val chapter = SChapter.create() chapter.setUrlWithoutDomain("$mangaUrl/$pageNumber") - chapter.name = "Ch. $pageNumber" + chapter.name = chname chapter.date_upload = date return chapter }