2017-05-05 05:38:17 +02:00
|
|
|
package exh
|
|
|
|
|
|
2019-04-22 06:34:43 +02:00
|
|
|
import eu.kanade.tachiyomi.source.Source
|
2019-04-06 13:35:36 +02:00
|
|
|
import eu.kanade.tachiyomi.source.SourceManager
|
2020-08-11 05:29:10 +02:00
|
|
|
import eu.kanade.tachiyomi.source.online.all.Hitomi
|
2020-08-12 06:19:51 +02:00
|
|
|
import eu.kanade.tachiyomi.source.online.all.NHentai
|
2020-08-11 22:58:50 +02:00
|
|
|
import eu.kanade.tachiyomi.source.online.all.PervEden
|
2020-08-11 03:15:08 +02:00
|
|
|
import eu.kanade.tachiyomi.source.online.english.EightMuses
|
2020-08-02 06:50:52 +02:00
|
|
|
import eu.kanade.tachiyomi.source.online.english.HBrowse
|
2019-04-06 14:16:48 +02:00
|
|
|
import eu.kanade.tachiyomi.source.online.english.HentaiCafe
|
2019-08-08 19:31:47 +02:00
|
|
|
import eu.kanade.tachiyomi.source.online.english.Pururin
|
2020-02-22 11:12:30 +01:00
|
|
|
import eu.kanade.tachiyomi.source.online.english.Tsumino
|
2019-04-06 13:35:36 +02:00
|
|
|
|
2017-05-05 05:38:17 +02:00
|
|
|
/**
|
|
|
|
|
* Source helpers
|
|
|
|
|
*/
|
|
|
|
|
|
2019-04-12 09:12:16 +02:00
|
|
|
// Lewd source IDs
|
2018-03-13 20:21:31 +01:00
|
|
|
const val LEWD_SOURCE_SERIES = 6900L
|
|
|
|
|
const val EH_SOURCE_ID = LEWD_SOURCE_SERIES + 1
|
|
|
|
|
const val EXH_SOURCE_ID = LEWD_SOURCE_SERIES + 2
|
2020-08-11 22:58:50 +02:00
|
|
|
const val PERV_EDEN_EN_SOURCE_ID = 4673633799850248749
|
|
|
|
|
const val PERV_EDEN_IT_SOURCE_ID = 1433898225963724122
|
|
|
|
|
const val HENTAI_CAFE_SOURCE_ID = 260868874183818481
|
|
|
|
|
const val PURURIN_SOURCE_ID = 2221515250486218861
|
|
|
|
|
const val TSUMINO_SOURCE_ID = 6707338697138388238
|
|
|
|
|
const val EIGHTMUSES_SOURCE_ID = 1802675169972965535
|
|
|
|
|
const val HBROWSE_SOURCE_ID = 1401584337232758222
|
2019-07-30 07:41:30 +02:00
|
|
|
const val MERGED_SOURCE_ID = LEWD_SOURCE_SERIES + 69
|
2017-12-08 04:25:27 +01:00
|
|
|
|
2019-04-12 09:12:16 +02:00
|
|
|
private val DELEGATED_LEWD_SOURCES = listOf(
|
2020-05-02 06:46:24 +02:00
|
|
|
HentaiCafe::class,
|
|
|
|
|
Pururin::class,
|
2020-08-02 06:50:52 +02:00
|
|
|
Tsumino::class,
|
2020-08-11 03:15:08 +02:00
|
|
|
HBrowse::class,
|
2020-08-11 05:29:10 +02:00
|
|
|
EightMuses::class,
|
2020-08-11 22:58:50 +02:00
|
|
|
Hitomi::class,
|
2020-08-12 06:19:51 +02:00
|
|
|
PervEden::class,
|
|
|
|
|
NHentai::class
|
2019-04-12 09:12:16 +02:00
|
|
|
)
|
2017-05-05 05:38:17 +02:00
|
|
|
|
2020-08-11 05:29:10 +02:00
|
|
|
private val hitomiClass = listOf(Hitomi::class)
|
2020-08-12 06:19:51 +02:00
|
|
|
private val nHentaiClass = listOf(NHentai::class)
|
2019-08-08 19:49:27 +02:00
|
|
|
|
2019-04-12 12:50:24 +02:00
|
|
|
// Used to speed up isLewdSource
|
2020-08-12 20:20:32 +02:00
|
|
|
val lewdDelegatedSourceIds by lazy {
|
|
|
|
|
SourceManager.currentDelegatedSources.filter {
|
|
|
|
|
it.value.newSourceClass in DELEGATED_LEWD_SOURCES
|
|
|
|
|
}.map { it.value.sourceId }.sorted()
|
|
|
|
|
}
|
2020-08-11 05:29:10 +02:00
|
|
|
|
2020-08-12 20:20:32 +02:00
|
|
|
val hitomiSourceIds by lazy {
|
|
|
|
|
SourceManager.currentDelegatedSources.filter {
|
|
|
|
|
it.value.newSourceClass in hitomiClass
|
|
|
|
|
}.map { it.value.sourceId }.sorted()
|
|
|
|
|
}
|
2019-04-12 12:50:24 +02:00
|
|
|
|
2020-08-12 20:20:32 +02:00
|
|
|
val nHentaiSourceIds by lazy {
|
|
|
|
|
SourceManager.currentDelegatedSources.filter {
|
|
|
|
|
it.value.newSourceClass in nHentaiClass
|
|
|
|
|
}.map { it.value.sourceId }.sorted()
|
|
|
|
|
}
|
2020-08-12 06:19:51 +02:00
|
|
|
|
2019-04-12 12:50:24 +02:00
|
|
|
// This method MUST be fast!
|
2020-04-04 22:30:05 +02:00
|
|
|
fun isLewdSource(source: Long) = source in 6900..6999 ||
|
2020-05-02 06:46:24 +02:00
|
|
|
lewdDelegatedSourceIds.binarySearch(source) >= 0
|
2019-04-22 06:34:43 +02:00
|
|
|
|
2020-08-12 20:20:32 +02:00
|
|
|
val LIBRARY_UPDATE_EXCLUDED_SOURCES by lazy {
|
|
|
|
|
listOf(
|
|
|
|
|
EH_SOURCE_ID,
|
|
|
|
|
EXH_SOURCE_ID,
|
|
|
|
|
HENTAI_CAFE_SOURCE_ID,
|
|
|
|
|
TSUMINO_SOURCE_ID,
|
|
|
|
|
PURURIN_SOURCE_ID,
|
|
|
|
|
*hitomiSourceIds.toTypedArray(),
|
|
|
|
|
*nHentaiSourceIds.toTypedArray()
|
|
|
|
|
)
|
|
|
|
|
}
|
2020-08-11 05:29:10 +02:00
|
|
|
|
2019-04-22 06:34:43 +02:00
|
|
|
fun Source.isEhBasedSource() = id == EH_SOURCE_ID || id == EXH_SOURCE_ID
|
2020-07-17 04:34:50 +02:00
|
|
|
|
2020-08-12 06:19:51 +02:00
|
|
|
fun Source.isNamespaceSource() = id == EH_SOURCE_ID || id == EXH_SOURCE_ID || id in nHentaiSourceIds || id in hitomiSourceIds || id == PURURIN_SOURCE_ID || id == TSUMINO_SOURCE_ID || id == EIGHTMUSES_SOURCE_ID || id == HBROWSE_SOURCE_ID
|