|
@@ -5,7 +5,6 @@ import eu.kanade.tachiyomi.data.database.models.Chapter
|
|
|
import eu.kanade.tachiyomi.data.database.models.Manga
|
|
|
import eu.kanade.tachiyomi.data.network.GET
|
|
|
import eu.kanade.tachiyomi.data.network.POST
|
|
|
-import eu.kanade.tachiyomi.data.source.Source
|
|
|
import eu.kanade.tachiyomi.data.source.getLanguages
|
|
|
import eu.kanade.tachiyomi.data.source.model.MangasPage
|
|
|
import eu.kanade.tachiyomi.data.source.model.Page
|
|
@@ -15,7 +14,6 @@ import okhttp3.Request
|
|
|
import okhttp3.Response
|
|
|
import org.jsoup.Jsoup
|
|
|
import org.jsoup.nodes.Element
|
|
|
-import rx.Observable
|
|
|
import java.text.SimpleDateFormat
|
|
|
import java.util.*
|
|
|
|
|
@@ -34,7 +32,7 @@ class YamlOnlineSource(context: Context, mappings: Map<*, *>) : OnlineSource(con
|
|
|
getLanguages().find { code == it.code }!!
|
|
|
}
|
|
|
|
|
|
- override val supportsLatest = map.supportsLatest.toBoolean()
|
|
|
+ override val supportsLatest = map.latestupdates != null
|
|
|
|
|
|
override val client = when(map.client) {
|
|
|
"cloudflare" -> network.cloudflareClient
|
|
@@ -55,20 +53,8 @@ class YamlOnlineSource(context: Context, mappings: Map<*, *>) : OnlineSource(con
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- override fun latestUpdatesRequest(page: MangasPage): Request {
|
|
|
- if (page.page == 1) {
|
|
|
- page.url = latestUpdatesInitialUrl()
|
|
|
- }
|
|
|
- return when (map.latestupdates.method?.toLowerCase()) {
|
|
|
- "post" -> POST(page.url, headers, map.latestupdates.createForm())
|
|
|
- else -> GET(page.url, headers)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
override fun popularMangaInitialUrl() = map.popular.url
|
|
|
|
|
|
- override fun latestUpdatesInitialUrl() = map.latestupdates.url
|
|
|
-
|
|
|
override fun popularMangaParse(response: Response, page: MangasPage) {
|
|
|
val document = response.asJsoup()
|
|
|
for (element in document.select(map.popular.manga_css)) {
|
|
@@ -84,9 +70,21 @@ class YamlOnlineSource(context: Context, mappings: Map<*, *>) : OnlineSource(con
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- override fun latestUpdatesParse(response: Response, page: MangasPage) {
|
|
|
+ override fun searchMangaRequest(page: MangasPage, query: String, filters: List<Filter>): Request {
|
|
|
+ if (page.page == 1) {
|
|
|
+ page.url = searchMangaInitialUrl(query, filters)
|
|
|
+ }
|
|
|
+ return when (map.search.method?.toLowerCase()) {
|
|
|
+ "post" -> POST(page.url, headers, map.search.createForm())
|
|
|
+ else -> GET(page.url, headers)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun searchMangaInitialUrl(query: String, filters: List<Filter>) = map.search.url.replace("\$query", query)
|
|
|
+
|
|
|
+ override fun searchMangaParse(response: Response, page: MangasPage, query: String, filters: List<Filter>) {
|
|
|
val document = response.asJsoup()
|
|
|
- for (element in document.select(map.latestupdates.manga_css)) {
|
|
|
+ for (element in document.select(map.search.manga_css)) {
|
|
|
Manga.create(id).apply {
|
|
|
title = element.text()
|
|
|
setUrlWithoutDomain(element.attr("href"))
|
|
@@ -94,26 +92,26 @@ class YamlOnlineSource(context: Context, mappings: Map<*, *>) : OnlineSource(con
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- map.popular.next_url_css?.let { selector ->
|
|
|
+ map.search.next_url_css?.let { selector ->
|
|
|
page.nextPageUrl = document.select(selector).first()?.absUrl("href")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- override fun searchMangaRequest(page: MangasPage, query: String, filters: List<Filter>): Request {
|
|
|
+ override fun latestUpdatesRequest(page: MangasPage): Request {
|
|
|
if (page.page == 1) {
|
|
|
- page.url = searchMangaInitialUrl(query, filters)
|
|
|
+ page.url = latestUpdatesInitialUrl()
|
|
|
}
|
|
|
- return when (map.search.method?.toLowerCase()) {
|
|
|
- "post" -> POST(page.url, headers, map.search.createForm())
|
|
|
+ return when (map.latestupdates!!.method?.toLowerCase()) {
|
|
|
+ "post" -> POST(page.url, headers, map.latestupdates.createForm())
|
|
|
else -> GET(page.url, headers)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- override fun searchMangaInitialUrl(query: String, filters: List<Filter>) = map.search.url.replace("\$query", query)
|
|
|
+ override fun latestUpdatesInitialUrl() = map.latestupdates!!.url
|
|
|
|
|
|
- override fun searchMangaParse(response: Response, page: MangasPage, query: String, filters: List<Filter>) {
|
|
|
+ override fun latestUpdatesParse(response: Response, page: MangasPage) {
|
|
|
val document = response.asJsoup()
|
|
|
- for (element in document.select(map.search.manga_css)) {
|
|
|
+ for (element in document.select(map.latestupdates!!.manga_css)) {
|
|
|
Manga.create(id).apply {
|
|
|
title = element.text()
|
|
|
setUrlWithoutDomain(element.attr("href"))
|
|
@@ -121,7 +119,7 @@ class YamlOnlineSource(context: Context, mappings: Map<*, *>) : OnlineSource(con
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- map.search.next_url_css?.let { selector ->
|
|
|
+ map.latestupdates.next_url_css?.let { selector ->
|
|
|
page.nextPageUrl = document.select(selector).first()?.absUrl("href")
|
|
|
}
|
|
|
}
|