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.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 eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.Filter
|
||||
@ -22,13 +23,12 @@ import uy.kohesive.injekt.injectLazy
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class MicMicIdol : HttpSource() {
|
||||
|
||||
override val name = "MIC MIC IDOL"
|
||||
|
||||
override val baseUrl = "https://www.micmicidol.club"
|
||||
|
||||
override val lang = "ja"
|
||||
@SuppressLint("ObsoleteSdkInt")
|
||||
abstract class GravureBlogger(
|
||||
override val name: String,
|
||||
override val baseUrl: String,
|
||||
override val lang: String,
|
||||
) : HttpSource() {
|
||||
|
||||
override val supportsLatest = false
|
||||
|
||||
@ -139,26 +139,29 @@ class MicMicIdol : HttpSource() {
|
||||
|
||||
override fun imageUrlParse(response: Response) = throw UnsupportedOperationException()
|
||||
|
||||
override fun getFilterList(): FilterList {
|
||||
val types = getTypes()
|
||||
val japanMagazines = getJapanMagazines()
|
||||
val japanFashion = getJapanFashion()
|
||||
// filter name and list of values
|
||||
protected open val labelFilters = mapOf<String, List<String>>()
|
||||
|
||||
val filters = mutableListOf<Filter<*>>(
|
||||
LabelFilter("Type", types.map { Label(it) }),
|
||||
LabelFilter("Japan Magazine", japanMagazines.map { Label(it) }),
|
||||
LabelFilter("Japan Fashion", japanFashion.map { Label(it) }),
|
||||
).apply {
|
||||
if (categories.isEmpty()) {
|
||||
add(0, Filter.Header("Press 'Reset' to show extra filters"))
|
||||
add(1, Filter.Separator())
|
||||
return@apply
|
||||
class LabelFilter(name: String, labels: List<Label>) : Filter.Group<Label>(name, labels)
|
||||
|
||||
class Label(name: String) : Filter.CheckBox(name)
|
||||
|
||||
override fun getFilterList(): FilterList {
|
||||
val filters = mutableListOf<Filter<*>>()
|
||||
|
||||
labelFilters.forEach { (name, filter) ->
|
||||
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
|
||||
.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)
|
@ -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",
|
||||
)
|