After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 8.6 KiB |
@ -0,0 +1,96 @@
|
|||||||
|
package eu.kanade.tachiyomi.extension.ja.idolgravureprincessdate
|
||||||
|
|
||||||
|
import eu.kanade.tachiyomi.multisrc.gravureblogger.GravureBlogger
|
||||||
|
|
||||||
|
class IdolGravureprincessDate : GravureBlogger(
|
||||||
|
"Idol. gravureprincess .date",
|
||||||
|
"https://idol.gravureprincess.date",
|
||||||
|
"ja",
|
||||||
|
) {
|
||||||
|
override val labelFilters = buildMap {
|
||||||
|
put("Idol", getIdols())
|
||||||
|
put("Magazines", getMagazine())
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getIdols() = listOf(
|
||||||
|
"Nogizaka46",
|
||||||
|
"AKB48",
|
||||||
|
"NMB48",
|
||||||
|
"Keyakizaka46",
|
||||||
|
"HKT48",
|
||||||
|
"SKE48",
|
||||||
|
"NGT48",
|
||||||
|
"SUPER☆GiRLS",
|
||||||
|
"Morning Musume",
|
||||||
|
"Dempagumi.inc",
|
||||||
|
"Angerme",
|
||||||
|
"Juice=Juice",
|
||||||
|
"NijiCon-虹コン",
|
||||||
|
"Houkago Princess",
|
||||||
|
"Magical Punchline",
|
||||||
|
"Idoling!!!",
|
||||||
|
"Rev. from DVL",
|
||||||
|
"Link STAR`s",
|
||||||
|
"LADYBABY",
|
||||||
|
"℃-ute",
|
||||||
|
"Country Girls",
|
||||||
|
"Up Up Girls (Kakko Kari)",
|
||||||
|
"Yumemiru Adolescence",
|
||||||
|
"Shiritsu Ebisu Chugaku",
|
||||||
|
"Tenkoushoujo Kagekidan",
|
||||||
|
"Drop",
|
||||||
|
"Steam Girls",
|
||||||
|
"Kamen Joshi's",
|
||||||
|
"LinQ",
|
||||||
|
"Doll☆Element",
|
||||||
|
"TrySail",
|
||||||
|
"Akihabara Backstage Pass",
|
||||||
|
"Palet",
|
||||||
|
"Passport☆",
|
||||||
|
"Ange☆Reve",
|
||||||
|
"BiSH",
|
||||||
|
"Ciao Bella Cinquetti",
|
||||||
|
"Gekidanherbest",
|
||||||
|
"Haraeki Stage Ace",
|
||||||
|
"Ru:Run",
|
||||||
|
"SDN48",
|
||||||
|
)
|
||||||
|
|
||||||
|
private fun getMagazine() = listOf(
|
||||||
|
"FLASH",
|
||||||
|
"Weekly Playboy",
|
||||||
|
"FRIDAY Magazine",
|
||||||
|
"Young Jump",
|
||||||
|
"Young Magazine",
|
||||||
|
"BLT",
|
||||||
|
"ENTAME",
|
||||||
|
"EX-Taishu",
|
||||||
|
"SPA! Magazine",
|
||||||
|
"Young Gangan",
|
||||||
|
"UTB",
|
||||||
|
"Young Animal",
|
||||||
|
"Young Champion",
|
||||||
|
"Big Comic Spirtis",
|
||||||
|
"Shonen Magazine",
|
||||||
|
"BUBKA",
|
||||||
|
"BOMB",
|
||||||
|
"Shonen Champion",
|
||||||
|
"Manga Action",
|
||||||
|
"Weekly Shonen Sunday",
|
||||||
|
"Photobooks",
|
||||||
|
"BRODY",
|
||||||
|
"Hustle Press",
|
||||||
|
"ANAN Magazine",
|
||||||
|
"SMART Magazine",
|
||||||
|
"Young Sunday",
|
||||||
|
"Gravure The Television",
|
||||||
|
"CD&DL My Girl",
|
||||||
|
"Daily LoGiRL",
|
||||||
|
"Shukan Taishu",
|
||||||
|
"Girls! Magazine",
|
||||||
|
"Soccer Game King",
|
||||||
|
"Weekly Georgia",
|
||||||
|
"Sunday Magazine",
|
||||||
|
"Mery Magazine",
|
||||||
|
)
|
||||||
|
}
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
@ -0,0 +1,62 @@
|
|||||||
|
package eu.kanade.tachiyomi.extension.ja.micmicidol
|
||||||
|
|
||||||
|
import eu.kanade.tachiyomi.multisrc.gravureblogger.GravureBlogger
|
||||||
|
|
||||||
|
class MicMicIdol : GravureBlogger("MIC MIC IDOL", "https://www.micmicidol.club", "ja") {
|
||||||
|
override val labelFilters = buildMap {
|
||||||
|
put("Type", getTypes())
|
||||||
|
put("Japan Magazine", getJapanMagazines())
|
||||||
|
put("Japan Fashion", getJapanFashion())
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getJapanMagazines() = listOf(
|
||||||
|
"cyzo",
|
||||||
|
"EnTame",
|
||||||
|
"EX大衆",
|
||||||
|
"Friday",
|
||||||
|
"Flash",
|
||||||
|
"Shonen Magazine",
|
||||||
|
"Shonen Sunday",
|
||||||
|
"Weekly Shonen Champion",
|
||||||
|
"Weekly Big Comic Spirits",
|
||||||
|
"Weekly Jitsuwa",
|
||||||
|
"Weekly Playboy",
|
||||||
|
"Weekly SPA!",
|
||||||
|
"Young Animal",
|
||||||
|
"Young Champion",
|
||||||
|
"Young Gangan",
|
||||||
|
"Young Jump",
|
||||||
|
"Young Magazine",
|
||||||
|
)
|
||||||
|
|
||||||
|
private fun getJapanFashion() = listOf(
|
||||||
|
"andGIRL",
|
||||||
|
"aR",
|
||||||
|
"Baila",
|
||||||
|
"Biteki",
|
||||||
|
"CanCam",
|
||||||
|
"Classy",
|
||||||
|
"ELLE Japan",
|
||||||
|
"Ginger",
|
||||||
|
"JJ",
|
||||||
|
"Maquia",
|
||||||
|
"Mina",
|
||||||
|
"MORE",
|
||||||
|
"Non-no",
|
||||||
|
"Oggi",
|
||||||
|
"Ray",
|
||||||
|
"Scawaii",
|
||||||
|
"Steady",
|
||||||
|
"ViVi",
|
||||||
|
"VoCE",
|
||||||
|
"With",
|
||||||
|
)
|
||||||
|
|
||||||
|
private fun getTypes() = listOf(
|
||||||
|
"- Cover",
|
||||||
|
"- Japan Magazine",
|
||||||
|
"- Japan Fashion Magazine",
|
||||||
|
"- Japan Idol Photobook",
|
||||||
|
"- Asia Idol",
|
||||||
|
)
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package eu.kanade.tachiyomi.extension.ja.micmicidol
|
package eu.kanade.tachiyomi.multisrc.gravureblogger
|
||||||
|
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
@ -1,5 +1,6 @@
|
|||||||
package eu.kanade.tachiyomi.extension.ja.micmicidol
|
package eu.kanade.tachiyomi.multisrc.gravureblogger
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import eu.kanade.tachiyomi.network.GET
|
import eu.kanade.tachiyomi.network.GET
|
||||||
import eu.kanade.tachiyomi.source.model.Filter
|
import eu.kanade.tachiyomi.source.model.Filter
|
||||||
@ -22,13 +23,12 @@ import uy.kohesive.injekt.injectLazy
|
|||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
class MicMicIdol : HttpSource() {
|
@SuppressLint("ObsoleteSdkInt")
|
||||||
|
abstract class GravureBlogger(
|
||||||
override val name = "MIC MIC IDOL"
|
override val name: String,
|
||||||
|
override val baseUrl: String,
|
||||||
override val baseUrl = "https://www.micmicidol.club"
|
override val lang: String,
|
||||||
|
) : HttpSource() {
|
||||||
override val lang = "ja"
|
|
||||||
|
|
||||||
override val supportsLatest = false
|
override val supportsLatest = false
|
||||||
|
|
||||||
@ -139,26 +139,29 @@ class MicMicIdol : HttpSource() {
|
|||||||
|
|
||||||
override fun imageUrlParse(response: Response) = throw UnsupportedOperationException()
|
override fun imageUrlParse(response: Response) = throw UnsupportedOperationException()
|
||||||
|
|
||||||
override fun getFilterList(): FilterList {
|
// filter name and list of values
|
||||||
val types = getTypes()
|
protected open val labelFilters = mapOf<String, List<String>>()
|
||||||
val japanMagazines = getJapanMagazines()
|
|
||||||
val japanFashion = getJapanFashion()
|
|
||||||
|
|
||||||
val filters = mutableListOf<Filter<*>>(
|
class LabelFilter(name: String, labels: List<Label>) : Filter.Group<Label>(name, labels)
|
||||||
LabelFilter("Type", types.map { Label(it) }),
|
|
||||||
LabelFilter("Japan Magazine", japanMagazines.map { Label(it) }),
|
class Label(name: String) : Filter.CheckBox(name)
|
||||||
LabelFilter("Japan Fashion", japanFashion.map { Label(it) }),
|
|
||||||
).apply {
|
override fun getFilterList(): FilterList {
|
||||||
if (categories.isEmpty()) {
|
val filters = mutableListOf<Filter<*>>()
|
||||||
add(0, Filter.Header("Press 'Reset' to show extra filters"))
|
|
||||||
add(1, Filter.Separator())
|
labelFilters.forEach { (name, filter) ->
|
||||||
return@apply
|
filters.add(LabelFilter(name, filter.map(::Label)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (categories.isEmpty()) {
|
||||||
|
filters.add(0, Filter.Header("Press 'Reset' to show extra filters"))
|
||||||
|
filters.add(1, Filter.Separator())
|
||||||
|
} else {
|
||||||
|
val existing = labelFilters.values.flatten()
|
||||||
val others = categories
|
val others = categories
|
||||||
.filterNot { types.contains(it) || japanMagazines.contains(it) || japanFashion.contains(it) }
|
.filterNot { existing.contains(it) }
|
||||||
|
|
||||||
add(LabelFilter("Other", others.map { Label(it) }))
|
filters.add(LabelFilter("Other", others.map(::Label)))
|
||||||
}
|
}
|
||||||
|
|
||||||
return FilterList(filters)
|
return FilterList(filters)
|
@ -0,0 +1,38 @@
|
|||||||
|
package eu.kanade.tachiyomi.multisrc.gravureblogger
|
||||||
|
|
||||||
|
import generator.ThemeSourceData.SingleLang
|
||||||
|
import generator.ThemeSourceGenerator
|
||||||
|
|
||||||
|
class GravureBloggerGenerator : ThemeSourceGenerator {
|
||||||
|
|
||||||
|
override val themePkg = "gravureblogger"
|
||||||
|
|
||||||
|
override val themeClass = "GravureBlogger"
|
||||||
|
|
||||||
|
override val baseVersionCode = 1
|
||||||
|
|
||||||
|
override val sources = listOf(
|
||||||
|
SingleLang(
|
||||||
|
name = "Idol. gravureprincess .date",
|
||||||
|
baseUrl = "https://idol.gravureprincess.date",
|
||||||
|
lang = "ja",
|
||||||
|
isNsfw = true,
|
||||||
|
className = "IdolGravureprincessDate",
|
||||||
|
),
|
||||||
|
SingleLang(
|
||||||
|
name = "MIC MIC IDOL",
|
||||||
|
baseUrl = "https://www.micmicidol.club",
|
||||||
|
lang = "ja",
|
||||||
|
isNsfw = true,
|
||||||
|
className = "MicMicIdol",
|
||||||
|
overrideVersionCode = 1,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
@JvmStatic
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
GravureBloggerGenerator().createAll()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,8 +0,0 @@
|
|||||||
ext {
|
|
||||||
extName = "MIC MIC IDOL"
|
|
||||||
extClass = ".MicMicIdol"
|
|
||||||
extVersionCode = 1
|
|
||||||
isNsfw = true
|
|
||||||
}
|
|
||||||
|
|
||||||
apply from: "$rootDir/common.gradle"
|
|
@ -1,59 +0,0 @@
|
|||||||
package eu.kanade.tachiyomi.extension.ja.micmicidol
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.source.model.Filter
|
|
||||||
|
|
||||||
class LabelFilter(name: String, labels: List<Label>) : Filter.Group<Label>(name, labels)
|
|
||||||
|
|
||||||
class Label(name: String) : Filter.CheckBox(name)
|
|
||||||
|
|
||||||
// copy([...$0.querySelectorAll("li a[href]")].filter(e => e.getAttribute("href") != "#").map((e) => `"${decodeURIComponent(e.getAttribute("href").replace("/search/label/", "").replace("?max-results=50", ""))}",`).join("\n"))
|
|
||||||
fun getJapanMagazines() = listOf(
|
|
||||||
"cyzo",
|
|
||||||
"EnTame",
|
|
||||||
"EX大衆",
|
|
||||||
"Friday",
|
|
||||||
"Flash",
|
|
||||||
"Shonen Magazine",
|
|
||||||
"Shonen Sunday",
|
|
||||||
"Weekly Shonen Champion",
|
|
||||||
"Weekly Big Comic Spirits",
|
|
||||||
"Weekly Jitsuwa",
|
|
||||||
"Weekly Playboy",
|
|
||||||
"Weekly SPA!",
|
|
||||||
"Young Animal",
|
|
||||||
"Young Champion",
|
|
||||||
"Young Gangan",
|
|
||||||
"Young Jump",
|
|
||||||
"Young Magazine",
|
|
||||||
)
|
|
||||||
|
|
||||||
fun getJapanFashion() = listOf(
|
|
||||||
"andGIRL",
|
|
||||||
"aR",
|
|
||||||
"Baila",
|
|
||||||
"Biteki",
|
|
||||||
"CanCam",
|
|
||||||
"Classy",
|
|
||||||
"ELLE Japan",
|
|
||||||
"Ginger",
|
|
||||||
"JJ",
|
|
||||||
"Maquia",
|
|
||||||
"Mina",
|
|
||||||
"MORE",
|
|
||||||
"Non-no",
|
|
||||||
"Oggi",
|
|
||||||
"Ray",
|
|
||||||
"Scawaii",
|
|
||||||
"Steady",
|
|
||||||
"ViVi",
|
|
||||||
"VoCE",
|
|
||||||
"With",
|
|
||||||
)
|
|
||||||
|
|
||||||
fun getTypes() = listOf(
|
|
||||||
"- Cover",
|
|
||||||
"- Japan Magazine",
|
|
||||||
"- Japan Fashion Magazine",
|
|
||||||
"- Japan Idol Photobook",
|
|
||||||
"- Asia Idol",
|
|
||||||
)
|
|