From 10d51de70abe897cac9c2dd230118ee7da011253 Mon Sep 17 00:00:00 2001 From: TacoTheDank Date: Wed, 20 May 2020 00:50:40 -0400 Subject: [PATCH] Update sites for FMReader, Foolslide, and Genkan (#3230) --- src/all/fmreader/build.gradle | 2 +- .../extension/all/fmreader/FMReaderFactory.kt | 54 +------------------ src/all/foolslide/build.gradle | 2 +- .../all/foolslide/FoolSlideFactory.kt | 10 ++-- .../extension/all/foolslide/HentaiCafe.kt | 4 ++ src/all/genkan/build.gradle | 2 +- .../tachiyomi/extension/all/genkan/Genkan.kt | 2 +- 7 files changed, 15 insertions(+), 61 deletions(-) diff --git a/src/all/fmreader/build.gradle b/src/all/fmreader/build.gradle index 2e39f2891..ab2856eba 100644 --- a/src/all/fmreader/build.gradle +++ b/src/all/fmreader/build.gradle @@ -5,7 +5,7 @@ ext { appName = 'Tachiyomi: FMReader (multiple aggregators)' pkgNameSuffix = 'all.fmreader' extClass = '.FMReaderFactory' - extVersionCode = 13 + extVersionCode = 14 libVersion = '1.2' } diff --git a/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReaderFactory.kt b/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReaderFactory.kt index 26d752f39..951ce7024 100644 --- a/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReaderFactory.kt +++ b/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReaderFactory.kt @@ -24,11 +24,8 @@ import rx.Observable class FMReaderFactory : SourceFactory { override fun createSources(): List = listOf( LHTranslation(), - MangaHato(), - ManhwaScan(), - MangaTiki(), + KissLove(), MangaBone(), - YoloManga(), ReadComicOnlineOrg(), HanaScan(), RawLH(), @@ -38,7 +35,6 @@ class FMReaderFactory : SourceFactory { Comicastle(), Manhwa18Net(), Manhwa18NetRaw(), - MangaBorn(), SayTruyen(), EpikManga(), ManhuaScan() @@ -50,15 +46,8 @@ class FMReaderFactory : SourceFactory { class LHTranslation : FMReader("LHTranslation", "https://lhtranslation.net", "en") -class MangaHato : FMReader("MangaHato", "https://mangahato.com", "ja") -class ManhwaScan : FMReader("ManhwaScan", "https://manhwascan.com", "en") { - override fun getImgAttr(element: Element?): String? = element?.attr("abs:src") -} -class MangaTiki : FMReader("MangaTiki", "https://mangatiki.com", "ja") +class KissLove : FMReader("KissLove", "https://kisslove.net", "ja") class MangaBone : FMReader("MangaBone", "https://mangabone.com", "en") -class YoloManga : FMReader("Yolo Manga", "https://yolomanga.ca", "es") { - override fun chapterListSelector() = "div#tab-chapper ~ div#tab-chapper table tr" -} class ReadComicOnlineOrg : FMReader("ReadComicOnline.org", "https://readcomiconline.org", "en") { override val client: OkHttpClient = network.cloudflareClient.newBuilder() @@ -263,45 +252,6 @@ class Manhwa18NetRaw : FMReader("Manhwa18.net Raw", "https://manhwa18.net", "ko" override fun getFilterList() = FilterList(super.getFilterList().filterNot { it == GenreList(getGenreList()) }) } -class MangaBorn : FMReader("MangaBorn", "https://hellxlight.com", "en") { - override val requestPath = "manga_list" - override val popularSort = "type=topview" - override fun popularMangaNextPageSelector() = "div.page-number a.select + a:not(.go-p-end)" - override fun popularMangaSelector() = "div.story-item" - override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { - return GET("$baseUrl/search/${query.replace(" ", "_")}?page=$page", headers) - } - override fun searchMangaParse(response: Response): MangasPage { - return response.asJsoup().let { document -> - val mangas = document.select(searchMangaSelector()).map { searchMangaFromElement(it) } - MangasPage(mangas, document.select(searchMangaNextPageSelector()).isNotEmpty()) - } - } - override fun searchMangaFromElement(element: Element): SManga { - return SManga.create().apply { - element.select("h2 a").let { - setUrlWithoutDomain(it.attr("href")) - title = it.text() - } - thumbnail_url = element.select("img").attr("abs:src") - } - } - override fun mangaDetailsParse(document: Document): SManga { - return SManga.create().apply { - document.select("div.story_content").let { info -> - author = info.select("span:contains(Author) + a").text() - genre = info.select("span:contains(Genres) + a").joinToString { it.text() } - status = parseStatus(info.select("span:contains(Status) + a").text()) - thumbnail_url = info.select("img.avatar").attr("abs:src") - description = info.select("div#story_discription > p").text() - } - } - } - override fun chapterListSelector() = "div.chapter_list li" - override val pageListImageSelector = "div.panel-read-story img" - override fun getFilterList() = FilterList() -} - class SayTruyen : FMReader("Say Truyen", "https://saytruyen.com", "vi") { override fun mangaDetailsParse(document: Document): SManga { val info = document.select("div.row").first() diff --git a/src/all/foolslide/build.gradle b/src/all/foolslide/build.gradle index 33a5017bf..9997723a8 100644 --- a/src/all/foolslide/build.gradle +++ b/src/all/foolslide/build.gradle @@ -5,7 +5,7 @@ ext { appName = 'Tachiyomi: FoolSlide (multiple sources)' pkgNameSuffix = 'all.foolslide' extClass = '.FoolSlideFactory' - extVersionCode = 47 + extVersionCode = 48 libVersion = '1.2' } diff --git a/src/all/foolslide/src/eu/kanade/tachiyomi/extension/all/foolslide/FoolSlideFactory.kt b/src/all/foolslide/src/eu/kanade/tachiyomi/extension/all/foolslide/FoolSlideFactory.kt index 535c7d1ac..e99a92890 100644 --- a/src/all/foolslide/src/eu/kanade/tachiyomi/extension/all/foolslide/FoolSlideFactory.kt +++ b/src/all/foolslide/src/eu/kanade/tachiyomi/extension/all/foolslide/FoolSlideFactory.kt @@ -107,7 +107,7 @@ class Mangatellers : FoolSlide("Mangatellers", "http://www.mangatellers.gr", "en } } -class IskultripScans : FoolSlide("Iskultrip Scans", "http://www.maryfaye.net", "en", "/reader") +class IskultripScans : FoolSlide("Iskultrip Scans", "https://maryfaye.net", "en", "/reader") class AnataNoMotokare : FoolSlide("Anata no Motokare", "https://motokare.xyz", "en", "/reader") @@ -117,7 +117,7 @@ class DokiFansubs : FoolSlide("Doki Fansubs", "https://kobato.hologfx.com", "en" class YuriIsm : FoolSlide("Yuri-ism", "https://www.yuri-ism.net", "en", "/slide") -class AjiaNoScantrad : FoolSlide("Ajia no Scantrad", "https://ajianoscantrad.fr", "fr", "/reader") +class AjiaNoScantrad : FoolSlide("Ajia no Scantrad", "https://www.ajianoscantrad.fr", "fr", "/reader") class OneTimeScans : FoolSlide("One Time Scans", "https://reader.otscans.com", "en") @@ -129,7 +129,7 @@ class Lilyreader : FoolSlide("Lilyreader", "https://manga.smuglo.li", "en") class Russification : FoolSlide("Русификация", "https://rusmanga.ru", "ru") -class EvilFlowers : FoolSlide("Evil Flowers", "http://reader.evilflowers.com", "en") +class EvilFlowers : FoolSlide("Evil Flowers", "https://reader.evilflowers.com", "en") class LupiTeam : FoolSlide("LupiTeam", "https://lupiteam.net", "it", "/reader") { override fun mangaDetailsParse(document: Document): SManga { @@ -156,11 +156,11 @@ class ZandynoFansub : FoolSlide("Zandy no Fansub", "https://zandynofansub.aishit class HelveticaScans : FoolSlide("Helvetica Scans", "https://helveticascans.com", "en", "/r") -class KirishimaFansub : FoolSlide("Kirishima Fansub", "https://kirishimafansub.net", "es", "/lector") +class KirishimaFansub : FoolSlide("Kirishima Fansub", "https://www.kirishimafansub.net", "es", "/lector") class PowerMangaIT : FoolSlide("PowerManga", "https://reader.powermanga.org", "it", "") -class BaixarHentai : FoolSlide("Baixar Hentai", "https://leitura.baixarhentai.net", "pt-BR") { +class BaixarHentai : FoolSlide("Baixar Hentai", "https://baixarhentai.net", "pt-BR", "/listona") { // Hardcode the id because the language wasn't specific. override val id: Long = 8908032188831949972 diff --git a/src/all/foolslide/src/eu/kanade/tachiyomi/extension/all/foolslide/HentaiCafe.kt b/src/all/foolslide/src/eu/kanade/tachiyomi/extension/all/foolslide/HentaiCafe.kt index 5e2e2b315..97356432e 100644 --- a/src/all/foolslide/src/eu/kanade/tachiyomi/extension/all/foolslide/HentaiCafe.kt +++ b/src/all/foolslide/src/eu/kanade/tachiyomi/extension/all/foolslide/HentaiCafe.kt @@ -177,16 +177,20 @@ class HentaiCafe : FoolSlide("Hentai Cafe", "https://hentai.cafe", "en", "/manga Tag("osananajimi", "Osananajimi"), Tag("paizuri", "Paizuri"), Tag("pettanko", "Pettanko"), + Tag("ponytail", "Ponytail"), + Tag("pubic-hair", "Pubic Hair"), Tag("rape", "Rape"), Tag("schoolgirl", "Schoolgirl"), Tag("sex-toys", "Sex toys"), Tag("shota", "Shota"), Tag("socks", "Socks"), + Tag("squirting", "Squirting"), Tag("stocking", "Stocking"), Tag("stockings", "Stockings"), Tag("swimsuit", "Swimsuit"), Tag("teacher", "Teacher"), Tag("tsundere", "Tsundere"), + Tag("twintails", "Twintails"), Tag("uncensored", "Uncensored"), Tag("vanilla", "Vanilla"), Tag("x-ray", "X-Ray") diff --git a/src/all/genkan/build.gradle b/src/all/genkan/build.gradle index fca662250..b10dcc725 100644 --- a/src/all/genkan/build.gradle +++ b/src/all/genkan/build.gradle @@ -5,7 +5,7 @@ ext { appName = 'Tachiyomi: Genkan (multiple sources)' pkgNameSuffix = 'all.genkan' extClass = '.GenkanFactory' - extVersionCode = 19 + extVersionCode = 20 libVersion = '1.2' } diff --git a/src/all/genkan/src/eu/kanade/tachiyomi/extension/all/genkan/Genkan.kt b/src/all/genkan/src/eu/kanade/tachiyomi/extension/all/genkan/Genkan.kt index 5315d617f..6cfc4ef11 100644 --- a/src/all/genkan/src/eu/kanade/tachiyomi/extension/all/genkan/Genkan.kt +++ b/src/all/genkan/src/eu/kanade/tachiyomi/extension/all/genkan/Genkan.kt @@ -203,7 +203,7 @@ abstract class GenkanOriginal( /* call another function if there's more pages to search not doing it this way can lead to a false "no results found" - if no matches are found on the first page but there are matcheszz + if no matches are found on the first page but there are matches on subsequent pages */ nextPageSelectorElement = document.select(searchMangaNextPageSelector()) while (nextPageSelectorElement.hasText()) {