diff --git a/src/all/madara/build.gradle b/src/all/madara/build.gradle index e417b09d8..38fee22b5 100644 --- a/src/all/madara/build.gradle +++ b/src/all/madara/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Madara (multiple sources)' pkgNameSuffix = "all.madara" extClass = '.MadaraFactory' - extVersionCode = 124 + extVersionCode = 125 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 1931ead79..c165014d4 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 @@ -61,7 +61,7 @@ abstract class Madara( with(element) { select(popularMangaUrlSelector).first()?.let { - manga.setUrlWithoutDomain(it.attr("href")) + manga.setUrlWithoutDomain(it.attr("abs:href")) manga.title = it.ownText() } @@ -300,7 +300,7 @@ abstract class Madara( with(element) { select("div.post-title a").first()?.let { - manga.setUrlWithoutDomain(it.attr("href")) + manga.setUrlWithoutDomain(it.attr("abs:href")) manga.title = it.ownText() } select("img").first()?.let { 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 59d23f196..f4e20f069 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 @@ -44,7 +44,6 @@ class MadaraFactory : SourceFactory { FirstKissManga(), GetManhwa(), GoldenManga(), - HappyTeaScans(), Hiperdex(), HunterFansub(), IchirinNoHanaYuri(), @@ -97,17 +96,14 @@ class MadaraFactory : SourceFactory { PornComix(), RaiderScans(), ReadManhua(), - TeabeerComics(), ThreeSixtyFiveManga(), Toonily(), TopManhua(), TsubakiNoScan(), - UnknownScans(), Wakamics(), WuxiaWorld(), YaoiToshokan(), YokaiJump(), - YoManga(), ZinManga(), ZManga(), MangaWT(), @@ -116,7 +112,6 @@ class MadaraFactory : SourceFactory { MixedManga(), ManhuasWorld(), ArazNovel(), - MangaByte(), ManhwaRaw(), GuncelManga(), WeScans(), @@ -154,7 +149,9 @@ class MadaraFactory : SourceFactory { AkuManga(), AsgardTeam(), Skymanga(), - ToonilyNet() + ToonilyNet(), + BestManga(), + TwilightScans() // Removed by request of site owner // EarlyManga(), // MangaGecesi(), @@ -167,7 +164,21 @@ class AhStudios : Madara("AhStudios", "https://ahstudios.net", "es") class AsuraScans : Madara("AsuraScans", "https://asurascans.com", "en") -class TritiniaScans : Madara("TritiniaScans", "https://tritiniaman.ga", "en") +class TritiniaScans : Madara("TritiniaScans", "https://tritiniaman.ga", "en") { + // site is a bit broken + override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/manga/index_m_orderby=views.html", headers) + override fun popularMangaNextPageSelector(): String? = null + override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/manga/index_m_orderby=latest.html", headers) + override fun latestUpdatesNextPageSelector(): String? = null + private val imageRegex = Regex(""""(http[^"]*)"""") + override fun pageListParse(document: Document): List { + val script = document.select("#chapter_preloaded_images").firstOrNull()?.data() + ?: throw Exception("chapter_preloaded_images not found") + return imageRegex.findAll(script).asIterable().mapIndexed { i, mr -> + Page(i, "", mr.groupValues[1].replace("\\", "")) + } + } +} class CopyPasteScan : Madara("CopyPasteScan", "https://copypastescan.xyz", "es") @@ -182,8 +193,6 @@ class ReadManhua : Madara("ReadManhua", "https://readmanhua.net", "en", class IsekaiScanCom : Madara("IsekaiScan.com", "https://isekaiscan.com", "en") -class HappyTeaScans : Madara("Happy Tea Scans", "https://happyteascans.com", "en") - class JustForFun : Madara("Just For Fun", "https://just-for-fun.ru", "ru", dateFormat = SimpleDateFormat("yy.MM.dd", Locale.US)) @@ -263,8 +272,6 @@ class WuxiaWorld : Madara("WuxiaWorld", "https://wuxiaworld.site", "en") { override fun popularMangaNextPageSelector() = "div.nav-previous.float-left" } -class YoManga : Madara("Yo Manga", "https://yomanga.info", "en") - class ManyToon : Madara("ManyToon", "https://manytoon.com", "en") class ManyToonMe : Madara("ManyToon.me", "https://manytoon.me", "en") @@ -676,8 +683,6 @@ class MangaKomi : Madara("MangaKomi", "https://mangakomi.com", "en", SimpleDateF class Wakamics : Madara("Wakamics", "https://wakamics.com", "en") -class TeabeerComics : Madara("Teabeer Comics", "https://teabeercomics.com", "en") - class KingzManga : Madara("KingzManga", "https://kingzmanga.com", "ar") class YaoiToshokan : Madara("Yaoi Toshokan", "https://yaoitoshokan.com.br", "pt-BR", SimpleDateFormat("dd MMM yyyy", Locale("pt", "BR"))) { @@ -850,8 +855,6 @@ class PMScans : Madara("PMScans", "http://www.pmscans.com", "en") class MangaRead : Madara("Manga Read", "https://mangaread.co", "en", SimpleDateFormat("yyyy-MM-dd", Locale.US)) -class UnknownScans : Madara("Unknown Scans", "https://unknoscans.com", "en") - class Manga68 : Madara("Manga68", "https://manga68.com", "en") { override val pageListParseSelector = "div.page-break, div.text-left p" } @@ -949,8 +952,6 @@ class ArazNovel : Madara("ArazNovel", "https://www.araznovel.com", "tr", SimpleD } } -class MangaByte : Madara("Manga Byte", "https://mangabyte.com", "en") - class ManhwaRaw : Madara("Manhwa Raw", "https://manhwaraw.com", "ko") class GuncelManga : Madara("GuncelManga", "https://guncelmanga.com", "tr") @@ -1197,3 +1198,7 @@ class AsgardTeam : Madara("Asgard Team", "https://www.asgard1team.com", "ar") class Skymanga : Madara("Skymanga", "https://skymanga.co", "en") class ToonilyNet : Madara("Toonily.net", "https://toonily.net", "en") + +class BestManga : Madara("BestManga", "https://bestmanga.club", "ru", SimpleDateFormat("dd.MM.yyyy", Locale.getDefault())) + +class TwilightScans : Madara("Twilight Scans", "https://twilightscans.com", "en")