Delegate Perv Eden, to continue using it download the extensions(there is a English extension and a Italian extension)

This commit is contained in:
Jobobby04
2020-08-11 16:58:50 -04:00
parent 51d0a67908
commit 5a1bc6e25b
10 changed files with 98 additions and 337 deletions
+10 -14
View File
@@ -3,6 +3,7 @@ package exh
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.SourceManager
import eu.kanade.tachiyomi.source.online.all.Hitomi
import eu.kanade.tachiyomi.source.online.all.PervEden
import eu.kanade.tachiyomi.source.online.english.EightMuses
import eu.kanade.tachiyomi.source.online.english.HBrowse
import eu.kanade.tachiyomi.source.online.english.HentaiCafe
@@ -17,14 +18,14 @@ import eu.kanade.tachiyomi.source.online.english.Tsumino
const val LEWD_SOURCE_SERIES = 6900L
const val EH_SOURCE_ID = LEWD_SOURCE_SERIES + 1
const val EXH_SOURCE_ID = LEWD_SOURCE_SERIES + 2
const val PERV_EDEN_EN_SOURCE_ID = LEWD_SOURCE_SERIES + 5
const val PERV_EDEN_IT_SOURCE_ID = LEWD_SOURCE_SERIES + 6
const val PERV_EDEN_EN_SOURCE_ID = 4673633799850248749
const val PERV_EDEN_IT_SOURCE_ID = 1433898225963724122
const val NHENTAI_SOURCE_ID = LEWD_SOURCE_SERIES + 7
val HENTAI_CAFE_SOURCE_ID = delegatedSourceId<HentaiCafe>()
val PURURIN_SOURCE_ID = delegatedSourceId<Pururin>()
val TSUMINO_SOURCE_ID = delegatedSourceId<Tsumino>()
val EIGHTMUSES_SOURCE_ID = delegatedSourceId<EightMuses>()
val HBROWSE_SOURCE_ID = delegatedSourceId<HBrowse>()
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
const val MERGED_SOURCE_ID = LEWD_SOURCE_SERIES + 69
private val DELEGATED_LEWD_SOURCES = listOf(
@@ -33,17 +34,12 @@ private val DELEGATED_LEWD_SOURCES = listOf(
Tsumino::class,
HBrowse::class,
EightMuses::class,
Hitomi::class
Hitomi::class,
PervEden::class
)
private val hitomiClass = listOf(Hitomi::class)
private inline fun <reified T> delegatedSourceId(): Long? {
return SourceManager.DELEGATED_SOURCES.entries.find {
it.value.newSourceClass == T::class
}?.value?.sourceId
}
// Used to speed up isLewdSource
val lewdDelegatedSourceIds = SourceManager.currentDelegatedSources.filter {
it.value.newSourceClass in DELEGATED_LEWD_SOURCES
+43 -14
View File
@@ -50,7 +50,6 @@ object EXHMigrations {
}
if (oldVersion < 4) {
db.inTransaction {
// Migrate Tsumino source IDs
db.lowLevel().executeSQL(
RawQuery.builder()
.query(
@@ -103,6 +102,34 @@ object EXHMigrations {
)
}
}
if (oldVersion < 6) {
db.inTransaction {
db.lowLevel().executeSQL(
RawQuery.builder()
.query(
"""
UPDATE ${MangaTable.TABLE}
SET ${MangaTable.COL_SOURCE} = $PERV_EDEN_EN_SOURCE_ID
WHERE ${MangaTable.COL_SOURCE} = 6905
""".trimIndent()
)
.affectsTables(MangaTable.TABLE)
.build()
)
db.lowLevel().executeSQL(
RawQuery.builder()
.query(
"""
UPDATE ${MangaTable.TABLE}
SET ${MangaTable.COL_SOURCE} = $PERV_EDEN_IT_SOURCE_ID
WHERE ${MangaTable.COL_SOURCE} = 6906
""".trimIndent()
)
.affectsTables(MangaTable.TABLE)
.build()
)
}
}
// if (oldVersion < 1) { }
// do stuff here when releasing changed crap
@@ -120,18 +147,30 @@ object EXHMigrations {
}
fun migrateBackupEntry(manga: MangaImpl): MangaImpl {
if (manga.source == 6905L) {
manga.source = PERV_EDEN_EN_SOURCE_ID
}
if (manga.source == 6906L) {
manga.source = PERV_EDEN_IT_SOURCE_ID
}
// Migrate HentaiCafe source IDs
if (manga.source == 6908L) {
manga.source = HENTAI_CAFE_SOURCE_ID!!
manga.source = HENTAI_CAFE_SOURCE_ID
}
// Migrate Tsumino source IDs
if (manga.source == 6909L) {
manga.source = TSUMINO_SOURCE_ID!!
manga.source = TSUMINO_SOURCE_ID
}
if (manga.source == 6910L) {
manga.source = Hitomi.otherId
}
if (manga.source == 6912L) {
manga.source = HBROWSE_SOURCE_ID!!
manga.source = HBROWSE_SOURCE_ID
}
// Migrate nhentai URLs
@@ -144,16 +183,6 @@ object EXHMigrations {
manga.source = NHENTAI_SOURCE_ID
}
// Allow importing of English PervEden extension backups
if (manga.source in BlacklistedSources.PERVEDEN_EN_EXT_SOURCES) {
manga.source = PERV_EDEN_EN_SOURCE_ID
}
// Allow importing of Italian PervEden extension backups
if (manga.source in BlacklistedSources.PERVEDEN_IT_EXT_SOURCES) {
manga.source = PERV_EDEN_IT_SOURCE_ID
}
// Allow importing of EHentai extension backups
if (manga.source in BlacklistedSources.EHENTAI_EXT_SOURCES) {
manga.source = EH_SOURCE_ID
@@ -4,8 +4,6 @@ import android.content.Context
import android.net.Uri
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.source.model.SManga
import exh.PERV_EDEN_EN_SOURCE_ID
import exh.PERV_EDEN_IT_SOURCE_ID
import exh.metadata.metadata.base.RaisedSearchMetadata
import exh.metadata.metadata.base.RaisedTitle
@@ -122,18 +120,6 @@ class PervEdenSearchMetadata : RaisedSearchMetadata() {
Uri.parse(it).pathSegments.filterNot(String::isNullOrBlank)
}
fun pvIdFromUrl(url: String) = splitGalleryUrl(url).last()
}
}
enum class PervEdenLang(val id: Long) {
// DO NOT RENAME THESE TO CAPITAL LETTERS! The enum names are used to build URLs
en(PERV_EDEN_EN_SOURCE_ID),
it(PERV_EDEN_IT_SOURCE_ID);
companion object {
fun source(id: Long) =
values().find { it.id == id }
?: throw IllegalArgumentException("Unknown source ID: $id!")
fun pvIdFromUrl(url: String): String = splitGalleryUrl(url).last()
}
}
@@ -8,8 +8,6 @@ object BlacklistedSources {
4726175775739752699,
2203215402871965477
)
val PERVEDEN_EN_EXT_SOURCES = listOf(4673633799850248749)
val PERVEDEN_IT_EXT_SOURCES = listOf(1433898225963724122)
val EHENTAI_EXT_SOURCES = listOf(
8100626124886895451,
57122881048805941,
@@ -31,15 +29,11 @@ object BlacklistedSources {
)
val BLACKLISTED_EXT_SOURCES = NHENTAI_EXT_SOURCES +
PERVEDEN_EN_EXT_SOURCES +
PERVEDEN_IT_EXT_SOURCES +
EHENTAI_EXT_SOURCES
val BLACKLISTED_EXTENSIONS = listOf(
"eu.kanade.tachiyomi.extension.all.ehentai",
"eu.kanade.tachiyomi.extension.all.nhentai",
"eu.kanade.tachiyomi.extension.en.perveden",
"eu.kanade.tachiyomi.extension.it.perveden"
"eu.kanade.tachiyomi.extension.all.nhentai"
)
var HIDDEN_SOURCES = listOf(