Fix Hentai2Read chapter list issues. (#197)

* Update chapter list selector to avoid empty list.

* Update tag list.

* Update doujin list.

* Fix chapter date not being detected due to change on site, and update version code.
This commit is contained in:
ddmgy 2018-02-17 06:57:39 -05:00 committed by inorichi
parent 965b1028ed
commit 4b3883f8b4
2 changed files with 63 additions and 11 deletions

View File

@ -5,9 +5,9 @@ ext {
appName = 'Tachiyomi: Hentai2Read' appName = 'Tachiyomi: Hentai2Read'
pkgNameSuffix = 'en.hentai2read' pkgNameSuffix = 'en.hentai2read'
extClass = '.Hentai2Read' extClass = '.Hentai2Read'
extVersionCode = 2 extVersionCode = 3
extVersionSuffix = 1 extVersionSuffix = 1
libVersion = '1.0' libVersion = '1.2'
} }
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View File

@ -16,8 +16,6 @@ import java.util.regex.Pattern
class Hentai2Read : ParsedHttpSource() { class Hentai2Read : ParsedHttpSource() {
override val id: Long = 20
override val name = "Hentai2Read" override val name = "Hentai2Read"
override val baseUrl = "https://hentai2read.com" override val baseUrl = "https://hentai2read.com"
@ -35,6 +33,10 @@ class Hentai2Read : ParsedHttpSource() {
Pattern.compile("""'images' : \[\"(.*?)[,]?\"\]""") Pattern.compile("""'images' : \[\"(.*?)[,]?\"\]""")
} }
val chapterDatePattern by lazy {
Pattern.compile("""about (\d+\s+\w+\s+ago)""")
}
lateinit var base64String: String lateinit var base64String: String
} }
@ -144,20 +146,25 @@ class Hentai2Read : ParsedHttpSource() {
return manga return manga
} }
fun parseStatus(status: String) = when { private fun parseStatus(status: String) = when {
status.contains("Ongoing") -> SManga.ONGOING status.contains("Ongoing") -> SManga.ONGOING
status.contains("Completed") -> SManga.COMPLETED status.contains("Completed") -> SManga.COMPLETED
else -> SManga.UNKNOWN else -> SManga.UNKNOWN
} }
override fun chapterListSelector() = "ul.nav-chapters li a.link-effect" override fun chapterListSelector() = "ul.nav-chapters > li > div.media > a"
override fun chapterFromElement(element: Element): SChapter { override fun chapterFromElement(element: Element): SChapter {
val chapter = SChapter.create() val chapter = SChapter.create()
chapter.setUrlWithoutDomain(element.attr("href")) chapter.setUrlWithoutDomain(element.attr("href"))
chapter.name = element.ownText().trim() chapter.name = element.ownText().trim()
chapter.date_upload = element.select("div > small").text()?.substringAfterLast(" on ")?.trim()?.let { chapter.date_upload = element.select("div > small").text()?.let {
parseChapterDate(it) val matcher = chapterDatePattern.matcher(it)
if (matcher.find()) {
parseChapterDate(matcher.group(1))
} else {
0L
}
} ?: 0L } ?: 0L
return chapter return chapter
} }
@ -273,7 +280,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Yuri", 28) Tag("Yuri", 28)
) )
// Tags : 350 // Tags : 355
// $("div#tab-tag > div:has(a.block)").map((i, el) => `Tag("${$(el).select("a").first().text().trim()}", ${$(el).find("input").first().attr("value")})`).get().sort().join(",\n") // $("div#tab-tag > div:has(a.block)").map((i, el) => `Tag("${$(el).select("a").first().text().trim()}", ${$(el).find("input").first().attr("value")})`).get().sort().join(",\n")
// on https://hentai2read.com/hentai-search/" // on https://hentai2read.com/hentai-search/"
private fun getTagList() = listOf( private fun getTagList() = listOf(
@ -301,6 +308,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Anthology", 589), Tag("Anthology", 589),
Tag("Anthropomorphism", 913), Tag("Anthropomorphism", 913),
Tag("Apron", 975), Tag("Apron", 975),
Tag("Armpit Licking", 2360),
Tag("Armpit Sex", 1843), Tag("Armpit Sex", 1843),
Tag("Arranged Marriage", 846), Tag("Arranged Marriage", 846),
Tag("Artificial Intelligence", 1719), Tag("Artificial Intelligence", 1719),
@ -354,6 +362,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Child Prostitute", 1663), Tag("Child Prostitute", 1663),
Tag("Childhood Friends", 309), Tag("Childhood Friends", 309),
Tag("Childhood Love", 310), Tag("Childhood Love", 310),
Tag("Chinese Dress", 2344),
Tag("Chubby", 1819), Tag("Chubby", 1819),
Tag("Club President", 1586), Tag("Club President", 1586),
Tag("Clumsy Character", 1808), Tag("Clumsy Character", 1808),
@ -423,6 +432,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Goddess", 1309), Tag("Goddess", 1309),
Tag("Group Intercourse", 311), Tag("Group Intercourse", 311),
Tag("Gyaru", 2185), Tag("Gyaru", 2185),
Tag("Hairy Armpit", 2359),
Tag("Hand Job", 534), Tag("Hand Job", 534),
Tag("Happy Sex", 491), Tag("Happy Sex", 491),
Tag("Hardcore", 1397), Tag("Hardcore", 1397),
@ -487,6 +497,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Nurses", 1046), Tag("Nurses", 1046),
Tag("Obsessive Love", 605), Tag("Obsessive Love", 605),
Tag("Office Ladies", 1738), Tag("Office Ladies", 1738),
Tag("Old Man", 2331),
Tag("Older Brother", 1366), Tag("Older Brother", 1366),
Tag("Older Female Young Boy", 1648), Tag("Older Female Young Boy", 1648),
Tag("Older Female Younger Male", 355), Tag("Older Female Younger Male", 355),
@ -626,19 +637,22 @@ class Hentai2Read : ParsedHttpSource() {
Tag("X-Ray", 1071), Tag("X-Ray", 1071),
Tag("Yandere", 873), Tag("Yandere", 873),
Tag("Youkai", 1029), Tag("Youkai", 1029),
Tag("Young Master", 500) Tag("Young Master", 500),
Tag("Yuri as a Subplot", 2342)
) )
// Doujins : 828 // Doujins : 868
// $("div#tab-doujin > div:has(a.block)").map((i, el) => `Tag("${$(el).select("a").first().text().trim()}", ${$(el).find("input").first().attr("value")})`).get().sort().join(",\n") // $("div#tab-doujin > div:has(a.block)").map((i, el) => `Tag("${$(el).select("a").first().text().trim()}", ${$(el).find("input").first().attr("value")})`).get().sort().join(",\n")
// on https://hentai2read.com/hentai-search/" // on https://hentai2read.com/hentai-search/"
private fun getDoujinList() = listOf( private fun getDoujinList() = listOf(
Tag("3-gatsu no Lion", 2350),
Tag("3x3 Eyes", 1118), Tag("3x3 Eyes", 1118),
Tag("7th Dragon", 1401), Tag("7th Dragon", 1401),
Tag("81diver", 1880), Tag("81diver", 1880),
Tag("A Channel", 2168), Tag("A Channel", 2168),
Tag("Accel World", 1584), Tag("Accel World", 1584),
Tag("Ace Attorney", 1990), Tag("Ace Attorney", 1990),
Tag("Action Heroine: Cheer Fruits", 2339),
Tag("Agent Aika", 2141), Tag("Agent Aika", 2141),
Tag("Ah! My Goddess", 1027), Tag("Ah! My Goddess", 1027),
Tag("Ai yori Aoshi", 1522), Tag("Ai yori Aoshi", 1522),
@ -661,6 +675,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("And Yet The Town Moves", 1916), Tag("And Yet The Town Moves", 1916),
Tag("Ane Doki", 1699), Tag("Ane Doki", 1699),
Tag("Angel Beats!", 1080), Tag("Angel Beats!", 1080),
Tag("Animal Crossing", 2364),
Tag("Anne Happy", 2317), Tag("Anne Happy", 2317),
Tag("Ano Hana", 1090), Tag("Ano Hana", 1090),
Tag("Ano Hi Mita Hana no Namae o Bokutachi wa Mada Shiranai", 1109), Tag("Ano Hi Mita Hana no Namae o Bokutachi wa Mada Shiranai", 1109),
@ -682,11 +697,13 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Ashitaba-san Chi no Muko Kurashi", 2299), Tag("Ashitaba-san Chi no Muko Kurashi", 2299),
Tag("Asobi ni Ikuyo", 956), Tag("Asobi ni Ikuyo", 956),
Tag("Astarotte no Omocha!", 1705), Tag("Astarotte no Omocha!", 1705),
Tag("Astro Fighter Sunred", 2338),
Tag("Asu no Yoichi!", 967), Tag("Asu no Yoichi!", 967),
Tag("Atelier Series", 2023), Tag("Atelier Series", 2023),
Tag("Axis Powers Hetalia", 2256), Tag("Axis Powers Hetalia", 2256),
Tag("Azazel-san.", 1773), Tag("Azazel-san.", 1773),
Tag("Azumanga Daioh", 1775), Tag("Azumanga Daioh", 1775),
Tag("Azur Lane", 2368),
Tag("Baccano!", 1980), Tag("Baccano!", 1980),
Tag("Baka to Test to Shoukanjuu", 940), Tag("Baka to Test to Shoukanjuu", 940),
Tag("Bakemonogatari", 1024), Tag("Bakemonogatari", 1024),
@ -694,6 +711,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Bakunyu", 1244), Tag("Bakunyu", 1244),
Tag("Bakuon", 2214), Tag("Bakuon", 2214),
Tag("Bamboo Blade", 1654), Tag("Bamboo Blade", 1654),
Tag("Bang Dream", 2333),
Tag("Banner of the Stars", 2199), Tag("Banner of the Stars", 2199),
Tag("Basquash!", 1087), Tag("Basquash!", 1087),
Tag("Bastard!!", 1593), Tag("Bastard!!", 1593),
@ -711,6 +729,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Bikini Warriors", 2198), Tag("Bikini Warriors", 2198),
Tag("Bishoujo Kamen Poitrine", 2162), Tag("Bishoujo Kamen Poitrine", 2162),
Tag("Black Bullet", 1999), Tag("Black Bullet", 1999),
Tag("Black Butler", 2363),
Tag("Black Cat", 1103), Tag("Black Cat", 1103),
Tag("Black Desert Online", 2321), Tag("Black Desert Online", 2321),
Tag("Black Lagoon", 1249), Tag("Black Lagoon", 1249),
@ -720,6 +739,8 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Bleach", 933), Tag("Bleach", 933),
Tag("Blue Exorcist", 2027), Tag("Blue Exorcist", 2027),
Tag("Boku wa Tomodachi ga Sukunai", 954), Tag("Boku wa Tomodachi ga Sukunai", 954),
Tag("Bokutachi wa Benkyou ga Dekinai", 2366),
Tag("Boruto", 2351),
Tag("Brave Beats", 2206), Tag("Brave Beats", 2206),
Tag("Brave Witches", 2320), Tag("Brave Witches", 2320),
Tag("Bravely Default", 1902), Tag("Bravely Default", 1902),
@ -729,6 +750,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Buddy Complex", 1982), Tag("Buddy Complex", 1982),
Tag("Busou Renkin", 1324), Tag("Busou Renkin", 1324),
Tag("Busou Shinki", 1801), Tag("Busou Shinki", 1801),
Tag("Busou Shoujo Machiavellianism", 2334),
Tag("CANAAN", 2037), Tag("CANAAN", 2037),
Tag("Campione!", 1706), Tag("Campione!", 1706),
Tag("Canvas", 2318), Tag("Canvas", 2318),
@ -748,6 +770,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Clannad", 955), Tag("Clannad", 955),
Tag("Claymore", 2030), Tag("Claymore", 2030),
Tag("Code Geass", 1009), Tag("Code Geass", 1009),
Tag("Collar x Malice", 2343),
Tag("Corpse Party", 2124), Tag("Corpse Party", 2124),
Tag("Cowboy Bebop", 1958), Tag("Cowboy Bebop", 1958),
Tag("Crayon Shin-chan", 2011), Tag("Crayon Shin-chan", 2011),
@ -783,7 +806,9 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Digimon Xros Wars", 1102), Tag("Digimon Xros Wars", 1102),
Tag("Dirty Pair no Daibouken", 901), Tag("Dirty Pair no Daibouken", 901),
Tag("Dirty Pair", 1260), Tag("Dirty Pair", 1260),
Tag("Discipline", 2358),
Tag("Disgaea 2", 1877), Tag("Disgaea 2", 1877),
Tag("Doctor Strange", 2340),
Tag("Dog Days", 1051), Tag("Dog Days", 1051),
Tag("Doki Doki Majo Shinpan", 1266), Tag("Doki Doki Majo Shinpan", 1266),
Tag("Dokidoki! Precure", 1854), Tag("Dokidoki! Precure", 1854),
@ -817,9 +842,11 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Excel Saga", 2286), Tag("Excel Saga", 2286),
Tag("Eyeshield 21", 1207), Tag("Eyeshield 21", 1207),
Tag("Fairy Tail", 1113), Tag("Fairy Tail", 1113),
Tag("Fallout", 2357),
Tag("Fancy Lala", 1265), Tag("Fancy Lala", 1265),
Tag("Fatal Frame", 2242), Tag("Fatal Frame", 2242),
Tag("Fate Apocrypha", 2203), Tag("Fate Apocrypha", 2203),
Tag("Fate Extella", 2329),
Tag("Fate Grand Order", 2148), Tag("Fate Grand Order", 2148),
Tag("Fate Hollow Ataraxia", 915), Tag("Fate Hollow Ataraxia", 915),
Tag("Fate Kaleid Liner Prisma Illya", 1964), Tag("Fate Kaleid Liner Prisma Illya", 1964),
@ -847,6 +874,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Futari wa Precure Splash Star", 1698), Tag("Futari wa Precure Splash Star", 1698),
Tag("Futari wa Precure", 1707), Tag("Futari wa Precure", 1707),
Tag("Futari wa Pretty Cure", 1903), Tag("Futari wa Pretty Cure", 1903),
Tag("Future Card Buddyfight", 2355),
Tag("GJ Club", 1813), Tag("GJ Club", 1813),
Tag("GJ-bu", 2180), Tag("GJ-bu", 2180),
Tag("Gabriel Dropout", 2270), Tag("Gabriel Dropout", 2270),
@ -869,6 +897,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Ghost Sweeper Mikami", 2239), Tag("Ghost Sweeper Mikami", 2239),
Tag("Gintama", 1952), Tag("Gintama", 1952),
Tag("Girl Friend Beta", 2254), Tag("Girl Friend Beta", 2254),
Tag("Girls Frontline", 2362),
Tag("Girls and Panzer", 1798), Tag("Girls and Panzer", 1798),
Tag("Girls High", 1998), Tag("Girls High", 1998),
Tag("Go! Princess PreCure", 2054), Tag("Go! Princess PreCure", 2054),
@ -906,9 +935,11 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Heartcatch Precure!", 1791), Tag("Heartcatch Precure!", 1791),
Tag("Hellsing", 2248), Tag("Hellsing", 2248),
Tag("Hentai Ouji to Warawanai Neko", 1868), Tag("Hentai Ouji to Warawanai Neko", 1868),
Tag("Heroic Age", 2346),
Tag("Hibike! Euphonium", 2088), Tag("Hibike! Euphonium", 2088),
Tag("Hidamari Sketch", 1417), Tag("Hidamari Sketch", 1417),
Tag("High School DxD", 1833), Tag("High School DxD", 1833),
Tag("High Score Girl", 2352),
Tag("Highschool of the Dead", 991), Tag("Highschool of the Dead", 991),
Tag("Higurashi no Naku Koro ni", 1096), Tag("Higurashi no Naku Koro ni", 1096),
Tag("Hikaru No Go", 2255), Tag("Hikaru No Go", 2255),
@ -939,6 +970,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Inou-Battle wa Nichijou-kei no Naka de", 2224), Tag("Inou-Battle wa Nichijou-kei no Naka de", 2224),
Tag("Inu x Boku SS", 1950), Tag("Inu x Boku SS", 1950),
Tag("Inuyasha", 1985), Tag("Inuyasha", 1985),
Tag("Irresponsible Captain Tylor", 2348),
Tag("Isekai no Seikishi Monogatari", 1509), Tag("Isekai no Seikishi Monogatari", 1509),
Tag("Ixion Saga DT", 2091), Tag("Ixion Saga DT", 2091),
Tag("Jewelpet Sunshine", 1874), Tag("Jewelpet Sunshine", 1874),
@ -950,6 +982,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Jormungand", 1770), Tag("Jormungand", 1770),
Tag("Joshiraku", 1873), Tag("Joshiraku", 1873),
Tag("Journey to the West", 786), Tag("Journey to the West", 786),
Tag("Jungle Guu", 2372),
Tag("Juuza Engi", 2068), Tag("Juuza Engi", 2068),
Tag("K-ON!", 945), Tag("K-ON!", 945),
Tag("Kaiten Mutenmaru", 2210), Tag("Kaiten Mutenmaru", 2210),
@ -969,6 +1002,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Kanon", 983), Tag("Kanon", 983),
Tag("Kantai Collection", 1870), Tag("Kantai Collection", 1870),
Tag("Kara no Kyoukai", 1900), Tag("Kara no Kyoukai", 1900),
Tag("Karakai Jouzu no Takagi-san", 2371),
Tag("Kashimashi", 1757), Tag("Kashimashi", 1757),
Tag("Katanagatari", 1806), Tag("Katanagatari", 1806),
Tag("Katekyo Hitman Reborn", 2132), Tag("Katekyo Hitman Reborn", 2132),
@ -987,6 +1021,8 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Kindaichi Shounen no Jikenbo", 2231), Tag("Kindaichi Shounen no Jikenbo", 2231),
Tag("King of Fighters", 1124), Tag("King of Fighters", 1124),
Tag("Kiniro Mosaic", 1855), Tag("Kiniro Mosaic", 1855),
Tag("Kino No Tabi", 2347),
Tag("Kirakira Precure a la Mode", 2341),
Tag("Kiss x Sis", 1733), Tag("Kiss x Sis", 1733),
Tag("Kizuato", 1497), Tag("Kizuato", 1497),
Tag("Kobayashi-san Chi no Maid Dragon", 2261), Tag("Kobayashi-san Chi no Maid Dragon", 2261),
@ -997,6 +1033,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Koi to Senkyo to Chocolate", 1749), Tag("Koi to Senkyo to Chocolate", 1749),
Tag("Koihime Musou", 1097), Tag("Koihime Musou", 1097),
Tag("Kokoro Connect", 1848), Tag("Kokoro Connect", 1848),
Tag("Kono Bijutsubu ni wa Mondai ga Aru!", 2336),
Tag("Kono Naka ni Hitori", 1726), Tag("Kono Naka ni Hitori", 1726),
Tag("Kono Subarashii Sekai Ni Syukufuku O", 2139), Tag("Kono Subarashii Sekai Ni Syukufuku O", 2139),
Tag("Kore wa Zombie desu ka?", 1844), Tag("Kore wa Zombie desu ka?", 1844),
@ -1014,10 +1051,12 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Kyoukai Senjou no Horizon", 941), Tag("Kyoukai Senjou no Horizon", 941),
Tag("Kyoukai no Kanata", 2074), Tag("Kyoukai no Kanata", 2074),
Tag("Kyuujou Lovers", 2223), Tag("Kyuujou Lovers", 2223),
Tag("La Blue Girl", 2353),
Tag("Last Period", 2311), Tag("Last Period", 2311),
Tag("Le Fruit de la Grisaia", 2012), Tag("Le Fruit de la Grisaia", 2012),
Tag("League of Legends", 1720), Tag("League of Legends", 1720),
Tag("Leed Sha", 418), Tag("Leed Sha", 418),
Tag("Legend Of Queen Opala", 2361),
Tag("Legend of Mana", 1949), Tag("Legend of Mana", 1949),
Tag("Legend of the Mystical Ninja", 1926), Tag("Legend of the Mystical Ninja", 1926),
Tag("Linebarrels of Iron", 1672), Tag("Linebarrels of Iron", 1672),
@ -1037,6 +1076,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Macross Delta", 2244), Tag("Macross Delta", 2244),
Tag("Macross Frontier", 1098), Tag("Macross Frontier", 1098),
Tag("Madan no Ou to Vanadis", 2090), Tag("Madan no Ou to Vanadis", 2090),
Tag("Made In Abyss", 2328),
Tag("Magi - Labyrinth of Magic", 1729), Tag("Magi - Labyrinth of Magic", 1729),
Tag("Magic Knight Rayearth", 2285), Tag("Magic Knight Rayearth", 2285),
Tag("Magic the Gathering", 1816), Tag("Magic the Gathering", 1816),
@ -1059,6 +1099,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Makai Kishi Ingrid", 2115), Tag("Makai Kishi Ingrid", 2115),
Tag("Makai Senki Disgaea", 1898), Tag("Makai Senki Disgaea", 1898),
Tag("Maken-Ki!", 1818), Tag("Maken-Ki!", 1818),
Tag("Mamono Musume Zukan", 2345),
Tag("Manyuu Hikenchou", 2013), Tag("Manyuu Hikenchou", 2013),
Tag("Maoyuu Maou Yuusha", 1768), Tag("Maoyuu Maou Yuusha", 1768),
Tag("Maria+Holic", 1005), Tag("Maria+Holic", 1005),
@ -1122,6 +1163,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("No-Rin", 1908), Tag("No-Rin", 1908),
Tag("Nodame Cantabile", 2319), Tag("Nodame Cantabile", 2319),
Tag("Noein", 2233), Tag("Noein", 2233),
Tag("Noir", 2367),
Tag("Non Non Biyori", 1888), Tag("Non Non Biyori", 1888),
Tag("Noragami", 1945), Tag("Noragami", 1945),
Tag("Nurarihyon no Mago", 1400), Tag("Nurarihyon no Mago", 1400),
@ -1184,6 +1226,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Princess Resurrection", 1647), Tag("Princess Resurrection", 1647),
Tag("Prink Trash", 1755), Tag("Prink Trash", 1755),
Tag("Prison School", 2106), Tag("Prison School", 2106),
Tag("Prunus Girl", 2354),
Tag("Pumpkin Scissors", 1407), Tag("Pumpkin Scissors", 1407),
Tag("Puzzle and Dragons", 1939), Tag("Puzzle and Dragons", 1939),
Tag("Queens Blade", 1120), Tag("Queens Blade", 1120),
@ -1272,6 +1315,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Shingeki no Kyojin", 1832), Tag("Shingeki no Kyojin", 1832),
Tag("Shining Blade", 1734), Tag("Shining Blade", 1734),
Tag("Shining Force", 2175), Tag("Shining Force", 2175),
Tag("Shinken", 2335),
Tag("Shinmai Fukei Kiruko-san", 1748), Tag("Shinmai Fukei Kiruko-san", 1748),
Tag("Shinmai Maou no Keiyakusha", 2084), Tag("Shinmai Maou no Keiyakusha", 2084),
Tag("Shinrabansho", 1842), Tag("Shinrabansho", 1842),
@ -1308,6 +1352,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Sousei No Onmyouji", 2272), Tag("Sousei No Onmyouji", 2272),
Tag("Space Battleship Yamato 2199", 1792), Tag("Space Battleship Yamato 2199", 1792),
Tag("Space Dandy", 2062), Tag("Space Dandy", 2062),
Tag("Space Patrol Luluco", 2365),
Tag("Spice and Wolf", 1411), Tag("Spice and Wolf", 1411),
Tag("Splatoon", 2099), Tag("Splatoon", 2099),
Tag("Star Driver", 1172), Tag("Star Driver", 1172),
@ -1359,11 +1404,14 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Tenchi Muyou", 1315), Tag("Tenchi Muyou", 1315),
Tag("Tengen Toppa Gurren Lagann", 1112), Tag("Tengen Toppa Gurren Lagann", 1112),
Tag("Tenjo Tenge", 1108), Tag("Tenjo Tenge", 1108),
Tag("Tenkai Knights", 2370),
Tag("Tenkuu no Escaflowne", 2330),
Tag("Terra Formars", 2153), Tag("Terra Formars", 2153),
Tag("The Idolm@sters", 948), Tag("The Idolm@sters", 948),
Tag("The Legend of Heroes", 1987), Tag("The Legend of Heroes", 1987),
Tag("The Legend of Zelda", 1793), Tag("The Legend of Zelda", 1793),
Tag("The Lord of Elemental", 1689), Tag("The Lord of Elemental", 1689),
Tag("The Ring", 2332),
Tag("The Seven Deadly Sins", 2005), Tag("The Seven Deadly Sins", 2005),
Tag("The World God Only Knows", 1123), Tag("The World God Only Knows", 1123),
Tag("They Are My Noble Masters", 1237), Tag("They Are My Noble Masters", 1237),
@ -1401,6 +1449,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Unbalance x Unbalance", 1405), Tag("Unbalance x Unbalance", 1405),
Tag("Under Night In-Birth", 2301), Tag("Under Night In-Birth", 2301),
Tag("Under the Moon", 2193), Tag("Under the Moon", 2193),
Tag("Undertale", 2356),
Tag("Unlight", 1862), Tag("Unlight", 1862),
Tag("Upotte!!", 1592), Tag("Upotte!!", 1592),
Tag("Urusei Yatsura", 1466), Tag("Urusei Yatsura", 1466),
@ -1423,6 +1472,7 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Waiting in the Summer", 1906), Tag("Waiting in the Summer", 1906),
Tag("Walkure Romanze", 2000), Tag("Walkure Romanze", 2000),
Tag("Warriors Orochi Z", 1684), Tag("Warriors Orochi Z", 1684),
Tag("Warship Girls", 2349),
Tag("Watashi ga Motenai no wa Dou Kangaete mo Omaera ga Warui!", 1621), Tag("Watashi ga Motenai no wa Dou Kangaete mo Omaera ga Warui!", 1621),
Tag("Wedding Peach", 2288), Tag("Wedding Peach", 2288),
Tag("Wild Arms 2", 982), Tag("Wild Arms 2", 982),
@ -1446,6 +1496,8 @@ class Hentai2Read : ParsedHttpSource() {
Tag("Yosuga No Sora", 2140), Tag("Yosuga No Sora", 2140),
Tag("Yotsuba!", 1234), Tag("Yotsuba!", 1234),
Tag("Yotsubato!", 1943), Tag("Yotsubato!", 1943),
Tag("You Are Under Arrest!", 2369),
Tag("Youkoso Jitsuryoku Shijou Shugi no Kyoushitsu e", 2337),
Tag("Yowamushi Pedal", 2086), Tag("Yowamushi Pedal", 2086),
Tag("Yu-Gi-Oh!", 1084), Tag("Yu-Gi-Oh!", 1084),
Tag("Yumekui Merry", 2024), Tag("Yumekui Merry", 2024),