diff --git a/common-dependencies.gradle b/common-dependencies.gradle index 61899dd79..30dd9fd30 100644 --- a/common-dependencies.gradle +++ b/common-dependencies.gradle @@ -1,7 +1,7 @@ // used both in common.gradle and themesources library dependencies { // Lib 1.3, but using specific commit so we don't need to bump up the version - compileOnly "com.github.jmir1:extensions-lib:632a3e4" + compileOnly "com.github.jmir1:extensions-lib:c6577ab" // These are provided by the app itself compileOnly "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" diff --git a/src/en/fouranime/AndroidManifest.xml b/src/en/fouranime/AndroidManifest.xml deleted file mode 100644 index acb4de356..000000000 --- a/src/en/fouranime/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/src/en/fouranime/build.gradle b/src/en/fouranime/build.gradle deleted file mode 100644 index b4792b2b2..000000000 --- a/src/en/fouranime/build.gradle +++ /dev/null @@ -1,17 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' - -ext { - extName = '4anime.to' - pkgNameSuffix = 'en.fouranime' - extClass = '.FourAnime' - extVersionCode = 12 - libVersion = '12' -} -dependencies { - ext.coroutinesVersion = "1.4.3" - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion") -} - -apply from: "$rootDir/common.gradle" \ No newline at end of file diff --git a/src/en/fouranime/res/mipmap-hdpi/ic_launcher.png b/src/en/fouranime/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 5a376cfaf..000000000 Binary files a/src/en/fouranime/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/src/en/fouranime/res/mipmap-mdpi/ic_launcher.png b/src/en/fouranime/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index eb4ad9aeb..000000000 Binary files a/src/en/fouranime/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/src/en/fouranime/res/mipmap-xhdpi/ic_launcher.png b/src/en/fouranime/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index c17cfc623..000000000 Binary files a/src/en/fouranime/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/src/en/fouranime/res/mipmap-xxhdpi/ic_launcher.png b/src/en/fouranime/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 26838ce08..000000000 Binary files a/src/en/fouranime/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/en/fouranime/res/mipmap-xxxhdpi/ic_launcher.png b/src/en/fouranime/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index b0b87c780..000000000 Binary files a/src/en/fouranime/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/en/fouranime/res/web_hi_res_512.png b/src/en/fouranime/res/web_hi_res_512.png deleted file mode 100644 index 429d5e0b8..000000000 Binary files a/src/en/fouranime/res/web_hi_res_512.png and /dev/null differ diff --git a/src/en/fouranime/src/eu/kanade/tachiyomi/animeextension/en/fouranime/FourAnime.kt b/src/en/fouranime/src/eu/kanade/tachiyomi/animeextension/en/fouranime/FourAnime.kt deleted file mode 100644 index 038e3eb04..000000000 --- a/src/en/fouranime/src/eu/kanade/tachiyomi/animeextension/en/fouranime/FourAnime.kt +++ /dev/null @@ -1,121 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.en.fouranime - -import eu.kanade.tachiyomi.animesource.model.AnimeFilterList -import eu.kanade.tachiyomi.animesource.model.SAnime -import eu.kanade.tachiyomi.animesource.model.SEpisode -import eu.kanade.tachiyomi.animesource.model.Video -import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource -import eu.kanade.tachiyomi.network.GET -import okhttp3.Request -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element -import rx.Observable - -class FourAnime : ParsedAnimeHttpSource() { - - override val name = "4anime.to" - - override val baseUrl = "https://4anime.to" - - override val lang = "en" - - override val supportsLatest = true - - override fun popularAnimeSelector(): String = "#headerDIV_4" - - override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/popular-this-week/page/$page") - - override fun popularAnimeFromElement(element: Element): SAnime { - val anime = SAnime.create() - anime.setUrlWithoutDomain(element.select("#headerA_5").first().attr("href")) - anime.thumbnail_url = element.select("#headerIMG_6").first().attr("src") - anime.title = element.select("#headerIMG_6").first().attr("title") - return anime - } - - override fun popularAnimeNextPageSelector(): String? = "a.nextpostslink" - - override fun episodeListSelector() = "ul.episodes.active.range li a" - - override fun fetchEpisodeList(anime: SAnime): Observable> { - return super.fetchEpisodeList(anime).flatMap { Observable.just(it.reversed()) } - } - - override fun episodeFromElement(element: Element): SEpisode { - val episode = SEpisode.create() - episode.setUrlWithoutDomain(element.attr("href")) - episode.episode_number = episodeNumberFromText(element.text()) - episode.name = "Episode " + element.text() - episode.date_upload = System.currentTimeMillis() - return episode - } - - private fun episodeNumberFromText(text: String): Float { - return try { - text.toFloat() - } catch (e: NumberFormatException) { - val firstLetterAsNumber = (text.replace("[\\d]".toRegex(), "").first().toFloat() - 64F) / 100F - text.replace("[^\\d]".toRegex(), "").toFloat() + firstLetterAsNumber - } - } - - override fun videoListSelector() = "source" - - override fun videoFromElement(element: Element): Video { - return Video(element.attr("src"), "1080p", null, null) - } - - override fun fetchVideoUrl(video: Video): Observable { - return Observable.just(video.url) - } - - override fun videoUrlSelector() = throw Exception("not used") - - override fun videoUrlFromElement(element: Element) = throw Exception("not used") - - override fun searchAnimeFromElement(element: Element): SAnime { - val anime = SAnime.create() - anime.setUrlWithoutDomain(element.select("a").attr("href")) - anime.thumbnail_url = element.select("img").first().attr("src") - anime.title = element.select("div div").first().text() - return anime - } - - override fun searchAnimeNextPageSelector(): String = "a.nextpostslink" - - override fun searchAnimeSelector(): String = "#headerDIV_95" - - override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request = GET("$baseUrl/?s=$query") - - override fun animeDetailsParse(document: Document): SAnime { - val anime = SAnime.create() - anime.title = document.select("p.single-anime-desktop").text() - anime.genre = document.select("div.tag a").joinToString(", ") { it.text() } - anime.description = document.select("div#description-mob p[class!=description-mobile]").text() - anime.author = document.select("div.detail a[data-reactid=\".0.1.0.0.2.0.0.1.1.1.1\"]").text() - anime.status = parseStatus(document.select("div.detail a[data-reactid=\".0.1.0.0.2.0.0.1.1.3.1\"]").text()) - return anime - } - - private fun parseStatus(statusString: String): Int { - return when (statusString) { - "Currently Airing" -> SAnime.ONGOING - "Completed" -> SAnime.COMPLETED - else -> SAnime.UNKNOWN - } - } - - override fun latestUpdatesNextPageSelector(): String = "a.nextpostslink" - - override fun latestUpdatesFromElement(element: Element): SAnime { - val anime = SAnime.create() - anime.setUrlWithoutDomain("https://4anime.to/anime" + element.select("#headerA_5").first().attr("href").removePrefix("https://4anime.to").split("-episode-").first()) - anime.thumbnail_url = element.select("#headerIMG_6").first().attr("src") - anime.title = element.select("#headerA_5").first().attr("alt") - return anime - } - - override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/recently-added/page/$page") - - override fun latestUpdatesSelector(): String = "#headerDIV_4" -} diff --git a/src/en/gogoanime/build.gradle b/src/en/gogoanime/build.gradle index 217f9d1d3..20c671230 100644 --- a/src/en/gogoanime/build.gradle +++ b/src/en/gogoanime/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Gogoanime' pkgNameSuffix = 'en.gogoanime' extClass = '.GogoAnime' - extVersionCode = 6 + extVersionCode = 7 libVersion = '12' } dependencies { diff --git a/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt b/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt index 1966a5b0c..d3e54017b 100644 --- a/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt +++ b/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt @@ -131,9 +131,7 @@ class GogoAnime : ParsedAnimeHttpSource() { return linkList.reversed() } - override fun videoUrlFromElement(element: Element): String = throw Exception("not used") - - override fun videoUrlSelector() = throw Exception("not used") + override fun videoUrlParse(document: Document) = throw Exception("not used") override fun searchAnimeFromElement(element: Element): SAnime { val anime = SAnime.create() diff --git a/src/en/tenshimoe/build.gradle b/src/en/tenshimoe/build.gradle index f90baac35..a900ca796 100644 --- a/src/en/tenshimoe/build.gradle +++ b/src/en/tenshimoe/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'tenshi.moe' pkgNameSuffix = 'en.tenshimoe' extClass = '.TenshiMoe' - extVersionCode = 17 + extVersionCode = 18 libVersion = '12' } dependencies { diff --git a/src/en/tenshimoe/src/eu/kanade/tachiyomi/animeextension/en/tenshimoe/TenshiMoe.kt b/src/en/tenshimoe/src/eu/kanade/tachiyomi/animeextension/en/tenshimoe/TenshiMoe.kt index 2abfdf206..4d2918a39 100644 --- a/src/en/tenshimoe/src/eu/kanade/tachiyomi/animeextension/en/tenshimoe/TenshiMoe.kt +++ b/src/en/tenshimoe/src/eu/kanade/tachiyomi/animeextension/en/tenshimoe/TenshiMoe.kt @@ -107,9 +107,7 @@ class TenshiMoe : ParsedAnimeHttpSource() { return Video(element.attr("src"), element.attr("title"), element.attr("src"), null) } - override fun videoUrlFromElement(element: Element): String = throw Exception("not used") - - override fun videoUrlSelector() = throw Exception("not used") + override fun videoUrlParse(document: Document) = throw Exception("not used") override fun searchAnimeFromElement(element: Element): SAnime { val anime = SAnime.create()