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:
arkon
2020-09-13 18:33:59 -04:00
committed by GitHub
parent 19a3cd2367
commit 016653bdc0
229 changed files with 9702 additions and 8853 deletions

View File

@ -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() {

View File

@ -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)
)
}

View File

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

View File

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

View File

@ -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> {

View File

@ -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
}

View File

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

View File

@ -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
}
}