Redirect from api Remanga and Desu (open in browser) (#5527)
This commit is contained in:
parent
514374f13a
commit
fcbab38aa1
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Desu'
|
||||
pkgNameSuffix = 'ru.desu'
|
||||
extClass = '.Desu'
|
||||
extVersionCode = 5
|
||||
extVersionCode = 6
|
||||
libVersion = '1.2'
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.ru.desu
|
||||
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.network.asObservableSuccess
|
||||
import eu.kanade.tachiyomi.source.model.Filter
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||
@ -13,6 +14,7 @@ import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONObject
|
||||
import rx.Observable
|
||||
import java.util.ArrayList
|
||||
|
||||
class Desu : HttpSource() {
|
||||
@ -108,6 +110,26 @@ class Desu : HttpSource() {
|
||||
return mangaPageFromJSON(obj.toString(), count > page * limit)
|
||||
}
|
||||
|
||||
private fun titleDetailsRequest(manga: SManga): Request {
|
||||
val titleId = manga.url.substringAfterLast("/")
|
||||
|
||||
val newHeaders = headersBuilder().build()
|
||||
|
||||
return GET("$baseUrl/$titleId", newHeaders)
|
||||
}
|
||||
|
||||
// Workaround to allow "Open in browser" use the real URL.
|
||||
override fun fetchMangaDetails(manga: SManga): Observable<SManga> {
|
||||
return client.newCall(titleDetailsRequest(manga))
|
||||
.asObservableSuccess()
|
||||
.map { response ->
|
||||
mangaDetailsParse(response).apply { initialized = true }
|
||||
}
|
||||
}
|
||||
|
||||
override fun mangaDetailsRequest(manga: SManga): Request {
|
||||
return GET(baseUrl.substringBefore("/api") + manga.url, headers)
|
||||
}
|
||||
override fun mangaDetailsParse(response: Response) = SManga.create().apply {
|
||||
val obj = JSONObject(response.body()!!.string()).getJSONObject("response")
|
||||
mangaFromJSON(obj, true)
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Remanga'
|
||||
pkgNameSuffix = 'ru.remanga'
|
||||
extClass = '.Remanga'
|
||||
extVersionCode = 13
|
||||
extVersionCode = 14
|
||||
libVersion = '1.2'
|
||||
}
|
||||
|
||||
|
@ -221,10 +221,18 @@ class Remanga : ConfigurableSource, HttpSource() {
|
||||
status = parseStatus(o.status.id)
|
||||
}
|
||||
}
|
||||
private fun titleDetailsRequest(manga: SManga): Request {
|
||||
val titleId = manga.url
|
||||
|
||||
val newHeaders = headersBuilder().build()
|
||||
|
||||
return GET("$baseUrl/$titleId", newHeaders)
|
||||
}
|
||||
|
||||
// Workaround to allow "Open in browser" use the real URL.
|
||||
override fun fetchMangaDetails(manga: SManga): Observable<SManga> {
|
||||
var warnLogin = false
|
||||
return client.newCall(mangaDetailsRequest(manga))
|
||||
return client.newCall(titleDetailsRequest(manga))
|
||||
.asObservable().doOnNext { response ->
|
||||
if (!response.isSuccessful) {
|
||||
response.close()
|
||||
@ -238,7 +246,9 @@ class Remanga : ConfigurableSource, HttpSource() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun mangaDetailsRequest(manga: SManga): Request {
|
||||
return GET(baseUrl + "/manga/" + manga.url.substringAfter("/api/titles/", "/"), headers)
|
||||
}
|
||||
override fun mangaDetailsParse(response: Response): SManga {
|
||||
val series = gson.fromJson<SeriesWrapperDto<MangaDetDto>>(response.body()?.charStream()!!)
|
||||
branches[series.content.en_name] = series.content.branches
|
||||
|
Loading…
x
Reference in New Issue
Block a user