85 lines
3.0 KiB
Kotlin
85 lines
3.0 KiB
Kotlin
package eu.kanade.tachiyomi.extension.all.mangaforfree
|
|
|
|
import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor
|
|
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
|
import eu.kanade.tachiyomi.source.Source
|
|
import eu.kanade.tachiyomi.source.SourceFactory
|
|
import okhttp3.OkHttpClient
|
|
import java.util.concurrent.TimeUnit
|
|
|
|
class MangaForFreeFactory : SourceFactory {
|
|
override fun createSources(): List<Source> = listOf(
|
|
MangaForFreeEN(),
|
|
MangaForFreeKO(),
|
|
MangaForFreeALL(),
|
|
)
|
|
}
|
|
class MangaForFreeEN : MangaForFree("MangaForFree.net", "https://mangaforfree.net", "en") {
|
|
override fun chapterListSelector() = "li.wp-manga-chapter:not(:contains(Raw))"
|
|
}
|
|
class MangaForFreeKO : MangaForFree("MangaForFree.net", "https://mangaforfree.net", "ko") {
|
|
override fun chapterListSelector() = "li.wp-manga-chapter:contains(Raw)"
|
|
}
|
|
class MangaForFreeALL : MangaForFree("MangaForFree.net", "https://mangaforfree.net", "all")
|
|
|
|
abstract class MangaForFree(
|
|
override val name: String,
|
|
override val baseUrl: String,
|
|
override val lang: String
|
|
) : Madara(name, baseUrl, lang) {
|
|
|
|
override val client: OkHttpClient = super.client.newBuilder()
|
|
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
|
.build()
|
|
|
|
override fun getGenreList() = listOf(
|
|
Genre("Action", "action"),
|
|
Genre("Adult", "adult"),
|
|
Genre("Adventure", "adventure"),
|
|
Genre("Anime", "anime"),
|
|
Genre("Cartoon", "cartoon"),
|
|
Genre("Comedy", "comedy"),
|
|
Genre("Comic", "comic"),
|
|
Genre("Completed", "completed"),
|
|
Genre("Cooking", "cooking"),
|
|
Genre("Detective", "detective"),
|
|
Genre("Doujinshi", "doujinshi"),
|
|
Genre("Drama", "drama"),
|
|
Genre("Ecchi", "ecchi"),
|
|
Genre("Fanstasy", "fantasy"),
|
|
Genre("Gender bender", "gender-bender"),
|
|
Genre("Harem", "harem"),
|
|
Genre("Historical", "historical"),
|
|
Genre("Horror", "horror"),
|
|
Genre("Josei", "josei"),
|
|
Genre("Live action", "live-action"),
|
|
Genre("Manga", "manga"),
|
|
Genre("Manhua", "manhua"),
|
|
Genre("Manhwa", "manhwa"),
|
|
Genre("Martial arts", "martial-arts"),
|
|
Genre("Mature", "mature"),
|
|
Genre("Mecha", "mecha"),
|
|
Genre("Mystery", "mystery"),
|
|
Genre("One shot", "one-shot"),
|
|
Genre("Psychological", "psychological"),
|
|
Genre("Romance", "romance"),
|
|
Genre("School Life", "school-life"),
|
|
Genre("Sci-fi", "sci-fi"),
|
|
Genre("Seinen", "seinen"),
|
|
Genre("Shoujo", "shoujo"),
|
|
Genre("Shoujo ai", "shoujo-ai"),
|
|
Genre("Shounen", "shounen"),
|
|
Genre("Shounen ai", "shounen-ai"),
|
|
Genre("Slice of Life", "slice-of-life"),
|
|
Genre("Smut", "smut"),
|
|
Genre("Soft Yaoi", "soft-yaoi"),
|
|
Genre("Soft Yuri", "soft-yuri"),
|
|
Genre("Sports", "sports"),
|
|
Genre("Supernatural", "supernatural"),
|
|
Genre("Tragedy", "tragedy"),
|
|
Genre("Webtoon", "webtoon"),
|
|
Genre("Yaoi", "yaoi"),
|
|
Genre("Yuri", "yuri"),
|
|
)
|
|
}
|