MRM - Filter Update (#1953)
* Update build.gradle * Update Filter Code * Fix Catagory Filter
This commit is contained in:
parent
d553b51988
commit
db37dab7e3
@ -5,7 +5,7 @@ ext {
|
|||||||
appName = 'Tachiyomi: MyReadingManga'
|
appName = 'Tachiyomi: MyReadingManga'
|
||||||
pkgNameSuffix = 'all.myreadingmanga'
|
pkgNameSuffix = 'all.myreadingmanga'
|
||||||
extClass = '.MyReadingMangaFactory'
|
extClass = '.MyReadingMangaFactory'
|
||||||
extVersionCode = 29
|
extVersionCode = 30
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@ import org.jsoup.nodes.Document
|
|||||||
import org.jsoup.nodes.Element
|
import org.jsoup.nodes.Element
|
||||||
import rx.Observable
|
import rx.Observable
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.net.URLEncoder
|
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
@ -253,10 +252,12 @@ open class MyReadingManga(override val lang: String) : ParsedHttpSource() {
|
|||||||
|
|
||||||
|
|
||||||
//Filter Parsing, grabs home page as document and filters out Genres, Popular Tags, and Catagorys
|
//Filter Parsing, grabs home page as document and filters out Genres, Popular Tags, and Catagorys
|
||||||
private val filterdoc:Document? = try { OkHttpClient().newCall(GET("$baseUrl", headers)).execute().asJsoup() } catch (e: IOException) {null}
|
private val getFilter:Document? = try { network.client.newCall(GET(baseUrl, headers)).execute().asJsoup() } catch (e: IOException) {null}
|
||||||
private val genresarray = filterdoc?.select(".tagcloud a[href*=/genre/]")?.map { Pair(it.attr("href").substringBeforeLast("/").substringAfterLast("/"), it.text())}?.toTypedArray() ?: arrayOf(Pair("","Error getting filters, try restarting app"))
|
private fun returnFilter (css: String, attributekey: String): Array<Pair<String, String>> = if (getFilter?.select(".cf-browser-verification").isNullOrEmpty()) {
|
||||||
private val poptagarray = filterdoc?.select(".tagcloud a[href*=/tag/]")?.map { Pair(it.attr("href").substringBeforeLast("/").substringAfterLast("/"), it.text())}?.toTypedArray() ?: arrayOf(Pair("","Error getting filters, try restarting app"))
|
getFilter?.select(css)?.map { Pair(it.attr(attributekey).substringBeforeLast("/").substringAfterLast("/"), it.text()) }?.toTypedArray() ?: arrayOf(Pair("","Error getting filters"))
|
||||||
private val cattagarray = filterdoc?.select(".level-0")?.map { Pair(it.attr("value"), it.text())}?.toTypedArray() ?: arrayOf(Pair("","Error getting filters, try restarting app"))
|
} else {
|
||||||
|
arrayOf(Pair("","Open 'Latest' and force restart app"))
|
||||||
|
}
|
||||||
|
|
||||||
//Generates the filter lists for app
|
//Generates the filter lists for app
|
||||||
override fun getFilterList(): FilterList {
|
override fun getFilterList(): FilterList {
|
||||||
@ -264,9 +265,9 @@ open class MyReadingManga(override val lang: String) : ParsedHttpSource() {
|
|||||||
//MRM does not support genre filtering and text search at the same time
|
//MRM does not support genre filtering and text search at the same time
|
||||||
Filter.Header("NOTE: Filters are ignored if using text search."),
|
Filter.Header("NOTE: Filters are ignored if using text search."),
|
||||||
Filter.Header("Only one filter can be used at a time."),
|
Filter.Header("Only one filter can be used at a time."),
|
||||||
GenreFilter(genresarray),
|
GenreFilter(returnFilter(".tagcloud a[href*=/genre/]", "href")),
|
||||||
TagFilter(poptagarray),
|
TagFilter(returnFilter(".tagcloud a[href*=/tag/]","href")),
|
||||||
CatFilter(cattagarray)
|
CatFilter(returnFilter(".level-0", "value"))
|
||||||
)
|
)
|
||||||
return filterList
|
return filterList
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user