Madara Updates (#4560)
* Update source_bug.md * Add NazarickScans * add mangaspark * add mangastarz * Add MysticalMerries * Add AniMangaEs * Add MangaNine and MarkScans * Update build.gradle: I remembered to do this! Co-authored-by: Carlos <2092019+CarlosEsco@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									32a57e6bc8
								
							
						
					
					
						commit
						9603e6e80d
					
				@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    extName = 'Madara (multiple sources)'
 | 
			
		||||
    pkgNameSuffix = "all.madara"
 | 
			
		||||
    extClass = '.MadaraFactory'
 | 
			
		||||
    extVersionCode = 140
 | 
			
		||||
    extVersionCode = 141
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
    containsNsfw = true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -400,13 +400,15 @@ abstract class Madara(
 | 
			
		||||
 | 
			
		||||
    open val chapterUrlSelector = "a"
 | 
			
		||||
 | 
			
		||||
    open val chapterUrlSuffix = "?style=list"
 | 
			
		||||
 | 
			
		||||
    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("?style=list")) "?style=list" else ""
 | 
			
		||||
                    it.substringBefore("?style=paged") + if (!it.endsWith(chapterUrlSuffix)) chapterUrlSuffix else ""
 | 
			
		||||
                }
 | 
			
		||||
                chapter.name = urlElement.text()
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@ -31,6 +31,7 @@ class MadaraFactory : SourceFactory {
 | 
			
		||||
        AdonisFansub(),
 | 
			
		||||
        AkuManga(),
 | 
			
		||||
        AllPornComic(),
 | 
			
		||||
        AniMangaEs(),
 | 
			
		||||
        AoCTranslations(),
 | 
			
		||||
        ArangScans(),
 | 
			
		||||
        ArazNovel(),
 | 
			
		||||
@ -74,7 +75,6 @@ class MadaraFactory : SourceFactory {
 | 
			
		||||
        KlikManga(),
 | 
			
		||||
        KomikGo(),
 | 
			
		||||
        LilyManga(),
 | 
			
		||||
        LuxyScans(),
 | 
			
		||||
        Manga347(),
 | 
			
		||||
        Manga3asq(),
 | 
			
		||||
        Manga68(),
 | 
			
		||||
@ -87,6 +87,7 @@ class MadaraFactory : SourceFactory {
 | 
			
		||||
        MangaKomi(),
 | 
			
		||||
        MangaLord(),
 | 
			
		||||
        MangaLandArabic(),
 | 
			
		||||
        MangaNine(),
 | 
			
		||||
        MangaPhoenix(),
 | 
			
		||||
        MangaRawr(),
 | 
			
		||||
        MangaRead(),
 | 
			
		||||
@ -94,6 +95,8 @@ class MadaraFactory : SourceFactory {
 | 
			
		||||
        MangaRockTeam(),
 | 
			
		||||
        MangaRocky(),
 | 
			
		||||
        MangaScantrad(),
 | 
			
		||||
        MangaSpark(),
 | 
			
		||||
        MangaStarz(),
 | 
			
		||||
        MangaStream(),
 | 
			
		||||
        MangaSY(),
 | 
			
		||||
        MangaTX(),
 | 
			
		||||
@ -119,10 +122,13 @@ class MadaraFactory : SourceFactory {
 | 
			
		||||
        ManyToon(),
 | 
			
		||||
        ManyToonClub(),
 | 
			
		||||
        ManyToonMe(),
 | 
			
		||||
        MarkScans(),
 | 
			
		||||
        MartialScans(),
 | 
			
		||||
        Milftoon(),
 | 
			
		||||
        MiracleScans(),
 | 
			
		||||
        MixedManga(),
 | 
			
		||||
        MysticalMerries(),
 | 
			
		||||
        NazarickScans(),
 | 
			
		||||
        NeoxScanlator(),
 | 
			
		||||
        NightComic(),
 | 
			
		||||
        NijiTranslations(),
 | 
			
		||||
@ -260,8 +266,6 @@ class AoCTranslations : Madara("Agent of Change Translations", "https://aoc.moe"
 | 
			
		||||
 | 
			
		||||
class KomikGo : Madara("KomikGo", "https://komikgo.com", "id")
 | 
			
		||||
 | 
			
		||||
class LuxyScans : Madara("Luxy Scans", "https://luxyscans.com", "en")
 | 
			
		||||
 | 
			
		||||
class TsubakiNoScan : Madara(
 | 
			
		||||
    "Tsubaki No Scan",
 | 
			
		||||
    "https://tsubakinoscan.com",
 | 
			
		||||
@ -1307,3 +1311,63 @@ class Kombatch : Madara("Kombatch", "https://kombatch.com", "id")
 | 
			
		||||
class ProjetoScanlator : Madara("Projeto Scanlator", "https://projetoscanlator.com", "pt-BR", SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")))
 | 
			
		||||
 | 
			
		||||
class HikariScan : Madara("Hikari Scan", "https://hikariscan.com.br", "pt-BR", SimpleDateFormat("dd 'de' MMMM 'de' yyyy", Locale("pt", "BR")))
 | 
			
		||||
 | 
			
		||||
class NazarickScans : Madara("Nazarick Scans", "https://nazarickscans.com", "en") {
 | 
			
		||||
    override fun popularMangaRequest(page: Int) = GET("$baseUrl/manga/page/$page/?m_orderby=trending", headers)
 | 
			
		||||
    override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/manga/page/$page/?m_orderby=trending", headers)
 | 
			
		||||
    override fun popularMangaNextPageSelector(): String? = null
 | 
			
		||||
    override fun latestUpdatesNextPageSelector(): String? = null
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class MangaSpark : Madara("MangaSpark", "https://mangaspark.com", "ar") {
 | 
			
		||||
    override fun popularMangaFromElement(element: Element): SManga {
 | 
			
		||||
        val manga = SManga.create()
 | 
			
		||||
 | 
			
		||||
        with(element) {
 | 
			
		||||
            select(popularMangaUrlSelector).first()?.let {
 | 
			
		||||
                manga.setUrlWithoutDomain(it.attr("abs:href"))
 | 
			
		||||
                manga.title = it.ownText()
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            select("img").first()?.let {
 | 
			
		||||
                manga.thumbnail_url = imageFromElement(it)?.replace("mangaspark", "mangalek")
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return manga
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class MangaStarz : Madara("Manga Starz", "https://mangastarz.com", "ar") {
 | 
			
		||||
    override fun popularMangaFromElement(element: Element): SManga {
 | 
			
		||||
        val manga = SManga.create()
 | 
			
		||||
 | 
			
		||||
        with(element) {
 | 
			
		||||
            select(popularMangaUrlSelector).first()?.let {
 | 
			
		||||
                manga.setUrlWithoutDomain(it.attr("abs:href"))
 | 
			
		||||
                manga.title = it.ownText()
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            select("img").first()?.let {
 | 
			
		||||
                manga.thumbnail_url = imageFromElement(it)?.replace("mangastarz", "mangalek")
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return manga
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class MysticalMerries : Madara("Mystical Merries", "https://mysticalmerries.com", "en") {
 | 
			
		||||
    override fun popularMangaRequest(page: Int) = GET("$baseUrl/genre/manhwa/page/$page/?m_orderby=trending", headers)
 | 
			
		||||
    override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/genre/manhwa/page/$page/?m_orderby=latest", headers)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class AniMangaEs : Madara("AniMangaEs", "http://animangaes.com", "en") {
 | 
			
		||||
    override val pageListParseSelector = "div.text-left noscript"
 | 
			
		||||
    override val chapterUrlSuffix = ""
 | 
			
		||||
    override fun chapterListParse(response: Response): List<SChapter> = super.chapterListParse(response).reversed()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class MangaNine : Madara("Manga Nine", "https://manganine.com", "en")
 | 
			
		||||
 | 
			
		||||
class MarkScans : Madara("Mark Scans", "https://markscans.online", "pt-BR")
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user