[Manhwas Men] Migrate to Madara (#15566)

Move Manhwas.Men to Madara

They are only using madara css and not the backend as there is no `admin-ajax.php`
This commit is contained in:
mobi2002 2023-03-06 02:45:12 +05:00 committed by GitHub
parent 2a7edfd738
commit 4fe64d90e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 237 additions and 2 deletions

View File

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

View File

@ -0,0 +1,236 @@
package eu.kanade.tachiyomi.extension.en.manhwasmen
import eu.kanade.tachiyomi.multisrc.madara.Madara
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.Filter
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
class ManhwasMen : Madara("Manhwas Men", "https://manhwas.men", "en") {
override val versionId = 2
override val fetchGenres = false
override val sendViewCount = false
override val useLoadMoreSearch = false
// popular
override fun popularMangaSelector() = "div.col-6"
override val popularMangaUrlSelector = ".series-box a"
override fun popularMangaNextPageSelector() = "a[rel=next]"
override fun popularMangaRequest(page: Int): Request {
return GET("$baseUrl/manga-list?page=$page", headers)
}
override fun popularMangaFromElement(element: Element): SManga {
return super.popularMangaFromElement(element).apply {
title = element.select(popularMangaUrlSelector).text()
}
}
// latest
override fun latestUpdatesSelector() = "div.d-flex:nth-child(6) div.col-6"
override fun latestUpdatesRequest(page: Int): Request {
return GET(baseUrl, headers)
}
// search
override fun searchMangaSelector() = popularMangaSelector()
override fun searchMangaNextPageSelector() = popularMangaNextPageSelector()
override fun searchMangaFromElement(element: Element) = popularMangaFromElement(element)
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val url = "$baseUrl/manga-list".toHttpUrl().newBuilder().apply {
if (query.isEmpty()) {
filters.forEach { filter ->
when (filter) {
is GenreFilter -> {
addQueryParameter("genero", filter.values[filter.state])
}
else -> {}
}
}
} else {
addQueryParameter("search", query)
}
addQueryParameter("page", "$page")
}.build()
return GET(url, headers)
}
// manga details
override fun mangaDetailsParse(document: Document): SManga {
return super.mangaDetailsParse(document).apply {
document.select(mangaDetailsSelectorStatus).last()?.let {
status = when (it.text()) {
in "complete" -> SManga.COMPLETED
in "ongoing" -> SManga.ONGOING
else -> SManga.UNKNOWN
}
}
}
}
// chapter list
override val chapterUrlSuffix = ""
override fun chapterFromElement(element: Element): SChapter {
return super.chapterFromElement(element).apply {
name = element.select("p").text()
}
}
// page list
override val pageListParseSelector = "#chapter_imgs img"
// genre
private val getGenreList: Array<String> = arrayOf(
"sub-english",
"adult-drama-manhwa-mature",
"drama",
"rape",
"revenge",
"secret-relationship",
"mature",
"office",
"harem",
"romance",
"ecchi",
"noona",
"hypnosis",
"assistant",
"special-ability",
"awakening",
"raws",
"toomics",
"1",
"adult",
"toptoon",
"ntr",
"bullying",
"university",
"comedy-romance-school-life-harem",
"seinen",
"sports",
"virgin",
"pingon-jaja",
"lezhin",
"school-life",
"campus",
"action-drama-fantasy-themes",
"chef",
"drama-fantasy-omniverse-romance",
"vanilla",
"comedy",
"seniorjunior",
"first-love",
"saimin",
"fantasy-harem",
"raw",
"romance-drama-harem",
"fantasy",
"18-adult-smut-manhwa-mature",
"magic",
"murin",
"comedy-romance-school-life-drama-harem",
"romance-drama-mature",
"supernatural",
"laezhin",
"m",
"romance-drama-harem-mature",
"anytoon",
"psychological",
"militar",
"chantaje",
"four-sisters",
"in-laws",
"cheatinginfidelity-hypnosis-married-woman-netorare",
"smut",
"full-color",
"comedia",
"tragedia",
"adult-romance-mature",
"drama-harem-mature",
"adult-drama-seinen-fantasy-harem",
"adult-romance-drama-seinen-harem-mature",
"action",
"mystery",
"thriller",
"girlfriend",
"collegestudent",
"alumni",
"lovetriangle",
"parttimejob",
"female-friend",
"neighbour",
"adult-romance-manhwa-mature",
"married-woman",
"beauty",
"tomics",
"adaptation-drama-romance",
"succubus",
"cosplay",
"adult-romance-drama-harem",
"humiliation",
"two-girl",
"craving",
"aunt",
"housekeeper",
"manhwa",
"sci-fi",
"4-koma",
"adult-manhwa-mature",
"adult-romance-seinen",
"netorare",
"cohabitation-drama-ntr-office",
"vida-universitaria",
"vainilla",
"comedy-romance-mature",
"comedy-romance-drama-harem",
"bodybuilding",
"josei",
"topstar",
"naive-men",
"mistery",
"friend",
"young-woman",
"first-experience",
"romance-drama-fantasy-slice-of-life-raw",
"sisters",
"slice-of-life",
"dance",
"romance-school-life-drama-mature",
"drama-family",
"universidad",
"club",
"bondage",
"work-life",
"romance-school-life-drama-harem",
"big-pennis",
"milf",
"netori",
"yuri",
"adventure",
"adult-romance-drama-smut-manhwa-mature",
"wife",
"temptation",
"sexual-fantasy",
)
private class GenreFilter(title: String, genreList: Array<String>) :
Filter.Select<String>(title, genreList)
override fun getFilterList(): FilterList {
return FilterList(
Filter.Header("Note: Ignored if using text search"),
GenreFilter("Genre", getGenreList),
)
}
}

