Dmzj - fallback to v3api for hidden chapters (#4145)
This commit is contained in:
parent
0fbdfa6a14
commit
d239be6c9a
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Dmzj'
|
||||
pkgNameSuffix = 'zh.dmzj'
|
||||
extClass = '.Dmzj'
|
||||
extVersionCode = 11
|
||||
extVersionCode = 12
|
||||
libVersion = '1.2'
|
||||
}
|
||||
|
||||
|
@ -170,8 +170,19 @@ class Dmzj : HttpSource() {
|
||||
override fun pageListRequest(chapter: SChapter) = GET(chapter.url, headers) // Bypass base url
|
||||
|
||||
override fun pageListParse(response: Response): List<Page> {
|
||||
val obj = JSONObject(response.body()!!.string())
|
||||
val arr = obj.getJSONObject("chapter").getJSONArray("page_url")
|
||||
// some chapters are hidden and won't return a JSONObject from api.m.dmzj, have to get them through v3api (but images won't be as HQ)
|
||||
val arr = try {
|
||||
val obj = JSONObject(response.body()!!.string())
|
||||
obj.getJSONObject("chapter").getJSONArray("page_url")
|
||||
} catch (_: Exception) {
|
||||
// example url: http://v3api.dmzj.com/chapter/44253/101852.json
|
||||
val url = response.request().url().toString()
|
||||
.replace("api.m", "v3api")
|
||||
.replace("comic/", "")
|
||||
.replace(".html", ".json")
|
||||
val obj = client.newCall(GET(url, headers)).execute().let { JSONObject(it.body()!!.string()) }
|
||||
obj.getJSONArray("page_url")
|
||||
}
|
||||
val ret = ArrayList<Page>(arr.length())
|
||||
for (i in 0 until arr.length()) {
|
||||
ret.add(Page(i, "", arr.getString(i)))
|
||||
|
Loading…
x
Reference in New Issue
Block a user