Update common dependencies ()

Update common dependencies
This commit is contained in:
Eugene 2018-08-05 16:48:02 -04:00 committed by Carlos
parent 83a82e1181
commit d2f6744188
18 changed files with 39 additions and 43 deletions
common.gradle
src
all
mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex
myreadingmanga/src/eu/kanade/tachiyomi/extension/all/myreadingmanga
nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai
en
dynasty/src/eu/kanade/tachiyomi/extension/en/dynasty
hentai2read/src/eu/kanade/tachiyomi/extension/en/hentai2read
mangacow/src/eu/kanade/tachiyomi/extension/en/mangacow
mangaeden/src/eu/kanade/tachiyomi/extension/en/mangaeden
mangazuki/src/eu/kanade/tachiyomi/extension/en/mangazuki
perveden/src/eu/kanade/tachiyomi/extension/en/perveden
readcomiconline/src/eu/kanade/tachiyomi/extension/en/readcomiconline
shoujosense/src/en/kanade/tachiyomi/extension/en/shoujosense
webtoons/src/eu/kanade/tachiyomi/extension/en/webtoons
it
hentaifantasy/src/eu/kanade/tachiyomi/extension/it/hentaifantasy
mangaeden/src/eu/kanade/tachiyomi/extension/it/mangaeden
perveden/src/eu/kanade/tachiyomi/extension/it/perveden
pt/unionmangas/src/eu/kanade/tachiyomi/extension/pt/unionmangas
vi/truyentranhlh/src/eu/kanade/tachiyomi/extension/vi/truyentranhlh

@ -45,9 +45,9 @@ repositories {
} }
dependencies { dependencies {
compileOnly "eu.kanade.tachiyomi:extensions-library:$libVersion"
compileOnly 'com.squareup.okhttp3:okhttp:3.5.0'
compileOnly 'io.reactivex:rxjava:1.2.4'
compileOnly 'org.jsoup:jsoup:1.10.1'
compileOnly "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compileOnly "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compileOnly "eu.kanade.tachiyomi:extensions-library:$libVersion"
compileOnly 'com.squareup.okhttp3:okhttp:3.10.0'
compileOnly 'io.reactivex:rxjava:1.3.6'
compileOnly 'org.jsoup:jsoup:1.10.2'
} }