View File

@ -289,6 +289,7 @@ class MadaraGenerator : ThemeSourceGenerator {
SingleLang("ManhwaClan", "https://manhwaclan.com", "en"),
SingleLang("Manhwafull", "https://manhwafull.com", "en", overrideVersionCode = 1),
SingleLang("Manhwahentai.me", "https://manhwahentai.me", "en", className = "ManhwahentaiMe", isNsfw = true, overrideVersionCode = 2),
SingleLang("Manhwas Men", "https://manhwas.men", "en", className = "ManhwasMen", isNsfw = true),
SingleLang("ManhwaTime", "https://manhwatime.com", "ar"),
SingleLang("Manhwatop", "https://manhwatop.com", "en", overrideVersionCode = 2),
SingleLang("ManhwaWorld", "https://manhwaworld.com", "en"),

View File

@ -41,7 +41,6 @@ class MMRCMSSources {
SourceData.Single("Read Comics Online", "https://readcomicsonline.ru", "en"),
SourceData.Single("Fallen Angels", "https://manga.fascans.com", "en", overrideVersionCode = 2),
SourceData.Single("Zahard", "https://zahard.xyz", "en", overrideVersionCode = 2),
SourceData.Single("Manhwas Men", "https://manhwas.men", "en", isNsfw = true, overrideVersionCode = 1),
SourceData.Single("Scan FR", "https://www.scan-fr.org", "fr", overrideVersionCode = 2),
SourceData.Single("Scan VF", "https://www.scan-vf.net", "fr", overrideVersionCode = 1),
SourceData.Single("Scan OP", "https://scan-op.cc", "fr"),

View File

@ -9,7 +9,6 @@ object SourceData {
"https://readcomicsonline.ru" -> """{"name":"Read Comics Online","base_url":"https://readcomicsonline.ru","supports_latest":true,"item_url":"https://readcomicsonline.ru/comic/","categories":[{"id":"1","name":"One Shots \u0026 TPBs"},{"id":"2","name":"DC Comics"},{"id":"3","name":"Marvel Comics"},{"id":"4","name":"Boom Studios"},{"id":"5","name":"Dynamite"},{"id":"6","name":"Rebellion"},{"id":"7","name":"Dark Horse"},{"id":"8","name":"IDW"},{"id":"9","name":"Archie"},{"id":"10","name":"Graphic India"},{"id":"11","name":"Darby Pop"},{"id":"12","name":"Oni Press"},{"id":"13","name":"Icon Comics"},{"id":"14","name":"United Plankton"},{"id":"15","name":"Udon"},{"id":"16","name":"Image Comics"},{"id":"17","name":"Valiant"},{"id":"18","name":"Vertigo"},{"id":"19","name":"Devils Due"},{"id":"20","name":"Aftershock Comics"},{"id":"21","name":"Antartic Press"},{"id":"22","name":"Action Lab"},{"id":"23","name":"American Mythology"},{"id":"24","name":"Zenescope"},{"id":"25","name":"Top Cow"},{"id":"26","name":"Hermes Press"},{"id":"27","name":"451"},{"id":"28","name":"Black Mask"},{"id":"29","name":"Chapterhouse Comics"},{"id":"30","name":"Red 5"},{"id":"31","name":"Heavy Metal"},{"id":"32","name":"Bongo"},{"id":"33","name":"Top Shelf"},{"id":"34","name":"Bubble"},{"id":"35","name":"Boundless"},{"id":"36","name":"Avatar Press"},{"id":"37","name":"Space Goat Productions"},{"id":"38","name":"BroadSword Comics"},{"id":"39","name":"AAM-Markosia"},{"id":"40","name":"Fantagraphics"},{"id":"41","name":"Aspen"},{"id":"42","name":"American Gothic Press"},{"id":"43","name":"Vault"},{"id":"44","name":"215 Ink"},{"id":"45","name":"Abstract Studio"},{"id":"46","name":"Albatross"},{"id":"47","name":"ARH Comix"},{"id":"48","name":"Legendary Comics"},{"id":"49","name":"Monkeybrain"},{"id":"50","name":"Joe Books"},{"id":"51","name":"MAD"},{"id":"52","name":"Comics Experience"},{"id":"53","name":"Alterna Comics"},{"id":"54","name":"Lion Forge"},{"id":"55","name":"Benitez"},{"id":"56","name":"Storm King"},{"id":"57","name":"Sucker"},{"id":"58","name":"Amryl Entertainment"},{"id":"59","name":"Ahoy Comics"},{"id":"60","name":"Mad Cave"},{"id":"61","name":"Coffin Comics"},{"id":"62","name":"Magnetic Press"},{"id":"63","name":"Ablaze"},{"id":"64","name":"Europe Comics"},{"id":"65","name":"Humanoids"},{"id":"66","name":"TKO"},{"id":"67","name":"Soleil"},{"id":"68","name":"SAF Comics"},{"id":"69","name":"Scholastic"},{"id":"70","name":"Upshot"},{"id":"71","name":"Stranger Comics"},{"id":"72","name":"Inverse"},{"id":"73","name":"Virus"}]}"""
"https://manga.fascans.com" -> """{"name":"Fallen Angels","base_url":"https://manga.fascans.com","supports_latest":true,"item_url":"https://manga.fascans.com/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"},{"id":"33","name":"4-Koma"},{"id":"34","name":"Cooking"}]}"""
"https://zahard.xyz" -> """{"name":"Zahard","base_url":"https://zahard.xyz","supports_latest":true,"item_url":"https://zahard.xyz/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"}]}"""
"https://manhwas.men" -> """{"name":"Manhwas Men","base_url":"https://manhwas.men","supports_latest":true,"item_url":"https://manhwas.men/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"}],"tags":[{"id":"tag","name":"前女友变女佣"},{"id":"four-sisters","name":"Four sisters"},{"id":"in-laws","name":"in-laws"},{"id":"raws","name":"raws"},{"id":"adult","name":"Adult"},{"id":"raw","name":"RAW"},{"id":"drama","name":"Drama"},{"id":"romance","name":"Romance"},{"id":"manhwa","name":"Manhwa"},{"id":"mature","name":"Mature"},{"id":"sub-english","name":"Sub English"},{"id":"seinen","name":"Seinen"},{"id":"smut","name":"Smut"},{"id":"harem","name":"Harem"},{"id":"toptoon","name":"toptoon"},{"id":"ntr","name":"NTR"}]}"""
"https://www.scan-fr.org" -> """{"name":"Scan FR","base_url":"https://www.scan-fr.org","supports_latest":true,"item_url":"https://www.scan-fr.org/manga/","categories":[{"id":"1","name":"Comedy"},{"id":"2","name":"Doujinshi"},{"id":"3","name":"Drama"},{"id":"4","name":"Ecchi"},{"id":"5","name":"Fantasy"},{"id":"6","name":"Gender Bender"},{"id":"7","name":"Josei"},{"id":"8","name":"Mature"},{"id":"9","name":"Mecha"},{"id":"10","name":"Mystery"},{"id":"11","name":"One Shot"},{"id":"12","name":"Psychological"},{"id":"13","name":"Romance"},{"id":"14","name":"School Life"},{"id":"15","name":"Sci-fi"},{"id":"16","name":"Seinen"},{"id":"17","name":"Shoujo"},{"id":"18","name":"Shoujo Ai"},{"id":"19","name":"Shounen"},{"id":"20","name":"Shounen Ai"},{"id":"21","name":"Slice of Life"},{"id":"22","name":"Sports"},{"id":"23","name":"Supernatural"},{"id":"24","name":"Tragedy"},{"id":"25","name":"Yaoi"},{"id":"26","name":"Yuri"},{"id":"27","name":"Comics"},{"id":"28","name":"Autre"},{"id":"29","name":"BD Occidentale"},{"id":"30","name":"Manhwa"},{"id":"31","name":"Action"},{"id":"32","name":"Aventure"}]}"""
"https://www.scan-vf.net" -> """{"name":"Scan VF","base_url":"https://www.scan-vf.net","supports_latest":true,"item_url":"https://www.scan-vf.net/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"}]}"""
"https://scan-op.cc" -> """{"name":"Scan OP","base_url":"https://scan-op.cc","supports_latest":true,"item_url":"https://scan-op.cc/manga/","categories":[{"id":"1","name":"Comedy"},{"id":"2","name":"Doujinshi"},{"id":"3","name":"Drama"},{"id":"4","name":"Ecchi"},{"id":"5","name":"Fantasy"},{"id":"6","name":"Gender Bender"},{"id":"7","name":"Josei"},{"id":"8","name":"Mature"},{"id":"9","name":"Mecha"},{"id":"10","name":"Mystery"},{"id":"11","name":"One Shot"},{"id":"12","name":"Psychological"},{"id":"13","name":"Romance"},{"id":"14","name":"School Life"},{"id":"15","name":"Sci-fi"},{"id":"16","name":"Seinen"},{"id":"17","name":"Shoujo"},{"id":"18","name":"Shoujo Ai"},{"id":"19","name":"Shounen"},{"id":"20","name":"Shounen Ai"},{"id":"21","name":"Slice of Life"},{"id":"22","name":"Sports"},{"id":"23","name":"Supernatural"},{"id":"24","name":"Tragedy"},{"id":"25","name":"Yaoi"},{"id":"26","name":"Yuri"},{"id":"27","name":"Comics"},{"id":"28","name":"Autre"}],"tags":[{"id":"nouveau","name":"nouveau"}]}"""