Lunar Scans: remove redundant overrides (#8649)
Removes `ts_reader.run(...)` logic, might fit better in parent class. Search now allows special characters otherwise not encoded.
This commit is contained in:
parent
c9d562c63a
commit
0bf5c08f50
@ -3,7 +3,7 @@ ext {
|
|||||||
extClass = '.LunarScans'
|
extClass = '.LunarScans'
|
||||||
themePkg = 'mangathemesia'
|
themePkg = 'mangathemesia'
|
||||||
baseUrl = 'https://lunarscan.org'
|
baseUrl = 'https://lunarscan.org'
|
||||||
overrideVersionCode = 3
|
overrideVersionCode = 4
|
||||||
isNsfw = true
|
isNsfw = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,17 +6,11 @@ import eu.kanade.tachiyomi.lib.randomua.getPrefCustomUA
|
|||||||
import eu.kanade.tachiyomi.lib.randomua.getPrefUAType
|
import eu.kanade.tachiyomi.lib.randomua.getPrefUAType
|
||||||
import eu.kanade.tachiyomi.lib.randomua.setRandomUserAgent
|
import eu.kanade.tachiyomi.lib.randomua.setRandomUserAgent
|
||||||
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
|
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
|
||||||
import eu.kanade.tachiyomi.network.GET
|
|
||||||
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
||||||
import eu.kanade.tachiyomi.source.ConfigurableSource
|
import eu.kanade.tachiyomi.source.ConfigurableSource
|
||||||
import eu.kanade.tachiyomi.source.model.Filter
|
import eu.kanade.tachiyomi.source.model.Filter
|
||||||
import eu.kanade.tachiyomi.source.model.FilterList
|
import eu.kanade.tachiyomi.source.model.FilterList
|
||||||
import eu.kanade.tachiyomi.source.model.Page
|
|
||||||
import keiyoushi.utils.getPreferences
|
import keiyoushi.utils.getPreferences
|
||||||
import kotlinx.serialization.Serializable
|
|
||||||
import kotlinx.serialization.decodeFromString
|
|
||||||
import okhttp3.Request
|
|
||||||
import org.jsoup.nodes.Document
|
|
||||||
|
|
||||||
class LunarScans :
|
class LunarScans :
|
||||||
MangaThemesia(
|
MangaThemesia(
|
||||||
@ -37,14 +31,6 @@ class LunarScans :
|
|||||||
.rateLimit(1)
|
.rateLimit(1)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
|
||||||
return if (query.isEmpty()) {
|
|
||||||
super.searchMangaRequest(page, query, filters)
|
|
||||||
} else {
|
|
||||||
GET("$baseUrl/?s=$query&page=$page", headers)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getFilterList(): FilterList {
|
override fun getFilterList(): FilterList {
|
||||||
val filters = mutableListOf<Filter<*>>(
|
val filters = mutableListOf<Filter<*>>(
|
||||||
Filter.Header("Note: Can't be used with text search!"),
|
Filter.Header("Note: Can't be used with text search!"),
|
||||||
@ -78,27 +64,7 @@ class LunarScans :
|
|||||||
return FilterList(filters)
|
return FilterList(filters)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun pageListParse(document: Document): List<Page> {
|
|
||||||
val scriptContent = document.selectFirst("script:containsData(ts_reader)")?.data()
|
|
||||||
?: return super.pageListParse(document)
|
|
||||||
val jsonString = scriptContent.substringAfter("ts_reader.run(").substringBefore(");")
|
|
||||||
val tsReader = json.decodeFromString<TSReader>(jsonString)
|
|
||||||
val imageUrls = tsReader.sources.firstOrNull()?.images ?: return emptyList()
|
|
||||||
return imageUrls.mapIndexed { index, imageUrl -> Page(index, document.location(), imageUrl) }
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setupPreferenceScreen(screen: PreferenceScreen) {
|
override fun setupPreferenceScreen(screen: PreferenceScreen) {
|
||||||
addRandomUAPreferenceToScreen(screen)
|
addRandomUAPreferenceToScreen(screen)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Serializable
|
|
||||||
data class TSReader(
|
|
||||||
val sources: List<ReaderImageSource>,
|
|
||||||
)
|
|
||||||
|
|
||||||
@Serializable
|
|
||||||
data class ReaderImageSource(
|
|
||||||
val source: String,
|
|
||||||
val images: List<String>,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user