add Idol. gravureprincess .date ()

add IdolGravureprincessDate
This commit is contained in:
AwkwardPeak7 2024-02-07 16:00:16 +05:00 committed by Draff
parent c8c4110a55
commit 48c71e342d
17 changed files with 223 additions and 91 deletions
multisrc
overrides/gravureblogger
idolgravureprincessdate
micmicidol
res
mipmap-hdpi
mipmap-mdpi
mipmap-xhdpi
mipmap-xxhdpi
mipmap-xxxhdpi
src
src/main/java/eu/kanade/tachiyomi/multisrc/gravureblogger
src/ja/micmicidol
build.gradle
src/eu/kanade/tachiyomi/extension/ja/micmicidol

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

After

(image error) Size: 1.6 KiB

Binary file not shown.

After

(image error) Size: 3.4 KiB

Binary file not shown.

After

(image error) Size: 6.3 KiB

Binary file not shown.

After

(image error) 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",
)
}

@ -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",
)