FlixScans: fixes (#19259)

- change english domain & fix chapter list
- change popular url for arabic (GalaxyManga)
This commit is contained in:
AwkwardPeak7 2023-12-11 19:40:32 +05:00 committed by GitHub
parent f950ccce3c
commit efab0b929c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 8 additions and 61 deletions

View File

@ -2,4 +2,4 @@ package eu.kanade.tachiyomi.extension.en.flixscans
import eu.kanade.tachiyomi.multisrc.flixscans.FlixScans
class FlixScansNet : FlixScans("Flix Scans", "https://flixscans.net", "en", cdnUrl = "https://media.flixscans.net/")
class FlixScansNet : FlixScans("Flix Scans", "https://flixscans.org", "en", cdnUrl = "https://media.flixscans.org/")

View File

@ -1,25 +1,13 @@
package eu.kanade.tachiyomi.extension.ar.galaxymanga
import eu.kanade.tachiyomi.multisrc.flixscans.Chapter
import eu.kanade.tachiyomi.multisrc.flixscans.FlixScans
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.Request
import okhttp3.Response
class GalaxyManga : FlixScans("جالاكسي مانجا", "https://flixscans.com", "ar") {
override val versionId = 2
override fun chapterListRequest(manga: SManga): Request {
val id = manga.url.split("-")[1]
return GET("$apiUrl/webtoon/chapters/$id-desc", headers)
}
override fun chapterListParse(response: Response): List<SChapter> {
val chapters = response.parseAs<List<Chapter>>()
return chapters.map(Chapter::toSChapter)
override fun popularMangaRequest(page: Int): Request {
return GET("$apiUrl/webtoon/pages/home/action", headers)
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 KiB

View File

@ -3,9 +3,7 @@ package eu.kanade.tachiyomi.multisrc.flixscans
import android.util.Log
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.asObservableSuccess
import eu.kanade.tachiyomi.network.interceptor.rateLimit
import eu.kanade.tachiyomi.network.interceptor.rateLimitHost
import eu.kanade.tachiyomi.source.model.Filter
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.MangasPage
@ -42,11 +40,6 @@ abstract class FlixScans(
.rateLimit(2)
.build()
// only returns 15 chapters each request, so using higher rate limit
private val chapterClient = network.cloudflareClient.newBuilder()
.rateLimitHost(apiUrl.toHttpUrl(), 1, 2)
.build()
override fun headersBuilder() = super.headersBuilder()
.add("Referer", baseUrl)
@ -240,49 +233,16 @@ abstract class FlixScans(
return result.serie.toSManga(cdnUrl)
}
override fun fetchChapterList(manga: SManga): Observable<List<SChapter>> {
return chapterClient.newCall(chapterListRequest(manga))
.asObservableSuccess()
.map(::chapterListParse)
}
override fun chapterListRequest(manga: SManga): Request {
val id = manga.url.split("-")[1]
return paginatedChapterListRequest(id)
}
private fun paginatedChapterListRequest(seriesID: String, page: Int = 1): Request {
return GET("$apiUrl/webtoon/chapters/$seriesID-asc?page=$page", headers)
return GET("$apiUrl/webtoon/chapters/$id-desc", headers)
}
override fun chapterListParse(response: Response): List<SChapter> {
val result = response.parseAs<ApiResponse<Chapter>>()
val chapters = response.parseAs<List<Chapter>>()
val id = response.request.url.toString()
.substringAfterLast("/")
.substringBefore("-")
val chapters = result.data.toMutableList()
var page = 1
while (page < result.meta.lastPage) {
page++
val newResponse = chapterClient.newCall(paginatedChapterListRequest(id, page)).execute()
if (!newResponse.isSuccessful) {
newResponse.close()
continue
}
val newResult = newResponse.parseAs<ApiResponse<Chapter>>()
chapters.addAll(newResult.data)
}
return chapters.map(Chapter::toSChapter).reversed()
return chapters.map(Chapter::toSChapter)
}
override fun pageListRequest(chapter: SChapter): Request {

View File

@ -9,12 +9,11 @@ class FlixScansGenerator : ThemeSourceGenerator {
override val themeClass = "FlixScans"
override val baseVersionCode: Int = 2
override val baseVersionCode: Int = 3
override val sources = listOf(
SingleLang("Flix Scans", "https://flixscans.net", "en", className = "FlixScansNet", pkgName = "flixscans"),
SingleLang("Flix Scans", "https://flixscans.org", "en", className = "FlixScansNet", pkgName = "flixscans"),
SingleLang("جالاكسي مانجا", "https://flixscans.com", "ar", className = "GalaxyManga", overrideVersionCode = 26),
SingleLang("مانجا نون", "https://manjanoon.com", "ar", className = "MangaNoon"),
)
companion object {