Dmzj: Pop up toast when encountering a non-existent chapter instead of just crashing. (#12998)
This commit is contained in:
parent
1dd1cafc11
commit
976141a96e
|
@ -6,7 +6,7 @@ ext {
|
||||||
extName = 'Dmzj'
|
extName = 'Dmzj'
|
||||||
pkgNameSuffix = 'zh.dmzj'
|
pkgNameSuffix = 'zh.dmzj'
|
||||||
extClass = '.Dmzj'
|
extClass = '.Dmzj'
|
||||||
extVersionCode = 30
|
extVersionCode = 31
|
||||||
}
|
}
|
||||||
|
|
||||||
apply from: "$rootDir/common.gradle"
|
apply from: "$rootDir/common.gradle"
|
||||||
|
|
|
@ -47,10 +47,11 @@ class Dmzj : ConfigurableSource, HttpSource() {
|
||||||
override val baseUrl = "https://m.dmzj.com"
|
override val baseUrl = "https://m.dmzj.com"
|
||||||
private val v3apiUrl = "https://v3api.dmzj.com"
|
private val v3apiUrl = "https://v3api.dmzj.com"
|
||||||
private val v3ChapterApiUrl = "https://nnv3api.muwai.com"
|
private val v3ChapterApiUrl = "https://nnv3api.muwai.com"
|
||||||
|
|
||||||
// v3api now shutdown the functionality to fetch manga detail and chapter list, so move these logic to v4api
|
// v3api now shutdown the functionality to fetch manga detail and chapter list, so move these logic to v4api
|
||||||
private val v4apiUrl = "https://nnv4api.muwai.com" // https://v4api.dmzj1.com
|
private val v4apiUrl = "https://nnv4api.muwai.com" // https://v4api.dmzj1.com
|
||||||
private val apiUrl = "https://api.dmzj.com"
|
private val apiUrl = "https://api.dmzj.com"
|
||||||
private val oldPageListApiUrl = "https://api.m.dmzj.com"
|
private val oldPageListApiUrl = "http://api.m.dmzj.com" // this domain has an expired certificate
|
||||||
private val webviewPageListApiUrl = "https://m.dmzj.com/chapinfo"
|
private val webviewPageListApiUrl = "https://m.dmzj.com/chapinfo"
|
||||||
private val imageCDNUrl = "https://images.dmzj.com"
|
private val imageCDNUrl = "https://images.dmzj.com"
|
||||||
private val imageSmallCDNUrl = "https://imgsmall.dmzj.com"
|
private val imageSmallCDNUrl = "https://imgsmall.dmzj.com"
|
||||||
|
@ -404,8 +405,13 @@ class Dmzj : ConfigurableSource, HttpSource() {
|
||||||
obj.getJSONObject("chapter").getJSONArray("page_url")
|
obj.getJSONObject("chapter").getJSONArray("page_url")
|
||||||
} catch (e: org.json.JSONException) {
|
} catch (e: org.json.JSONException) {
|
||||||
// JSON data from api.m.dmzj.com may be incomplete, extract page_url list using regex
|
// JSON data from api.m.dmzj.com may be incomplete, extract page_url list using regex
|
||||||
val extractPageList = extractPageListRegex.find(responseBody)!!.value
|
val extractPageList = extractPageListRegex.find(responseBody)?.value
|
||||||
|
if (extractPageList != null) {
|
||||||
JSONObject("{$extractPageList}").getJSONArray("page_url")
|
JSONObject("{$extractPageList}").getJSONArray("page_url")
|
||||||
|
} else {
|
||||||
|
// The responseBody content is a sentence, for example, "The comic does not exist".
|
||||||
|
throw Exception(responseBody)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw Exception("can't parse response")
|
throw Exception("can't parse response")
|
||||||
|
@ -630,7 +636,7 @@ class Dmzj : ConfigurableSource, HttpSource() {
|
||||||
private val extractComicIdFromWebpageRegex = Regex("""addSubscribe\((\d+)\)""")
|
private val extractComicIdFromWebpageRegex = Regex("""addSubscribe\((\d+)\)""")
|
||||||
private val checkComicIdIsNumericalRegex = Regex("""^\d+$""")
|
private val checkComicIdIsNumericalRegex = Regex("""^\d+$""")
|
||||||
private val extractComicIdFromMangaUrlRegex = Regex("""(\d+)\.(json|html)""") // Get comic ID from manga.url
|
private val extractComicIdFromMangaUrlRegex = Regex("""(\d+)\.(json|html)""") // Get comic ID from manga.url
|
||||||
private val extractPageListRegex = Regex("""\"page_url\".+?\]""")
|
private val extractPageListRegex = Regex(""""page_url".+?]""")
|
||||||
|
|
||||||
private val ENTRIES_ARRAY = (1..10).map { i -> i.toString() }.toTypedArray()
|
private val ENTRIES_ARRAY = (1..10).map { i -> i.toString() }.toTypedArray()
|
||||||
const val PREFIX_ID_SEARCH = "id:"
|
const val PREFIX_ID_SEARCH = "id:"
|
||||||
|
|
Loading…
Reference in New Issue