Madara - update sources, annex Manhua Plus from WP Comics (#3772)
This commit is contained in:
parent
d9a885fdc1
commit
74cab21d7b
|
@ -5,7 +5,7 @@ ext {
|
||||||
extName = 'Madara (multiple sources)'
|
extName = 'Madara (multiple sources)'
|
||||||
pkgNameSuffix = "all.madara"
|
pkgNameSuffix = "all.madara"
|
||||||
extClass = '.MadaraFactory'
|
extClass = '.MadaraFactory'
|
||||||
extVersionCode = 116
|
extVersionCode = 117
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,8 +44,11 @@ abstract class Madara(
|
||||||
.readTimeout(30, TimeUnit.SECONDS)
|
.readTimeout(30, TimeUnit.SECONDS)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
|
// helps with cloudflare for some sources, makes it worse for others; override with empty string if the latter is true
|
||||||
|
protected open val userAgentRandomizer = " ${Random.nextInt().absoluteValue}"
|
||||||
|
|
||||||
override fun headersBuilder(): Headers.Builder = Headers.Builder()
|
override fun headersBuilder(): Headers.Builder = Headers.Builder()
|
||||||
.add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0 ${Random.nextInt().absoluteValue}")
|
.add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/78.0$userAgentRandomizer")
|
||||||
|
|
||||||
// Popular Manga
|
// Popular Manga
|
||||||
|
|
||||||
|
@ -415,7 +418,7 @@ abstract class Madara(
|
||||||
|
|
||||||
fun SimpleDateFormat.tryParse(string: String): Long {
|
fun SimpleDateFormat.tryParse(string: String): Long {
|
||||||
return try {
|
return try {
|
||||||
parse(string).time
|
parse(string)?.time ?: 0
|
||||||
} catch (_: ParseException) {
|
} catch (_: ParseException) {
|
||||||
0
|
0
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,7 +95,6 @@ class MadaraFactory : SourceFactory {
|
||||||
NinjaScans(),
|
NinjaScans(),
|
||||||
NovelFrance(),
|
NovelFrance(),
|
||||||
OnManga(),
|
OnManga(),
|
||||||
PlotTwistScan(),
|
|
||||||
PMScans(),
|
PMScans(),
|
||||||
PojokManga(),
|
PojokManga(),
|
||||||
PornComix(),
|
PornComix(),
|
||||||
|
@ -152,7 +151,10 @@ class MadaraFactory : SourceFactory {
|
||||||
FurioScans(),
|
FurioScans(),
|
||||||
Mangareceh(),
|
Mangareceh(),
|
||||||
KlanKomik(),
|
KlanKomik(),
|
||||||
ComicKiba()
|
ComicKiba(),
|
||||||
|
ToonPoint(),
|
||||||
|
MangaScantrad(),
|
||||||
|
ManhuaPlus()
|
||||||
// Removed by request of site owner
|
// Removed by request of site owner
|
||||||
// EarlyManga(),
|
// EarlyManga(),
|
||||||
// MangaGecesi(),
|
// MangaGecesi(),
|
||||||
|
@ -299,8 +301,7 @@ class Manga3asq : Madara("مانجا العاشق", "https://3asq.org", "ar")
|
||||||
class Indiancomicsonline : Madara("Indian Comics Online", "http://www.indiancomicsonline.com", "hi")
|
class Indiancomicsonline : Madara("Indian Comics Online", "http://www.indiancomicsonline.com", "hi")
|
||||||
|
|
||||||
class AdonisFansub : Madara("Adonis Fansub", "https://manga.adonisfansub.com", "tr") {
|
class AdonisFansub : Madara("Adonis Fansub", "https://manga.adonisfansub.com", "tr") {
|
||||||
override fun headersBuilder(): Headers.Builder = Headers.Builder()
|
override val userAgentRandomizer = ""
|
||||||
.add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0")
|
|
||||||
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=views", headers)
|
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=views", headers)
|
||||||
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=latest", headers)
|
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=latest", headers)
|
||||||
}
|
}
|
||||||
|
@ -669,10 +670,6 @@ class Toonily : Madara("Toonily", "https://toonily.com", "en") {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class PlotTwistScan : Madara("Plot Twist No Fansub", "https://www.plotwistscan.com", "es") {
|
|
||||||
override fun chapterListParse(response: Response): List<SChapter> = super.chapterListParse(response).asReversed()
|
|
||||||
}
|
|
||||||
|
|
||||||
class MangaKomi : Madara("MangaKomi", "https://mangakomi.com", "en", SimpleDateFormat("MM/dd/yyyy", Locale.US))
|
class MangaKomi : Madara("MangaKomi", "https://mangakomi.com", "en", SimpleDateFormat("MM/dd/yyyy", Locale.US))
|
||||||
|
|
||||||
class Wakamics : Madara("Wakamics", "https://wakamics.com", "en")
|
class Wakamics : Madara("Wakamics", "https://wakamics.com", "en")
|
||||||
|
@ -851,13 +848,6 @@ class UnknownScans : Madara("Unknown Scans", "https://unknoscans.com", "en")
|
||||||
|
|
||||||
class Manga68 : Madara("Manga68", "https://manga68.com", "en") {
|
class Manga68 : Madara("Manga68", "https://manga68.com", "en") {
|
||||||
override val pageListParseSelector = "div.page-break, div.text-left p"
|
override val pageListParseSelector = "div.page-break, div.text-left p"
|
||||||
override fun pageListParse(document: Document): List<Page> {
|
|
||||||
return document.select(pageListParseSelector).mapIndexed { index, element ->
|
|
||||||
Page(index, "", element.select("img").first()?.let {
|
|
||||||
it.absUrl(/*if (it.hasAttr("data-lazy-src")) "data-lazy-src" else */if (it.hasAttr("data-src")) "data-src" else "src")
|
|
||||||
})
|
|
||||||
}.filter { it.imageUrl!!.startsWith("http") }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class ManhuaBox : Madara("ManhuaBox", "https://manhuabox.net", "en") {
|
class ManhuaBox : Madara("ManhuaBox", "https://manhuabox.net", "en") {
|
||||||
|
@ -1191,3 +1181,13 @@ class ComicKiba : Madara("ComicKiba", "https://comickiba.com", "en") {
|
||||||
}
|
}
|
||||||
|
|
||||||
class KlanKomik : Madara("KlanKomik", "https://klankomik.com", "id")
|
class KlanKomik : Madara("KlanKomik", "https://klankomik.com", "id")
|
||||||
|
|
||||||
|
class ToonPoint : Madara("ToonPoint", "https://toonpoint.com", "en") {
|
||||||
|
override val userAgentRandomizer = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
class MangaScantrad : Madara("Manga-Scantrad", "https://manga-scantrad.net", "fr", SimpleDateFormat("d MMM yyyy", Locale.FRANCE))
|
||||||
|
|
||||||
|
class ManhuaPlus : Madara("Manhua Plus", "https://manhuaplus.com", "en") {
|
||||||
|
override val pageListParseSelector = "li.blocks-gallery-item"
|
||||||
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ ext {
|
||||||
extName = 'WP-Comics'
|
extName = 'WP-Comics'
|
||||||
pkgNameSuffix = 'all.wpcomics'
|
pkgNameSuffix = 'all.wpcomics'
|
||||||
extClass = '.WPComicsFactory'
|
extClass = '.WPComicsFactory'
|
||||||
extVersionCode = 9
|
extVersionCode = 10
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@ import org.jsoup.nodes.Element
|
||||||
@MultiSource
|
@MultiSource
|
||||||
class WPComicsFactory : SourceFactory {
|
class WPComicsFactory : SourceFactory {
|
||||||
override fun createSources(): List<Source> = listOf(
|
override fun createSources(): List<Source> = listOf(
|
||||||
ManhuaPlus(),
|
|
||||||
ManhuaES(),
|
ManhuaES(),
|
||||||
MangaSum(),
|
MangaSum(),
|
||||||
XoxoComics(),
|
XoxoComics(),
|
||||||
|
@ -29,10 +28,6 @@ class WPComicsFactory : SourceFactory {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ManhuaPlus : WPComics("Manhua Plus", "https://manhuaplus.com", "en") {
|
|
||||||
override val pageListSelector: String = "div.chapter-detail img, ${super.pageListSelector}"
|
|
||||||
}
|
|
||||||
|
|
||||||
private class ManhuaES : WPComics("Manhua ES", "https://manhuaes.com", "en", SimpleDateFormat("HH:mm - dd/MM/yyyy Z", Locale.US), "+0700") {
|
private class ManhuaES : WPComics("Manhua ES", "https://manhuaes.com", "en", SimpleDateFormat("HH:mm - dd/MM/yyyy Z", Locale.US), "+0700") {
|
||||||
override val popularPath = "category-comics/manga"
|
override val popularPath = "category-comics/manga"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue