From 61e24e3c1ab74aff949f63547f01ed0b450027f3 Mon Sep 17 00:00:00 2001 From: Secozzi <49240133+Secozzi@users.noreply.github.com> Date: Thu, 29 Jun 2023 11:56:51 +0200 Subject: [PATCH] fix(ko/aniweek): fix iframe stuff, small code refactor (#1795) --- src/ko/aniweek/build.gradle | 2 +- .../animeextension/ko/aniweek/Aniweek.kt | 185 ++++++++---------- 2 files changed, 87 insertions(+), 100 deletions(-) diff --git a/src/ko/aniweek/build.gradle b/src/ko/aniweek/build.gradle index b3340bd4a..14125914b 100644 --- a/src/ko/aniweek/build.gradle +++ b/src/ko/aniweek/build.gradle @@ -6,7 +6,7 @@ ext { extName = 'Aniweek' pkgNameSuffix = 'ko.aniweek' extClass = '.Aniweek' - extVersionCode = 1 + extVersionCode = 2 libVersion = '13' } diff --git a/src/ko/aniweek/src/eu/kanade/tachiyomi/animeextension/ko/aniweek/Aniweek.kt b/src/ko/aniweek/src/eu/kanade/tachiyomi/animeextension/ko/aniweek/Aniweek.kt index e63476b16..d240d17d1 100644 --- a/src/ko/aniweek/src/eu/kanade/tachiyomi/animeextension/ko/aniweek/Aniweek.kt +++ b/src/ko/aniweek/src/eu/kanade/tachiyomi/animeextension/ko/aniweek/Aniweek.kt @@ -18,7 +18,6 @@ import eu.kanade.tachiyomi.util.asJsoup import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json -import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.MediaType.Companion.toMediaType import okhttp3.OkHttpClient @@ -37,7 +36,7 @@ class Aniweek : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val name = "Aniweek" - override val baseUrl by lazy { preferences.getString("preferred_domain", "https://aniweek.com")!! } + override val baseUrl = "https://aniweek.com" override val lang = "ko" @@ -51,22 +50,15 @@ class Aniweek : ConfigurableAnimeSource, ParsedAnimeHttpSource() { Injekt.get().getSharedPreferences("source_$id", 0x0000) } - companion object { - private val DATE_FORMATTER by lazy { - SimpleDateFormat("yyyy-MM-dd", Locale.KOREAN) - } - } - // ============================== Popular =============================== override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/bbs/board.php?bo_table=ing") override fun popularAnimeSelector(): String = "div.list-board > div.list-body > div.list-row" - override fun popularAnimeNextPageSelector(): String = "ul.pagination > li.active ~ li:not(.disabled):matches(.)" - override fun popularAnimeFromElement(element: Element): SAnime { val thumbnailUrl = element.selectFirst("img")!!.attr("src") + return SAnime.create().apply { setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) thumbnail_url = if (thumbnailUrl.startsWith("..")) { @@ -78,16 +70,18 @@ class Aniweek : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } } + override fun popularAnimeNextPageSelector(): String = "ul.pagination > li.active ~ li:not(.disabled):matches(.)" + // =============================== Latest =============================== override fun latestUpdatesRequest(page: Int): Request = throw Exception("Not Used") override fun latestUpdatesSelector(): String = throw Exception("Not Used") - override fun latestUpdatesNextPageSelector(): String = throw Exception("Not Used") - override fun latestUpdatesFromElement(element: Element): SAnime = throw Exception("Not Used") + override fun latestUpdatesNextPageSelector(): String = throw Exception("Not Used") + // =============================== Search =============================== // 원피스 @@ -110,10 +104,10 @@ class Aniweek : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun searchAnimeSelector(): String = popularAnimeSelector() - override fun searchAnimeNextPageSelector(): String = popularAnimeNextPageSelector() - override fun searchAnimeFromElement(element: Element): SAnime = popularAnimeFromElement(element) + override fun searchAnimeNextPageSelector(): String = popularAnimeNextPageSelector() + // ============================== FILTERS =============================== override fun getFilterList(): AnimeFilterList = AnimeFilterList( @@ -183,6 +177,7 @@ class Aniweek : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun animeDetailsParse(document: Document): SAnime { val thumbnailUrl = document.selectFirst("div.view-info > div.image img")!!.attr("src") + return SAnime.create().apply { title = document.selectFirst("div.view-title")!!.text() thumbnail_url = if (thumbnailUrl.startsWith("..")) { @@ -201,14 +196,11 @@ class Aniweek : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun episodeListSelector(): String = "div.serial-list > ul.list-body > li" - override fun episodeFromElement(element: Element): SEpisode { - val episode = SEpisode.create() - episode.episode_number = element.selectFirst("div.wr-num")?.let { it.text()?.toFloatOrNull() ?: 1F } ?: 1F - episode.name = element.selectFirst("a")!!.text() - episode.setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) - episode.date_upload = element.selectFirst("div.wr-date")?.let { parseDate(it.text()) } ?: 0L - - return episode + override fun episodeFromElement(element: Element): SEpisode = SEpisode.create().apply { + episode_number = element.selectFirst("div.wr-num")?.let { it.text()?.toFloatOrNull() ?: 1F } ?: 1F + name = element.selectFirst("a")!!.text() + setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) + date_upload = element.selectFirst("div.wr-date")?.let { parseDate(it.text()) } ?: 0L } // ============================ Video Links ============================= @@ -217,19 +209,28 @@ class Aniweek : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val document = response.asJsoup() val videoList = mutableListOf