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:
AbdullahM0hamed 2020-10-08 23:01:11 +01:00 committed by GitHub
parent 32a57e6bc8
commit 9603e6e80d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 71 additions and 5 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'Madara (multiple sources)' extName = 'Madara (multiple sources)'
pkgNameSuffix = "all.madara" pkgNameSuffix = "all.madara"
extClass = '.MadaraFactory' extClass = '.MadaraFactory'
extVersionCode = 140 extVersionCode = 141
libVersion = '1.2' libVersion = '1.2'
containsNsfw = true containsNsfw = true
} }

View File

@ -400,13 +400,15 @@ abstract class Madara(
open val chapterUrlSelector = "a" open val chapterUrlSelector = "a"
open val chapterUrlSuffix = "?style=list"
override fun chapterFromElement(element: Element): SChapter { override fun chapterFromElement(element: Element): SChapter {
val chapter = SChapter.create() val chapter = SChapter.create()
with(element) { with(element) {
select(chapterUrlSelector).first()?.let { urlElement -> select(chapterUrlSelector).first()?.let { urlElement ->
chapter.url = urlElement.attr("abs:href").let { 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() chapter.name = urlElement.text()
} }

View File

@ -31,6 +31,7 @@ class MadaraFactory : SourceFactory {
AdonisFansub(), AdonisFansub(),
AkuManga(), AkuManga(),
AllPornComic(), AllPornComic(),
AniMangaEs(),
AoCTranslations(), AoCTranslations(),
ArangScans(), ArangScans(),
ArazNovel(), ArazNovel(),
@ -74,7 +75,6 @@ class MadaraFactory : SourceFactory {
KlikManga(), KlikManga(),
KomikGo(), KomikGo(),
LilyManga(), LilyManga(),
LuxyScans(),
Manga347(), Manga347(),
Manga3asq(), Manga3asq(),
Manga68(), Manga68(),
@ -87,6 +87,7 @@ class MadaraFactory : SourceFactory {
MangaKomi(), MangaKomi(),
MangaLord(), MangaLord(),
MangaLandArabic(), MangaLandArabic(),
MangaNine(),
MangaPhoenix(), MangaPhoenix(),
MangaRawr(), MangaRawr(),
MangaRead(), MangaRead(),
@ -94,6 +95,8 @@ class MadaraFactory : SourceFactory {
MangaRockTeam(), MangaRockTeam(),
MangaRocky(), MangaRocky(),
MangaScantrad(), MangaScantrad(),
MangaSpark(),
MangaStarz(),
MangaStream(), MangaStream(),
MangaSY(), MangaSY(),
MangaTX(), MangaTX(),
@ -119,10 +122,13 @@ class MadaraFactory : SourceFactory {
ManyToon(), ManyToon(),
ManyToonClub(), ManyToonClub(),
ManyToonMe(), ManyToonMe(),
MarkScans(),
MartialScans(), MartialScans(),
Milftoon(), Milftoon(),
MiracleScans(), MiracleScans(),
MixedManga(), MixedManga(),
MysticalMerries(),
NazarickScans(),
NeoxScanlator(), NeoxScanlator(),
NightComic(), NightComic(),
NijiTranslations(), NijiTranslations(),
@ -260,8 +266,6 @@ class AoCTranslations : Madara("Agent of Change Translations", "https://aoc.moe"
class KomikGo : Madara("KomikGo", "https://komikgo.com", "id") class KomikGo : Madara("KomikGo", "https://komikgo.com", "id")
class LuxyScans : Madara("Luxy Scans", "https://luxyscans.com", "en")
class TsubakiNoScan : Madara( class TsubakiNoScan : Madara(
"Tsubaki No Scan", "Tsubaki No Scan",
"https://tsubakinoscan.com", "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 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 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")