OppaiStream: update selectors (#1658)
This commit is contained in:
		
							parent
							
								
									feef718f2a
								
							
						
					
					
						commit
						c2b7c1cb20
					
				| @ -1,7 +1,7 @@ | |||||||
| ext { | ext { | ||||||
|     extName = 'Oppai Stream' |     extName = 'Oppai Stream' | ||||||
|     extClass = '.OppaiStream' |     extClass = '.OppaiStream' | ||||||
|     extVersionCode = 1 |     extVersionCode = 2 | ||||||
|     isNsfw = true |     isNsfw = true | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -11,7 +11,6 @@ import eu.kanade.tachiyomi.source.online.ParsedHttpSource | |||||||
| import eu.kanade.tachiyomi.util.asJsoup | import eu.kanade.tachiyomi.util.asJsoup | ||||||
| import okhttp3.Headers | import okhttp3.Headers | ||||||
| import okhttp3.HttpUrl.Companion.toHttpUrl | import okhttp3.HttpUrl.Companion.toHttpUrl | ||||||
| import okhttp3.OkHttpClient |  | ||||||
| import okhttp3.Request | import okhttp3.Request | ||||||
| import okhttp3.Response | import okhttp3.Response | ||||||
| import org.jsoup.nodes.Document | import org.jsoup.nodes.Document | ||||||
| @ -31,10 +30,10 @@ class OppaiStream : ParsedHttpSource() { | |||||||
| 
 | 
 | ||||||
|     override val supportsLatest = true |     override val supportsLatest = true | ||||||
| 
 | 
 | ||||||
|     override val client: OkHttpClient = network.cloudflareClient |     override val client = network.cloudflareClient | ||||||
| 
 | 
 | ||||||
|     override fun headersBuilder(): Headers.Builder = super.headersBuilder() |     override fun headersBuilder(): Headers.Builder = super.headersBuilder() | ||||||
|         .add("Referer", baseUrl) |         .add("Referer", "$baseUrl/") | ||||||
| 
 | 
 | ||||||
|     // popular |     // popular | ||||||
|     override fun popularMangaRequest(page: Int): Request { |     override fun popularMangaRequest(page: Int): Request { | ||||||
| @ -84,22 +83,20 @@ class OppaiStream : ParsedHttpSource() { | |||||||
|                         addQueryParameter("order", filter.selectedValue()) |                         addQueryParameter("order", filter.selectedValue()) | ||||||
|                     } |                     } | ||||||
|                     is GenreListFilter -> { |                     is GenreListFilter -> { | ||||||
|                         val genresInclude = filter.state.filter { it.state == Filter.TriState.STATE_INCLUDE }.map { genre -> genre.value } |                         addQueryParameter("genres", filter.state.filter { it.isIncluded() }.joinToString(",") { it.value }) | ||||||
|                         val genresExclude = filter.state.filter { it.state == Filter.TriState.STATE_EXCLUDE }.map { genre -> genre.value } |                         addQueryParameter("blacklist", filter.state.filter { it.isExcluded() }.joinToString(",") { it.value }) | ||||||
|                         addQueryParameter("genres", genresInclude.joinToString(",") { it }) |  | ||||||
|                         addQueryParameter("blacklist", genresExclude.joinToString(",") { it }) |  | ||||||
|                     } |                     } | ||||||
|                     else -> {} |                     else -> {} | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             addQueryParameter("page", "$page") |             addQueryParameter("page", "$page") | ||||||
|             addQueryParameter("limit", "$searchLimit") |             addQueryParameter("limit", "$SEARCH_LIMIT") | ||||||
|         }.build() |         }.build() | ||||||
| 
 | 
 | ||||||
|         return GET(url, headers) |         return GET(url, headers) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     override fun searchMangaSelector() = "div.in-grid" |     override fun searchMangaSelector() = "div.in-grid > a" | ||||||
| 
 | 
 | ||||||
|     override fun searchMangaParse(response: Response): MangasPage { |     override fun searchMangaParse(response: Response): MangasPage { | ||||||
|         val document = response.asJsoup() |         val document = response.asJsoup() | ||||||
| @ -109,16 +106,16 @@ class OppaiStream : ParsedHttpSource() { | |||||||
|             searchMangaFromElement(element) |             searchMangaFromElement(element) | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         val hasNextPage = elements.size >= searchLimit |         val hasNextPage = elements.size >= SEARCH_LIMIT | ||||||
| 
 | 
 | ||||||
|         return MangasPage(mangas, hasNextPage) |         return MangasPage(mangas, hasNextPage) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     override fun searchMangaFromElement(element: Element): SManga { |     override fun searchMangaFromElement(element: Element): SManga { | ||||||
|         return SManga.create().apply { |         return SManga.create().apply { | ||||||
|             thumbnail_url = element.select(".split-1 img").attr("src") |             thumbnail_url = element.select("img.read-cover").attr("src") | ||||||
|             title = element.select("a div h3").text() |             title = element.select("h3.man-title").text() | ||||||
|             setUrlWithoutDomain(element.select("a").attr("href")) |             setUrlWithoutDomain(element.absUrl("href")) | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -129,9 +126,9 @@ class OppaiStream : ParsedHttpSource() { | |||||||
|         return SManga.create().apply { |         return SManga.create().apply { | ||||||
|             thumbnail_url = document.select(".cover-img").attr("src") |             thumbnail_url = document.select(".cover-img").attr("src") | ||||||
|             document.select(".manhwa-info-in").let { it -> |             document.select(".manhwa-info-in").let { it -> | ||||||
|                 it.select("h1").text().let { |                 it.select("h1").run { | ||||||
|                     title = it.substringBeforeLast("By").trim() |                     title = text().substringBeforeLast("By").trim() | ||||||
|                     author = it.substringAfterLast("By").trim() |                     author = select("a.red").text().trim() | ||||||
|                     artist = author |                     artist = author | ||||||
|                 } |                 } | ||||||
|                 genre = it.select(".genres h5").joinToString { it.text() } |                 genre = it.select(".genres h5").joinToString { it.text() } | ||||||
| @ -186,6 +183,7 @@ class OppaiStream : ParsedHttpSource() { | |||||||
|     private class OrderByFilter(defaultOrder: String? = null) : SelectFilter( |     private class OrderByFilter(defaultOrder: String? = null) : SelectFilter( | ||||||
|         "Sort By", |         "Sort By", | ||||||
|         arrayOf( |         arrayOf( | ||||||
|  |             Pair("", ""), | ||||||
|             Pair("A-Z", "az"), |             Pair("A-Z", "az"), | ||||||
|             Pair("Z-A", "za"), |             Pair("Z-A", "za"), | ||||||
|             Pair("Recently Released", "recent"), |             Pair("Recently Released", "recent"), | ||||||
| @ -334,7 +332,7 @@ class OppaiStream : ParsedHttpSource() { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     companion object { |     companion object { | ||||||
|         const val searchLimit = 36 |         const val SEARCH_LIMIT = 36 | ||||||
|         const val SLUG_SEARCH_PREFIX = "slug:" |         const val SLUG_SEARCH_PREFIX = "slug:" | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 AwkwardPeak7
						AwkwardPeak7