diff --git a/src/all/madara/build.gradle b/src/all/madara/build.gradle index 6e2662959..a4fc73415 100644 --- a/src/all/madara/build.gradle +++ b/src/all/madara/build.gradle @@ -5,7 +5,7 @@ ext { appName = 'Tachiyomi: Madara (multiple sources)' pkgNameSuffix = "all.madara" extClass = '.MadaraFactory' - extVersionCode = 82 + extVersionCode = 83 libVersion = '1.2' } diff --git a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt index abd9caeeb..b0d6e7299 100644 --- a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt +++ b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt @@ -355,7 +355,7 @@ abstract class Madara( } } - private fun getXhrChapters(mangaId: String): Document { + protected fun getXhrChapters(mangaId: String): Document { val xhrHeaders = headersBuilder().add("Content-Type: application/x-www-form-urlencoded; charset=UTF-8").build() val body = RequestBody.create(null, "action=manga_get_chapters&manga=$mangaId") return client.newCall(POST("$baseUrl/wp-admin/admin-ajax.php", xhrHeaders, body)).execute().asJsoup() diff --git a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt index ed05d12da..b2b1cf91e 100644 --- a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt +++ b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt @@ -112,7 +112,8 @@ class MadaraFactory : SourceFactory { MangaRockTeam(), MixedManga(), ManhuasWorld(), - ArazNovel() + ArazNovel(), + MangaByte() ) } @@ -597,4 +598,19 @@ class ManhuasWorld : Madara("Manhuas World", "https://manhuasworld.com", "en") class ArazNovel : Madara("ArazNovel", "https://www.araznovel.com", "tr", SimpleDateFormat("dd/MM/yyyy", Locale.getDefault())) { override fun formBuilder(page: Int, popular: Boolean): FormBody.Builder = super.formBuilder(page, popular) .add("vars[meta_query][0][0][value]", "manga") + override fun chapterListParse(response: Response): List { + return getXhrChapters(response.asJsoup().select("div#manga-chapters-holder").attr("data-id")).let { document -> + document.select("li.parent").let { elements -> + if (!elements.isNullOrEmpty()) { + elements.reversed() + .map { volumeElement -> volumeElement.select(chapterListSelector()).map { chapterFromElement(it) } } + .flatten() + } else { + document.select(chapterListSelector()).map { chapterFromElement(it) } + } + } + } + } } + +class MangaByte : Madara("Manga Byte", "https://mangabyte.com", "en")