@ -276,7 +276,7 @@ open class Mangadex(override val lang: String, private val internalLang: String,
private fun isMangaCompleted(finalChapterNumber: String, chapterJson: JsonObject): Boolean { private fun isMangaCompleted(finalChapterNumber: String, chapterJson: JsonObject): Boolean {
val count = chapterJson.entrySet() val count = chapterJson.entrySet()
.filter { it -> it.value.asJsonObject.get("lang_code").string == internalLang } .filter { it -> it.value.asJsonObject.get("lang_code").string == internalLang }
.filter { it -> doesFinalChapterExist(finalChapterNumber, it.value) }?.count() .filter { it -> doesFinalChapterExist(finalChapterNumber, it.value) }.count()
return when (count) { return when (count) {
0 -> false 0 -> false
else -> true else -> true
@ -352,8 +352,6 @@ open class Mangadex(override val lang: String, private val internalLang: String,
override fun pageListParse(document: Document): List<Page> { override fun pageListParse(document: Document): List<Page> {
val pages = mutableListOf<Page>() val pages = mutableListOf<Page>()
val url = document.baseUri()
val dataUrl = document.select("script").last().html().substringAfter("dataurl = '").substringBefore("';") val dataUrl = document.select("script").last().html().substringAfter("dataurl = '").substringBefore("';")
val imageUrl = document.select("script").last().html().substringAfter("page_array = [").substringBefore("];") val imageUrl = document.select("script").last().html().substringAfter("page_array = [").substringBefore("];")
val listImageUrls = imageUrl.replace("'", "").split(",") val listImageUrls = imageUrl.replace("'", "").split(",")
@ -474,4 +472,4 @@ open class Mangadex(override val lang: String, private val internalLang: String,
private const val BASE_CHAPTER = "/chapter/" private const val BASE_CHAPTER = "/chapter/"
} }
} }

@ -40,7 +40,7 @@ open class MyReadingManga(override val lang: String) : ParsedHttpSource() {
} }
} }
val hasNextPage = popularMangaNextPageSelector()?.let { selector -> val hasNextPage = popularMangaNextPageSelector().let { selector ->
document.select(selector).first() document.select(selector).first()
} != null } != null

@ -55,7 +55,7 @@ open class NHentai(override val lang: String, val nhLang: String) : HttpSource()
= throw UnsupportedOperationException("This method should not be called!") = throw UnsupportedOperationException("This method should not be called!")
override fun mangaDetailsParse(response: Response) override fun mangaDetailsParse(response: Response)
= parseGallery(jsonParser.parse(response.body().string()).obj) = parseGallery(jsonParser.parse(response.body()!!.string()).obj)
//Hack so we can use a different URL for fetching manga details and opening the details in the browser //Hack so we can use a different URL for fetching manga details and opening the details in the browser
override fun fetchMangaDetails(manga: SManga) override fun fetchMangaDetails(manga: SManga)
@ -70,7 +70,7 @@ open class NHentai(override val lang: String, val nhLang: String) : HttpSource()
fun urlToDetailsRequest(url: String) = nhGet("$baseUrl/api/gallery/${url.substringAfterLast('/')}") fun urlToDetailsRequest(url: String) = nhGet("$baseUrl/api/gallery/${url.substringAfterLast('/')}")
fun parseResultPage(response: Response): MangasPage { fun parseResultPage(response: Response): MangasPage {
val res = jsonParser.parse(response.body().string()).obj val res = jsonParser.parse(response.body()!!.string()).obj
res["error"]?.let { res["error"]?.let {
throw RuntimeException("An error occurred while performing the search: $it") throw RuntimeException("An error occurred while performing the search: $it")
@ -120,7 +120,7 @@ open class NHentai(override val lang: String, val nhLang: String) : HttpSource()
tags.clear() tags.clear()
}?.forEach { }?.forEach {
if (it.first != null && it.second != null) if (it.first != null && it.second != null)
tags.getOrPut(it.first!!, { mutableListOf<Tag>() }).add(Tag(it.second!!, false)) tags.getOrPut(it.first!!) { mutableListOf() }.add(Tag(it.second!!, false))
}!! }!!
} }
@ -132,7 +132,7 @@ open class NHentai(override val lang: String, val nhLang: String) : HttpSource()
client.newCall(urlToDetailsRequest(url)) client.newCall(urlToDetailsRequest(url))
.asObservableSuccess() .asObservableSuccess()
.map { .map {
rawParseGallery(jsonParser.parse(it.body().string()).obj) rawParseGallery(jsonParser.parse(it.body()!!.string()).obj)
}!! }!!
override fun fetchChapterList(manga: SManga) override fun fetchChapterList(manga: SManga)

@ -106,8 +106,8 @@ abstract class DynastyScans : ParsedHttpSource() {
protected fun parseGenres(elements: Elements, manga: SManga) { protected fun parseGenres(elements: Elements, manga: SManga) {
if (!elements.isEmpty()) { if (!elements.isEmpty()) {
var genres = mutableListOf<String>() val genres = mutableListOf<String>()
elements?.forEach { elements.forEach {
genres.add(it.text()) genres.add(it.text())
} }
manga.genre = genres.joinToString(", ") manga.genre = genres.joinToString(", ")
@ -233,4 +233,4 @@ abstract class DynastyScans : ParsedHttpSource() {
return popularMangaRequest(page) return popularMangaRequest(page)
} }
} }

@ -90,7 +90,7 @@ class Hentai2Read : ParsedHttpSource() {
is ReleaseYearSelect -> add("cbo_wpm_pag_mng_sch_rls_yer", filter.state.toString()) is ReleaseYearSelect -> add("cbo_wpm_pag_mng_sch_rls_yer", filter.state.toString())
is Status -> add("rad_wpm_pag_mng_sch_sts", filter.state.toString()) is Status -> add("rad_wpm_pag_mng_sch_sts", filter.state.toString())
is TagSearchMode -> add("rad_wpm_pag_mng_sch_tag_mde", arrayOf("and", "or")[filter.state]) is TagSearchMode -> add("rad_wpm_pag_mng_sch_tag_mde", arrayOf("and", "or")[filter.state])
is TagList -> filter.state.forEach { tag -> is TagList -> filter.state.forEach { tag ->
when (tag.state) { when (tag.state) {
Filter.TriState.STATE_INCLUDE -> add("chk_wpm_pag_mng_sch_mng_tag_inc[]", tag.id.toString()) Filter.TriState.STATE_INCLUDE -> add("chk_wpm_pag_mng_sch_mng_tag_inc[]", tag.id.toString())
Filter.TriState.STATE_EXCLUDE -> add("chk_wpm_pag_mng_sch_mng_tag_exc[]", tag.id.toString()) Filter.TriState.STATE_EXCLUDE -> add("chk_wpm_pag_mng_sch_mng_tag_exc[]", tag.id.toString())
@ -194,7 +194,7 @@ class Hentai2Read : ParsedHttpSource() {
override fun pageListParse(response: Response): List<Page> { override fun pageListParse(response: Response): List<Page> {
val pages = mutableListOf<Page>() val pages = mutableListOf<Page>()
val m = pagesUrlPattern.matcher(response.body().string()) val m = pagesUrlPattern.matcher(response.body()!!.string())
var i = 0 var i = 0
while (m.find()) { while (m.find()) {
m.group(1).split(",").forEach { m.group(1).split(",").forEach {

@ -145,7 +145,7 @@ class Mangacow : ParsedHttpSource() {
override fun pageListParse(response: Response): List<Page> { override fun pageListParse(response: Response): List<Page> {
val pages = mutableListOf<Page>() val pages = mutableListOf<Page>()
val m = pagesUrlPattern.matcher(response.body().string()) val m = pagesUrlPattern.matcher(response.body()!!.string())
var i = 0 var i = 0
while (m.find()) { while (m.find()) {
pages.add(Page(i++, "", m.group(1))) pages.add(Page(i++, "", m.group(1)))
@ -162,4 +162,4 @@ class Mangacow : ParsedHttpSource() {
override fun imageUrlParse(document: Document) = "" override fun imageUrlParse(document: Document) = ""
override fun getFilterList() = FilterList() override fun getFilterList() = FilterList()
} }

@ -38,7 +38,7 @@ class Mangaeden : ParsedHttpSource() {
override fun popularMangaNextPageSelector() = searchMangaNextPageSelector() override fun popularMangaNextPageSelector() = searchMangaNextPageSelector()
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val url = HttpUrl.parse("$baseUrl/en/en-directory/").newBuilder().addQueryParameter("title", query) val url = HttpUrl.parse("$baseUrl/en/en-directory/")?.newBuilder()!!.addQueryParameter("title", query)
(if (filters.isEmpty()) getFilterList() else filters).forEach { filter -> (if (filters.isEmpty()) getFilterList() else filters).forEach { filter ->
when (filter) { when (filter) {
is StatusList -> filter.state is StatusList -> filter.state
@ -200,4 +200,4 @@ class Mangaeden : ParsedHttpSource() {
Genre("Yaoi", "4e70e91ac092255ef70016e5"), Genre("Yaoi", "4e70e91ac092255ef70016e5"),
Genre("Yuri", "4e70e92ac092255ef7001a57") Genre("Yuri", "4e70e92ac092255ef7001a57")
) )
} }

@ -58,8 +58,7 @@ class Mangazuki : ParsedHttpSource() {
override fun latestUpdatesNextPageSelector() = null override fun latestUpdatesNextPageSelector() = null
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val url = HttpUrl.parse("$baseUrl/manga-list").newBuilder() val url = HttpUrl.parse("$baseUrl/manga-list")?.newBuilder()!!
return GET(url.toString(), headers) return GET(url.toString(), headers)
} }
override fun searchMangaSelector() = popularMangaSelector() override fun searchMangaSelector() = popularMangaSelector()
@ -129,4 +128,4 @@ class Mangazuki : ParsedHttpSource() {
override fun pageListParse(document: Document) = document.select("div#all > img").mapIndexed { i, element -> Page(i, "", element.attr("data-src")) } override fun pageListParse(document: Document) = document.select("div#all > img").mapIndexed { i, element -> Page(i, "", element.attr("data-src")) }
override fun imageUrlParse(document: Document) = "" override fun imageUrlParse(document: Document) = ""
} }

@ -38,7 +38,7 @@ class Perveden : ParsedHttpSource() {
override fun popularMangaNextPageSelector() = searchMangaNextPageSelector() override fun popularMangaNextPageSelector() = searchMangaNextPageSelector()
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val url = HttpUrl.parse("$baseUrl/en/en-directory/").newBuilder().addQueryParameter("title", query) val url = HttpUrl.parse("$baseUrl/en/en-directory/")?.newBuilder()!!.addQueryParameter("title", query)
(if (filters.isEmpty()) getFilterList() else filters).forEach { filter -> (if (filters.isEmpty()) getFilterList() else filters).forEach { filter ->
when (filter) { when (filter) {
is StatusList -> filter.state is StatusList -> filter.state
@ -1329,4 +1329,4 @@ class Perveden : ParsedHttpSource() {
Pair("zero gravity", "5619c9b2719a16502106c0b2"), Pair("zero gravity", "5619c9b2719a16502106c0b2"),
Pair("zooey", "5875fb34719a16738b9f43ac") Pair("zooey", "5875fb34719a16738b9f43ac")
) )
} }

@ -116,7 +116,7 @@ class Readcomiconline : ParsedHttpSource() {
val pages = mutableListOf<Page>() val pages = mutableListOf<Page>()
//language=RegExp //language=RegExp
val p = Pattern.compile("""lstImages.push\("(.+?)"""") val p = Pattern.compile("""lstImages.push\("(.+?)"""")
val m = p.matcher(response.body().string()) val m = p.matcher(response.body()!!.string())
var i = 0 var i = 0
while (m.find()) { while (m.find()) {

@ -127,7 +127,7 @@ class ShoujoSense : ParsedHttpSource() {
override fun pageListRequest(chapter: SChapter) = POST(baseUrl + chapter.url, headers) override fun pageListRequest(chapter: SChapter) = POST(baseUrl + chapter.url, headers)
override fun pageListParse(response: Response): List<Page> { override fun pageListParse(response: Response): List<Page> {
val body = response.body().string() val body = response.body()!!.string()
val pages = mutableListOf<Page>() val pages = mutableListOf<Page>()
val p = pagesUrlPattern val p = pagesUrlPattern
@ -148,4 +148,4 @@ class ShoujoSense : ParsedHttpSource() {
override fun imageUrlRequest(page: Page) = GET(page.url) override fun imageUrlRequest(page: Page) = GET(page.url)
override fun imageUrlParse(document: Document) = "" override fun imageUrlParse(document: Document) = ""
} }

@ -78,8 +78,7 @@ class Webtoons : ParsedHttpSource() {
override fun latestUpdatesNextPageSelector() = null override fun latestUpdatesNextPageSelector() = null
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val url = HttpUrl.parse("$baseUrl/search?keyword=$query").newBuilder() val url = HttpUrl.parse("$baseUrl/search?keyword=$query")?.newBuilder()!!
url.addQueryParameter("searchType", "WEBTOON") url.addQueryParameter("searchType", "WEBTOON")
return GET(url.toString(), headers) return GET(url.toString(), headers)
} }
@ -157,4 +156,4 @@ class Webtoons : ParsedHttpSource() {
override fun pageListParse(document: Document) = document.select("div#_imageList > img").mapIndexed { i, element -> Page(i, "", element.attr("data-url")) } override fun pageListParse(document: Document) = document.select("div#_imageList > img").mapIndexed { i, element -> Page(i, "", element.attr("data-url")) }
override fun imageUrlParse(document: Document) = document.select("img").first().attr("src") override fun imageUrlParse(document: Document) = document.select("img").first().attr("src")
} }

@ -160,7 +160,7 @@ class HentaiFantasy : ParsedHttpSource() {
override fun pageListRequest(chapter: SChapter) = POST(baseUrl + chapter.url, headers) override fun pageListRequest(chapter: SChapter) = POST(baseUrl + chapter.url, headers)
override fun pageListParse(response: Response): List<Page> { override fun pageListParse(response: Response): List<Page> {
val body = response.body().string() val body = response.body()!!.string()
val pages = mutableListOf<Page>() val pages = mutableListOf<Page>()
val p = pagesUrlPattern val p = pagesUrlPattern
@ -239,4 +239,4 @@ class HentaiFantasy : ParsedHttpSource() {
Tag("Yaoi", 22), Tag("Yaoi", 22),
Tag("Yuri", 14) Tag("Yuri", 14)
) )
} }

@ -38,7 +38,7 @@ class Mangaeden : ParsedHttpSource() {
override fun popularMangaNextPageSelector() = searchMangaNextPageSelector() override fun popularMangaNextPageSelector() = searchMangaNextPageSelector()
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val url = HttpUrl.parse("$baseUrl/it/it-directory/").newBuilder().addQueryParameter("title", query) val url = HttpUrl.parse("$baseUrl/it/it-directory/")?.newBuilder()!!.addQueryParameter("title", query)
(if (filters.isEmpty()) getFilterList() else filters).forEach { filter -> (if (filters.isEmpty()) getFilterList() else filters).forEach { filter ->
when (filter) { when (filter) {
is StatusList -> filter.state is StatusList -> filter.state
@ -201,4 +201,4 @@ class Mangaeden : ParsedHttpSource() {
Genre("Yaoi", "4e70ea8cc092255ef70073de"), Genre("Yaoi", "4e70ea8cc092255ef70073de"),
Genre("Yuri", "4e70ea9ac092255ef70075d1") Genre("Yuri", "4e70ea9ac092255ef70075d1")
) )
} }

@ -38,7 +38,7 @@ class Perveden : ParsedHttpSource() {
override fun popularMangaNextPageSelector() = searchMangaNextPageSelector() override fun popularMangaNextPageSelector() = searchMangaNextPageSelector()
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val url = HttpUrl.parse("$baseUrl/it/it-directory/").newBuilder().addQueryParameter("title", query) val url = HttpUrl.parse("$baseUrl/it/it-directory/")?.newBuilder()!!.addQueryParameter("title", query)
(if (filters.isEmpty()) getFilterList() else filters).forEach { filter -> (if (filters.isEmpty()) getFilterList() else filters).forEach { filter ->
when (filter) { when (filter) {
is StatusList -> filter.state is StatusList -> filter.state
@ -397,4 +397,4 @@ class Perveden : ParsedHttpSource() {
Pair("yandere", "577e7295719a168ef96a79e7"), Pair("yandere", "577e7295719a168ef96a79e7"),
Pair("yuri", "577e6f90719a168e7d256a4c") Pair("yuri", "577e6f90719a168e7d256a4c")
) )
} }

@ -126,7 +126,7 @@ class UnionMangas : ParsedHttpSource() {
} }
private fun removeLabel(text: String?): String { private fun removeLabel(text: String?): String {
return text!!.substring(text!!.indexOf(":") + 1) return text!!.substring(text.indexOf(":") + 1)
} }
override fun chapterListSelector() = "div.row.lancamento-linha" override fun chapterListSelector() = "div.row.lancamento-linha"

@ -39,7 +39,7 @@ class Truyentranhlh : HttpSource() {
popularMangaFromElement(element) popularMangaFromElement(element)
} }
val hasNextPage = popularMangaNextPageSelector()?.let { selector -> val hasNextPage = popularMangaNextPageSelector().let { selector ->
document.select(selector).first() document.select(selector).first()
} != null } != null
@ -58,7 +58,7 @@ class Truyentranhlh : HttpSource() {
latestUpdatesFromElement(element) latestUpdatesFromElement(element)
} }
val hasNextPage = latestUpdatesNextPageSelector()?.let { selector -> val hasNextPage = latestUpdatesNextPageSelector().let { selector ->
document.select(selector).first() document.select(selector).first()
} != null } != null
@ -188,4 +188,4 @@ class Truyentranhlh : HttpSource() {
override fun imageUrlParse(response: Response): String { override fun imageUrlParse(response: Response): String {
return "" return ""
} }
} }