Update Kotlin, coroutines, kolinter (#4363)
* Update kolinter, address some build warnings * Update to Kotlin 1.4.10, coroutines 1.3.9
This commit is contained in:
@ -7,13 +7,13 @@ import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.util.Calendar
|
||||
import okhttp3.Headers
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.util.Calendar
|
||||
|
||||
class HocVienTruyenTranh : ParsedHttpSource() {
|
||||
|
||||
|
@ -9,8 +9,6 @@ import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import okhttp3.Headers
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.OkHttpClient
|
||||
@ -18,6 +16,8 @@ import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class BlogTruyen : ParsedHttpSource() {
|
||||
|
||||
@ -181,67 +181,67 @@ class BlogTruyen : ParsedHttpSource() {
|
||||
private class GenreList(genres: List<Genre>) : Filter.Group<Genre>("Thể loại", genres)
|
||||
|
||||
override fun getFilterList() = FilterList(
|
||||
Status(),
|
||||
GenreList(getGenreList()),
|
||||
Author()
|
||||
Status(),
|
||||
GenreList(getGenreList()),
|
||||
Author()
|
||||
)
|
||||
|
||||
private fun getGenreList() = listOf(
|
||||
Genre("16+", 54),
|
||||
Genre("18+", 45),
|
||||
Genre("Action", 1),
|
||||
Genre("Adult", 2),
|
||||
Genre("Adventure", 3),
|
||||
Genre("Anime", 4),
|
||||
Genre("Comedy", 5),
|
||||
Genre("Comic", 6),
|
||||
Genre("Doujinshi", 7),
|
||||
Genre("Drama", 49),
|
||||
Genre("Ecchi", 48),
|
||||
Genre("Even BT", 60),
|
||||
Genre("Fantasy", 50),
|
||||
Genre("Game", 61),
|
||||
Genre("Gender Bender", 51),
|
||||
Genre("Harem", 12),
|
||||
Genre("Historical", 13),
|
||||
Genre("Horror", 14),
|
||||
Genre("Isekai/Dị Giới", 63),
|
||||
Genre("Josei", 15),
|
||||
Genre("Live Action", 16),
|
||||
Genre("Magic", 46),
|
||||
Genre("Manga", 55),
|
||||
Genre("Manhua", 17),
|
||||
Genre("Manhwa", 18),
|
||||
Genre("Martial Arts", 19),
|
||||
Genre("Mature", 20),
|
||||
Genre("Mecha", 21),
|
||||
Genre("Mystery", 22),
|
||||
Genre("Nấu ăn", 56),
|
||||
Genre("NTR", 62),
|
||||
Genre("One shot", 23),
|
||||
Genre("Psychological", 24),
|
||||
Genre("Romance", 25),
|
||||
Genre("School Life", 26),
|
||||
Genre("Sci-fi", 27),
|
||||
Genre("Seinen", 28),
|
||||
Genre("Shoujo", 29),
|
||||
Genre("Shoujo Ai", 30),
|
||||
Genre("Shounen", 31),
|
||||
Genre("Shounen Ai", 32),
|
||||
Genre("Slice of Life", 33),
|
||||
Genre("Smut", 34),
|
||||
Genre("Soft Yaoi", 35),
|
||||
Genre("Soft Yuri", 36),
|
||||
Genre("Sports", 37),
|
||||
Genre("Supernatural", 38),
|
||||
Genre("Tạp chí truyện tranh", 39),
|
||||
Genre("Tragedy", 40),
|
||||
Genre("Trap", 58),
|
||||
Genre("Trinh thám", 57),
|
||||
Genre("Truyện scan", 41),
|
||||
Genre("Video clip", 53),
|
||||
Genre("VnComic", 42),
|
||||
Genre("Webtoon", 52),
|
||||
Genre("Yuri", 59)
|
||||
Genre("16+", 54),
|
||||
Genre("18+", 45),
|
||||
Genre("Action", 1),
|
||||
Genre("Adult", 2),
|
||||
Genre("Adventure", 3),
|
||||
Genre("Anime", 4),
|
||||
Genre("Comedy", 5),
|
||||
Genre("Comic", 6),
|
||||
Genre("Doujinshi", 7),
|
||||
Genre("Drama", 49),
|
||||
Genre("Ecchi", 48),
|
||||
Genre("Even BT", 60),
|
||||
Genre("Fantasy", 50),
|
||||
Genre("Game", 61),
|
||||
Genre("Gender Bender", 51),
|
||||
Genre("Harem", 12),
|
||||
Genre("Historical", 13),
|
||||
Genre("Horror", 14),
|
||||
Genre("Isekai/Dị Giới", 63),
|
||||
Genre("Josei", 15),
|
||||
Genre("Live Action", 16),
|
||||
Genre("Magic", 46),
|
||||
Genre("Manga", 55),
|
||||
Genre("Manhua", 17),
|
||||
Genre("Manhwa", 18),
|
||||
Genre("Martial Arts", 19),
|
||||
Genre("Mature", 20),
|
||||
Genre("Mecha", 21),
|
||||
Genre("Mystery", 22),
|
||||
Genre("Nấu ăn", 56),
|
||||
Genre("NTR", 62),
|
||||
Genre("One shot", 23),
|
||||
Genre("Psychological", 24),
|
||||
Genre("Romance", 25),
|
||||
Genre("School Life", 26),
|
||||
Genre("Sci-fi", 27),
|
||||
Genre("Seinen", 28),
|
||||
Genre("Shoujo", 29),
|
||||
Genre("Shoujo Ai", 30),
|
||||
Genre("Shounen", 31),
|
||||
Genre("Shounen Ai", 32),
|
||||
Genre("Slice of Life", 33),
|
||||
Genre("Smut", 34),
|
||||
Genre("Soft Yaoi", 35),
|
||||
Genre("Soft Yuri", 36),
|
||||
Genre("Sports", 37),
|
||||
Genre("Supernatural", 38),
|
||||
Genre("Tạp chí truyện tranh", 39),
|
||||
Genre("Tragedy", 40),
|
||||
Genre("Trap", 58),
|
||||
Genre("Trinh thám", 57),
|
||||
Genre("Truyện scan", 41),
|
||||
Genre("Video clip", 53),
|
||||
Genre("VnComic", 42),
|
||||
Genre("Webtoon", 52),
|
||||
Genre("Yuri", 59)
|
||||
)
|
||||
}
|
||||
|
@ -8,15 +8,15 @@ import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.text.ParseException
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import okhttp3.Headers
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.ParseException
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
@Nsfw
|
||||
class HentaiVN : ParsedHttpSource() {
|
||||
@ -42,7 +42,7 @@ class HentaiVN : ParsedHttpSource() {
|
||||
|
||||
private fun parseDate(dateString: String): Long {
|
||||
return try {
|
||||
dateFormat.parse(dateString).time
|
||||
dateFormat.parse(dateString)?.time ?: 0L
|
||||
} catch (e: ParseException) {
|
||||
return 0L
|
||||
}
|
||||
@ -124,7 +124,8 @@ class HentaiVN : ParsedHttpSource() {
|
||||
(if (filters.isEmpty()) getFilterList() else filters).forEach { filter ->
|
||||
when (filter) {
|
||||
is TextField -> url.addQueryParameter(filter.key, filter.state)
|
||||
is GenreList -> filter.state
|
||||
is GenreList ->
|
||||
filter.state
|
||||
.filter { it.state }
|
||||
.map { it.id }
|
||||
.forEach { url.addQueryParameter("tag[]", it) }
|
||||
@ -151,216 +152,216 @@ class HentaiVN : ParsedHttpSource() {
|
||||
private class GroupList(groups: Array<TransGroup>) : Filter.Select<TransGroup>("Nhóm dịch", groups)
|
||||
|
||||
override fun getFilterList() = FilterList(
|
||||
TextField("Doujinshi", "dou"),
|
||||
TextField("Nhân vật", "char"),
|
||||
GenreList(getGenreList()),
|
||||
GroupList(getGroupList())
|
||||
TextField("Doujinshi", "dou"),
|
||||
TextField("Nhân vật", "char"),
|
||||
GenreList(getGenreList()),
|
||||
GroupList(getGroupList())
|
||||
)
|
||||
|
||||
// jQuery.makeArray($('#container > div > div > div.box-box.textbox > form > ul:nth-child(7) > li').map((i, e) => `Genre("${e.textContent}", "${e.children[0].value}")`)).join(',\n')
|
||||
// https://hentaivn.net/forum/search-plus.php
|
||||
private fun getGenreList() = listOf(
|
||||
Genre("3D Hentai", "3"),
|
||||
Genre("Action", "5"),
|
||||
Genre("Adult", "116"),
|
||||
Genre("Adventure", "203"),
|
||||
Genre("Ahegao", "20"),
|
||||
Genre("Anal", "21"),
|
||||
Genre("Angel", "249"),
|
||||
Genre("Ảnh động", "131"),
|
||||
Genre("Animal", "127"),
|
||||
Genre("Animal girl", "22"),
|
||||
Genre("Artist", "115"),
|
||||
Genre("BBW", "251"),
|
||||
Genre("BDSM", "24"),
|
||||
Genre("Bestiality", "25"),
|
||||
Genre("Big Ass", "133"),
|
||||
Genre("Big Boobs", "23"),
|
||||
Genre("Big Penis", "32"),
|
||||
Genre("Bloomers", "27"),
|
||||
Genre("BlowJobs", "28"),
|
||||
Genre("Body Swap", "29"),
|
||||
Genre("Bodysuit", "30"),
|
||||
Genre("Bondage", "254"),
|
||||
Genre("Breast Sucking", "33"),
|
||||
Genre("BreastJobs", "248"),
|
||||
Genre("Brocon", "31"),
|
||||
Genre("Brother", "242"),
|
||||
Genre("Business Suit", "241"),
|
||||
Genre("Catgirls", "39"),
|
||||
Genre("Che ít", "101"),
|
||||
Genre("Che nhiều", "129"),
|
||||
Genre("Cheating", "34"),
|
||||
Genre("Chikan", "35"),
|
||||
Genre("Có che", "100"),
|
||||
Genre("Comedy", "36"),
|
||||
Genre("Comic", "120"),
|
||||
Genre("Condom", "210"),
|
||||
Genre("Cosplay", "38"),
|
||||
Genre("Cousin", "2"),
|
||||
Genre("Dark Skin", "40"),
|
||||
Genre("Demon", "132"),
|
||||
Genre("DemonGirl", "212"),
|
||||
Genre("Devil", "104"),
|
||||
Genre("DevilGirl", "105"),
|
||||
Genre("Dirty", "253"),
|
||||
Genre("Dirty Old Man", "41"),
|
||||
Genre("Double Penetration", "42"),
|
||||
Genre("Doujinshi", "44"),
|
||||
Genre("Drama", "4"),
|
||||
Genre("Drug", "43"),
|
||||
Genre("Ecchi", "45"),
|
||||
Genre("Elder Sister", "245"),
|
||||
Genre("Elf", "125"),
|
||||
Genre("Exhibitionism", "46"),
|
||||
Genre("Fantasy", "123"),
|
||||
Genre("Father", "243"),
|
||||
Genre("Femdom", "47"),
|
||||
Genre("Fingering", "48"),
|
||||
Genre("Footjob", "108"),
|
||||
Genre("Full Color", "37"),
|
||||
Genre("Furry", "202"),
|
||||
Genre("Futanari", "50"),
|
||||
Genre("Game", "130"),
|
||||
Genre("GangBang", "51"),
|
||||
Genre("Garter Belts", "206"),
|
||||
Genre("Gender Bender", "52"),
|
||||
Genre("Ghost", "106"),
|
||||
Genre("Glasses", "56"),
|
||||
Genre("Group", "53"),
|
||||
Genre("Guro", "55"),
|
||||
Genre("Hairy", "247"),
|
||||
Genre("Handjob", "57"),
|
||||
Genre("Harem", "58"),
|
||||
Genre("HentaiVN", "102"),
|
||||
Genre("Historical", "80"),
|
||||
Genre("Horror", "122"),
|
||||
Genre("Housewife", "59"),
|
||||
Genre("Humiliation", "60"),
|
||||
Genre("Idol", "61"),
|
||||
Genre("Imouto", "244"),
|
||||
Genre("Incest", "62"),
|
||||
Genre("Insect (Côn Trùng)", "26"),
|
||||
Genre("Không che", "99"),
|
||||
Genre("Kimono", "110"),
|
||||
Genre("Loli", "63"),
|
||||
Genre("Maids", "64"),
|
||||
Genre("Manhwa", "114"),
|
||||
Genre("Mature", "119"),
|
||||
Genre("Miko", "124"),
|
||||
Genre("Milf", "126"),
|
||||
Genre("Mind Break", "121"),
|
||||
Genre("Mind Control", "113"),
|
||||
Genre("Monster", "66"),
|
||||
Genre("Monstergirl", "67"),
|
||||
Genre("Mother", "103"),
|
||||
Genre("Nakadashi", "205"),
|
||||
Genre("Netori", "1"),
|
||||
Genre("Non-hen", "201"),
|
||||
Genre("NTR", "68"),
|
||||
Genre("Nurse", "69"),
|
||||
Genre("Old Man", "211"),
|
||||
Genre("Oneshot", "71"),
|
||||
Genre("Oral", "70"),
|
||||
Genre("Osananajimi", "209"),
|
||||
Genre("Paizuri", "72"),
|
||||
Genre("Pantyhose", "204"),
|
||||
Genre("Pregnant", "73"),
|
||||
Genre("Rape", "98"),
|
||||
Genre("Romance", "117"),
|
||||
Genre("Ryona", "207"),
|
||||
Genre("Scat", "134"),
|
||||
Genre("School Uniform", "74"),
|
||||
Genre("SchoolGirl", "75"),
|
||||
Genre("Series", "87"),
|
||||
Genre("Sex Toys", "88"),
|
||||
Genre("Shimapan", "246"),
|
||||
Genre("Short Hentai", "118"),
|
||||
Genre("Shota", "77"),
|
||||
Genre("Shoujo", "76"),
|
||||
Genre("Siscon", "79"),
|
||||
Genre("Sister", "78"),
|
||||
Genre("Slave", "82"),
|
||||
Genre("Sleeping", "213"),
|
||||
Genre("Small Boobs", "84"),
|
||||
Genre("Sports", "83"),
|
||||
Genre("Stockings", "81"),
|
||||
Genre("Supernatural", "85"),
|
||||
Genre("Sweating", "250"),
|
||||
Genre("Swimsuit", "86"),
|
||||
Genre("Teacher", "91"),
|
||||
Genre("Tentacles", "89"),
|
||||
Genre("Time Stop", "109"),
|
||||
Genre("Tomboy", "90"),
|
||||
Genre("Tracksuit", "252"),
|
||||
Genre("Transformation", "256"),
|
||||
Genre("Trap", "92"),
|
||||
Genre("Tsundere", "111"),
|
||||
Genre("Tự sướng", "65"),
|
||||
Genre("Twins", "93"),
|
||||
Genre("Vampire", "107"),
|
||||
Genre("Vanilla", "208"),
|
||||
Genre("Virgin", "95"),
|
||||
Genre("X-ray", "94"),
|
||||
Genre("Yandere", "112"),
|
||||
Genre("Yaoi", "96"),
|
||||
Genre("Yuri", "97"),
|
||||
Genre("Zombie", "128")
|
||||
Genre("3D Hentai", "3"),
|
||||
Genre("Action", "5"),
|
||||
Genre("Adult", "116"),
|
||||
Genre("Adventure", "203"),
|
||||
Genre("Ahegao", "20"),
|
||||
Genre("Anal", "21"),
|
||||
Genre("Angel", "249"),
|
||||
Genre("Ảnh động", "131"),
|
||||
Genre("Animal", "127"),
|
||||
Genre("Animal girl", "22"),
|
||||
Genre("Artist", "115"),
|
||||
Genre("BBW", "251"),
|
||||
Genre("BDSM", "24"),
|
||||
Genre("Bestiality", "25"),
|
||||
Genre("Big Ass", "133"),
|
||||
Genre("Big Boobs", "23"),
|
||||
Genre("Big Penis", "32"),
|
||||
Genre("Bloomers", "27"),
|
||||
Genre("BlowJobs", "28"),
|
||||
Genre("Body Swap", "29"),
|
||||
Genre("Bodysuit", "30"),
|
||||
Genre("Bondage", "254"),
|
||||
Genre("Breast Sucking", "33"),
|
||||
Genre("BreastJobs", "248"),
|
||||
Genre("Brocon", "31"),
|
||||
Genre("Brother", "242"),
|
||||
Genre("Business Suit", "241"),
|
||||
Genre("Catgirls", "39"),
|
||||
Genre("Che ít", "101"),
|
||||
Genre("Che nhiều", "129"),
|
||||
Genre("Cheating", "34"),
|
||||
Genre("Chikan", "35"),
|
||||
Genre("Có che", "100"),
|
||||
Genre("Comedy", "36"),
|
||||
Genre("Comic", "120"),
|
||||
Genre("Condom", "210"),
|
||||
Genre("Cosplay", "38"),
|
||||
Genre("Cousin", "2"),
|
||||
Genre("Dark Skin", "40"),
|
||||
Genre("Demon", "132"),
|
||||
Genre("DemonGirl", "212"),
|
||||
Genre("Devil", "104"),
|
||||
Genre("DevilGirl", "105"),
|
||||
Genre("Dirty", "253"),
|
||||
Genre("Dirty Old Man", "41"),
|
||||
Genre("Double Penetration", "42"),
|
||||
Genre("Doujinshi", "44"),
|
||||
Genre("Drama", "4"),
|
||||
Genre("Drug", "43"),
|
||||
Genre("Ecchi", "45"),
|
||||
Genre("Elder Sister", "245"),
|
||||
Genre("Elf", "125"),
|
||||
Genre("Exhibitionism", "46"),
|
||||
Genre("Fantasy", "123"),
|
||||
Genre("Father", "243"),
|
||||
Genre("Femdom", "47"),
|
||||
Genre("Fingering", "48"),
|
||||
Genre("Footjob", "108"),
|
||||
Genre("Full Color", "37"),
|
||||
Genre("Furry", "202"),
|
||||
Genre("Futanari", "50"),
|
||||
Genre("Game", "130"),
|
||||
Genre("GangBang", "51"),
|
||||
Genre("Garter Belts", "206"),
|
||||
Genre("Gender Bender", "52"),
|
||||
Genre("Ghost", "106"),
|
||||
Genre("Glasses", "56"),
|
||||
Genre("Group", "53"),
|
||||
Genre("Guro", "55"),
|
||||
Genre("Hairy", "247"),
|
||||
Genre("Handjob", "57"),
|
||||
Genre("Harem", "58"),
|
||||
Genre("HentaiVN", "102"),
|
||||
Genre("Historical", "80"),
|
||||
Genre("Horror", "122"),
|
||||
Genre("Housewife", "59"),
|
||||
Genre("Humiliation", "60"),
|
||||
Genre("Idol", "61"),
|
||||
Genre("Imouto", "244"),
|
||||
Genre("Incest", "62"),
|
||||
Genre("Insect (Côn Trùng)", "26"),
|
||||
Genre("Không che", "99"),
|
||||
Genre("Kimono", "110"),
|
||||
Genre("Loli", "63"),
|
||||
Genre("Maids", "64"),
|
||||
Genre("Manhwa", "114"),
|
||||
Genre("Mature", "119"),
|
||||
Genre("Miko", "124"),
|
||||
Genre("Milf", "126"),
|
||||
Genre("Mind Break", "121"),
|
||||
Genre("Mind Control", "113"),
|
||||
Genre("Monster", "66"),
|
||||
Genre("Monstergirl", "67"),
|
||||
Genre("Mother", "103"),
|
||||
Genre("Nakadashi", "205"),
|
||||
Genre("Netori", "1"),
|
||||
Genre("Non-hen", "201"),
|
||||
Genre("NTR", "68"),
|
||||
Genre("Nurse", "69"),
|
||||
Genre("Old Man", "211"),
|
||||
Genre("Oneshot", "71"),
|
||||
Genre("Oral", "70"),
|
||||
Genre("Osananajimi", "209"),
|
||||
Genre("Paizuri", "72"),
|
||||
Genre("Pantyhose", "204"),
|
||||
Genre("Pregnant", "73"),
|
||||
Genre("Rape", "98"),
|
||||
Genre("Romance", "117"),
|
||||
Genre("Ryona", "207"),
|
||||
Genre("Scat", "134"),
|
||||
Genre("School Uniform", "74"),
|
||||
Genre("SchoolGirl", "75"),
|
||||
Genre("Series", "87"),
|
||||
Genre("Sex Toys", "88"),
|
||||
Genre("Shimapan", "246"),
|
||||
Genre("Short Hentai", "118"),
|
||||
Genre("Shota", "77"),
|
||||
Genre("Shoujo", "76"),
|
||||
Genre("Siscon", "79"),
|
||||
Genre("Sister", "78"),
|
||||
Genre("Slave", "82"),
|
||||
Genre("Sleeping", "213"),
|
||||
Genre("Small Boobs", "84"),
|
||||
Genre("Sports", "83"),
|
||||
Genre("Stockings", "81"),
|
||||
Genre("Supernatural", "85"),
|
||||
Genre("Sweating", "250"),
|
||||
Genre("Swimsuit", "86"),
|
||||
Genre("Teacher", "91"),
|
||||
Genre("Tentacles", "89"),
|
||||
Genre("Time Stop", "109"),
|
||||
Genre("Tomboy", "90"),
|
||||
Genre("Tracksuit", "252"),
|
||||
Genre("Transformation", "256"),
|
||||
Genre("Trap", "92"),
|
||||
Genre("Tsundere", "111"),
|
||||
Genre("Tự sướng", "65"),
|
||||
Genre("Twins", "93"),
|
||||
Genre("Vampire", "107"),
|
||||
Genre("Vanilla", "208"),
|
||||
Genre("Virgin", "95"),
|
||||
Genre("X-ray", "94"),
|
||||
Genre("Yandere", "112"),
|
||||
Genre("Yaoi", "96"),
|
||||
Genre("Yuri", "97"),
|
||||
Genre("Zombie", "128")
|
||||
)
|
||||
|
||||
// jQuery.makeArray($('#container > div > div > div.box-box.textbox > form > ul:nth-child(8) > li').map((i, e) => `TransGroup("${e.textContent}", "${e.children[0].value}")`)).join(',\n')
|
||||
// https://hentaivn.net/forum/search-plus.php
|
||||
private fun getGroupList() = arrayOf(
|
||||
TransGroup("Tất cả", "0"),
|
||||
TransGroup("Đang cập nhật", "1"),
|
||||
TransGroup("Góc Hentai", "3"),
|
||||
TransGroup("Hakihome", "4"),
|
||||
TransGroup("LXERS", "5"),
|
||||
TransGroup("Hentai-Homies", "6"),
|
||||
TransGroup("BUZPLANET", "7"),
|
||||
TransGroup("Trang Sally", "8"),
|
||||
TransGroup("Loli Rules The World", "9"),
|
||||
TransGroup("XXX Inc", "10"),
|
||||
TransGroup("Kobato9x", "11"),
|
||||
TransGroup("Blazing Soul", "12"),
|
||||
TransGroup("TAYXUONG", "13"),
|
||||
TransGroup("[S]ky [G]arden [G]roup", "14"),
|
||||
TransGroup("Bloomer-kun", "15"),
|
||||
TransGroup("DHT", "16"),
|
||||
TransGroup("TruyenHen18", "17"),
|
||||
TransGroup("iHentaiManga", "18"),
|
||||
TransGroup("Quân cảng Kancolle X", "19"),
|
||||
TransGroup("LHMANGA", "20"),
|
||||
TransGroup("Ship of The Dream", "21"),
|
||||
TransGroup("Fallen Angels", "22"),
|
||||
TransGroup("TruyenHentai2H", "23"),
|
||||
TransGroup("Lạc Thiên", "24"),
|
||||
TransGroup("69HENTAIXXX", "25"),
|
||||
TransGroup("DHL", "26"),
|
||||
TransGroup("Hentai-AdutsManga", "27"),
|
||||
TransGroup("Hatsu Kaze Desu Translator Team", "28"),
|
||||
TransGroup("IHentai69", "29"),
|
||||
TransGroup("Zest", "30"),
|
||||
TransGroup("Demon Victory Team", "31"),
|
||||
TransGroup("NTR Victory Team", "32"),
|
||||
TransGroup("Rori Saikou", "33"),
|
||||
TransGroup("Bullet Burn Team", "34"),
|
||||
TransGroup("RE Team", "35"),
|
||||
TransGroup("Rebelliones", "36"),
|
||||
TransGroup("Shinto", "37"),
|
||||
TransGroup("Sexual Paradise", "38"),
|
||||
TransGroup("FA Dislike Team", "39"),
|
||||
TransGroup("Triggered Team", "41"),
|
||||
TransGroup("T.K Translation Team", "42"),
|
||||
TransGroup("Mabu MG", "43"),
|
||||
TransGroup("Team Zentsu", "44"),
|
||||
TransGroup("Sweeter Than Salt", "46"),
|
||||
TransGroup("Cà rà cà rà Cặt", "47"),
|
||||
TransGroup("Paradise Of The Happiness", "48"),
|
||||
TransGroup("Furry Break the 4th Wall", "49"),
|
||||
TransGroup("The Ignite Team", "50"),
|
||||
TransGroup("Cuồng Loli", "51"),
|
||||
TransGroup("Depressed Lolicons Squad - DLS", "52"),
|
||||
TransGroup("Heaven Of The Fuck", "53")
|
||||
TransGroup("Tất cả", "0"),
|
||||
TransGroup("Đang cập nhật", "1"),
|
||||
TransGroup("Góc Hentai", "3"),
|
||||
TransGroup("Hakihome", "4"),
|
||||
TransGroup("LXERS", "5"),
|
||||
TransGroup("Hentai-Homies", "6"),
|
||||
TransGroup("BUZPLANET", "7"),
|
||||
TransGroup("Trang Sally", "8"),
|
||||
TransGroup("Loli Rules The World", "9"),
|
||||
TransGroup("XXX Inc", "10"),
|
||||
TransGroup("Kobato9x", "11"),
|
||||
TransGroup("Blazing Soul", "12"),
|
||||
TransGroup("TAYXUONG", "13"),
|
||||
TransGroup("[S]ky [G]arden [G]roup", "14"),
|
||||
TransGroup("Bloomer-kun", "15"),
|
||||
TransGroup("DHT", "16"),
|
||||
TransGroup("TruyenHen18", "17"),
|
||||
TransGroup("iHentaiManga", "18"),
|
||||
TransGroup("Quân cảng Kancolle X", "19"),
|
||||
TransGroup("LHMANGA", "20"),
|
||||
TransGroup("Ship of The Dream", "21"),
|
||||
TransGroup("Fallen Angels", "22"),
|
||||
TransGroup("TruyenHentai2H", "23"),
|
||||
TransGroup("Lạc Thiên", "24"),
|
||||
TransGroup("69HENTAIXXX", "25"),
|
||||
TransGroup("DHL", "26"),
|
||||
TransGroup("Hentai-AdutsManga", "27"),
|
||||
TransGroup("Hatsu Kaze Desu Translator Team", "28"),
|
||||
TransGroup("IHentai69", "29"),
|
||||
TransGroup("Zest", "30"),
|
||||
TransGroup("Demon Victory Team", "31"),
|
||||
TransGroup("NTR Victory Team", "32"),
|
||||
TransGroup("Rori Saikou", "33"),
|
||||
TransGroup("Bullet Burn Team", "34"),
|
||||
TransGroup("RE Team", "35"),
|
||||
TransGroup("Rebelliones", "36"),
|
||||
TransGroup("Shinto", "37"),
|
||||
TransGroup("Sexual Paradise", "38"),
|
||||
TransGroup("FA Dislike Team", "39"),
|
||||
TransGroup("Triggered Team", "41"),
|
||||
TransGroup("T.K Translation Team", "42"),
|
||||
TransGroup("Mabu MG", "43"),
|
||||
TransGroup("Team Zentsu", "44"),
|
||||
TransGroup("Sweeter Than Salt", "46"),
|
||||
TransGroup("Cà rà cà rà Cặt", "47"),
|
||||
TransGroup("Paradise Of The Happiness", "48"),
|
||||
TransGroup("Furry Break the 4th Wall", "49"),
|
||||
TransGroup("The Ignite Team", "50"),
|
||||
TransGroup("Cuồng Loli", "51"),
|
||||
TransGroup("Depressed Lolicons Squad - DLS", "52"),
|
||||
TransGroup("Heaven Of The Fuck", "53")
|
||||
)
|
||||
}
|
||||
|
@ -8,14 +8,14 @@ import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.lang.UnsupportedOperationException
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.lang.UnsupportedOperationException
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class IuTruyenTranh : ParsedHttpSource() {
|
||||
|
||||
@ -116,7 +116,7 @@ class IuTruyenTranh : ParsedHttpSource() {
|
||||
chapter.setUrlWithoutDomain(urlElement.attr("href") + "&load=all")
|
||||
chapter.name = urlElement.select("b").text()
|
||||
chapter.date_upload = element.select("td:eq(1)").first()?.text()?.let {
|
||||
SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()).parse(it).time
|
||||
SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()).parse(it)?.time ?: 0L
|
||||
} ?: 0
|
||||
return chapter
|
||||
}
|
||||
@ -134,64 +134,64 @@ class IuTruyenTranh : ParsedHttpSource() {
|
||||
private class GenreList(genres: List<Genre>) : Filter.Group<Genre>("Thể loại", genres)
|
||||
|
||||
override fun getFilterList() = FilterList(
|
||||
Author(),
|
||||
GenreList(getGenreList())
|
||||
Author(),
|
||||
GenreList(getGenreList())
|
||||
)
|
||||
|
||||
private fun getGenreList() = listOf(
|
||||
Genre("Action"),
|
||||
Genre("Adult"),
|
||||
Genre("Adventure"),
|
||||
Genre("Anime"),
|
||||
Genre("Bishounen"),
|
||||
Genre("Comedy"),
|
||||
Genre("Cookin"),
|
||||
Genre("Demons"),
|
||||
Genre("Doujinshi"),
|
||||
Genre("Drama"),
|
||||
Genre("Ecchi"),
|
||||
Genre("Fantasy"),
|
||||
Genre("Gender Bender"),
|
||||
Genre("Harem"),
|
||||
Genre("Hentai"),
|
||||
Genre("Historical"),
|
||||
Genre("Horror"),
|
||||
Genre("Josei"),
|
||||
Genre("Live action"),
|
||||
Genre("Magic"),
|
||||
Genre("Manhua"),
|
||||
Genre("Manhwa"),
|
||||
Genre("Martial Arts"),
|
||||
Genre("Mature"),
|
||||
Genre("Mecha"),
|
||||
Genre("Medical"),
|
||||
Genre("Military"),
|
||||
Genre("Mystery"),
|
||||
Genre("One shot"),
|
||||
Genre("Oneshot"),
|
||||
Genre("Other"),
|
||||
Genre("Psychological"),
|
||||
Genre("Romance"),
|
||||
Genre("School Life"),
|
||||
Genre("Sci fi"),
|
||||
Genre("Seinen"),
|
||||
Genre("Shotacon"),
|
||||
Genre("Shoujo"),
|
||||
Genre("Shoujo Ai"),
|
||||
Genre("Shoujoai"),
|
||||
Genre("Shounen"),
|
||||
Genre("Shounen Ai"),
|
||||
Genre("Shounenai"),
|
||||
Genre("Slice of Life"),
|
||||
Genre("Smut"),
|
||||
Genre("Sports"),
|
||||
Genre("Super power"),
|
||||
Genre("Superma"),
|
||||
Genre("Supernatural"),
|
||||
Genre("Tragedy"),
|
||||
Genre("Vampire"),
|
||||
Genre("Webtoon"),
|
||||
Genre("Yaoi"),
|
||||
Genre("Yuri")
|
||||
Genre("Action"),
|
||||
Genre("Adult"),
|
||||
Genre("Adventure"),
|
||||
Genre("Anime"),
|
||||
Genre("Bishounen"),
|
||||
Genre("Comedy"),
|
||||
Genre("Cookin"),
|
||||
Genre("Demons"),
|
||||
Genre("Doujinshi"),
|
||||
Genre("Drama"),
|
||||
Genre("Ecchi"),
|
||||
Genre("Fantasy"),
|
||||
Genre("Gender Bender"),
|
||||
Genre("Harem"),
|
||||
Genre("Hentai"),
|
||||
Genre("Historical"),
|
||||
Genre("Horror"),
|
||||
Genre("Josei"),
|
||||
Genre("Live action"),
|
||||
Genre("Magic"),
|
||||
Genre("Manhua"),
|
||||
Genre("Manhwa"),
|
||||
Genre("Martial Arts"),
|
||||
Genre("Mature"),
|
||||
Genre("Mecha"),
|
||||
Genre("Medical"),
|
||||
Genre("Military"),
|
||||
Genre("Mystery"),
|
||||
Genre("One shot"),
|
||||
Genre("Oneshot"),
|
||||
Genre("Other"),
|
||||
Genre("Psychological"),
|
||||
Genre("Romance"),
|
||||
Genre("School Life"),
|
||||
Genre("Sci fi"),
|
||||
Genre("Seinen"),
|
||||
Genre("Shotacon"),
|
||||
Genre("Shoujo"),
|
||||
Genre("Shoujo Ai"),
|
||||
Genre("Shoujoai"),
|
||||
Genre("Shounen"),
|
||||
Genre("Shounen Ai"),
|
||||
Genre("Shounenai"),
|
||||
Genre("Slice of Life"),
|
||||
Genre("Smut"),
|
||||
Genre("Sports"),
|
||||
Genre("Super power"),
|
||||
Genre("Superma"),
|
||||
Genre("Supernatural"),
|
||||
Genre("Tragedy"),
|
||||
Genre("Vampire"),
|
||||
Genre("Webtoon"),
|
||||
Genre("Yaoi"),
|
||||
Genre("Yuri")
|
||||
)
|
||||
}
|
||||
|
@ -8,14 +8,14 @@ import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONObject
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class MeDocTruyenTranh : ParsedHttpSource() {
|
||||
|
||||
@ -101,11 +101,11 @@ class MeDocTruyenTranh : ParsedHttpSource() {
|
||||
val manga = SManga.create()
|
||||
val jsonData = JSONObject(document.select("#__NEXT_DATA__").first()!!.data())
|
||||
val mangaDetail = jsonData
|
||||
.getJSONObject("props")
|
||||
.getJSONObject("pageProps")
|
||||
.getJSONObject("initialState")
|
||||
.getJSONObject("detail")
|
||||
.getJSONObject("story_item")
|
||||
.getJSONObject("props")
|
||||
.getJSONObject("pageProps")
|
||||
.getJSONObject("initialState")
|
||||
.getJSONObject("detail")
|
||||
.getJSONObject("story_item")
|
||||
manga.title = mangaDetail.getString("title")
|
||||
manga.author = mangaDetail.getJSONArray("author_list").getString(0)
|
||||
val genres = mutableListOf<String>()
|
||||
@ -148,9 +148,10 @@ class MeDocTruyenTranh : ParsedHttpSource() {
|
||||
private fun parseChapterDate(date: String): Long {
|
||||
// 2019-05-09T07:09:58
|
||||
val dateFormat = SimpleDateFormat(
|
||||
"yyyy-MM-dd'T'HH:mm:ss", Locale.US)
|
||||
val dateObject = dateFormat.parse(date)
|
||||
return dateObject.time
|
||||
"yyyy-MM-dd'T'HH:mm:ss",
|
||||
Locale.US
|
||||
)
|
||||
return dateFormat.parse(date)?.time ?: 0L
|
||||
}
|
||||
|
||||
override fun pageListParse(document: Document): List<Page> {
|
||||
|
@ -6,13 +6,13 @@ import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class NgonPhong : ParsedHttpSource() {
|
||||
|
||||
@ -117,7 +117,7 @@ class NgonPhong : ParsedHttpSource() {
|
||||
|
||||
private fun String.toChapterDate(): Long {
|
||||
return try {
|
||||
SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()).parse(this).time
|
||||
SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()).parse(this)?.time ?: 0L
|
||||
} catch (_: Exception) {
|
||||
0L
|
||||
}
|
||||
|
@ -7,14 +7,14 @@ import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class TruyenQQ : ParsedHttpSource() {
|
||||
override val name: String = "TruyenQQ"
|
||||
@ -91,14 +91,15 @@ class TruyenQQ : ParsedHttpSource() {
|
||||
chapter_number = name.substringAfter("Chương").trim().toFloat()
|
||||
}
|
||||
private fun parseDate(date: String): Long {
|
||||
return SimpleDateFormat("dd/MM/yyyy", Locale.US).parse(date).time
|
||||
return SimpleDateFormat("dd/MM/yyyy", Locale.US).parse(date)?.time ?: 0L
|
||||
}
|
||||
|
||||
// Pages
|
||||
|
||||
override fun pageListParse(document: Document): List<Page> = mutableListOf<Page>().apply {
|
||||
document.select("img.lazy").forEachIndexed { index, element ->
|
||||
add(Page(index, "", element.attr("abs:src"))) }
|
||||
add(Page(index, "", element.attr("abs:src")))
|
||||
}
|
||||
}
|
||||
override fun imageUrlParse(document: Document): String {
|
||||
throw Exception("Not Used")
|
||||
|
@ -6,14 +6,14 @@ import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class TruyenTranhLH : ParsedHttpSource() {
|
||||
|
||||
@ -108,7 +108,7 @@ class TruyenTranhLH : ParsedHttpSource() {
|
||||
setUrlWithoutDomain(element.attr("href"))
|
||||
name = element.select("div.chapter-name").text()
|
||||
date_upload = element.select("div.chapter-time").firstOrNull()?.text()
|
||||
?.let { SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()).parse(it).time } ?: 0
|
||||
?.let { SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()).parse(it)?.time ?: 0L } ?: 0
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user