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'
|
||||
pkgNameSuffix = 'all.myreadingmanga'
|
||||
extClass = '.MyReadingMangaFactory'
|
||||
extVersionCode = 29
|
||||
extVersionCode = 30
|
||||
libVersion = '1.2'
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,6 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import rx.Observable
|
||||
import java.io.IOException
|
||||
import java.net.URLEncoder
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
@ -253,20 +252,22 @@ open class MyReadingManga(override val lang: String) : ParsedHttpSource() {
|
||||
|
||||
|
||||
//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 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 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"))
|
||||
private val cattagarray = filterdoc?.select(".level-0")?.map { Pair(it.attr("value"), it.text())}?.toTypedArray() ?: arrayOf(Pair("","Error getting filters, try restarting app"))
|
||||
|
||||
private val getFilter:Document? = try { network.client.newCall(GET(baseUrl, headers)).execute().asJsoup() } catch (e: IOException) {null}
|
||||
private fun returnFilter (css: String, attributekey: String): Array<Pair<String, String>> = if (getFilter?.select(".cf-browser-verification").isNullOrEmpty()) {
|
||||
getFilter?.select(css)?.map { Pair(it.attr(attributekey).substringBeforeLast("/").substringAfterLast("/"), it.text()) }?.toTypedArray() ?: arrayOf(Pair("","Error getting filters"))
|
||||
} else {
|
||||
arrayOf(Pair("","Open 'Latest' and force restart app"))
|
||||
}
|
||||
|
||||
//Generates the filter lists for app
|
||||
override fun getFilterList(): FilterList {
|
||||
val filterList = FilterList(
|
||||
//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("Only one filter can be used at a time."),
|
||||
GenreFilter(genresarray),
|
||||
TagFilter(poptagarray),
|
||||
CatFilter(cattagarray)
|
||||
GenreFilter(returnFilter(".tagcloud a[href*=/genre/]", "href")),
|
||||
TagFilter(returnFilter(".tagcloud a[href*=/tag/]","href")),
|
||||
CatFilter(returnFilter(".level-0", "value"))
|
||||
)
|
||||
return filterList
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user