diff --git a/src/de/animetoast/build.gradle b/src/de/animetoast/build.gradle index 7d485fdc4..9d81633b7 100644 --- a/src/de/animetoast/build.gradle +++ b/src/de/animetoast/build.gradle @@ -6,13 +6,15 @@ ext { extName = 'AnimeToast' pkgNameSuffix = 'de.animetoast' extClass = '.AnimeToast' - extVersionCode = 8 + extVersionCode = 9 libVersion = '13' } dependencies { implementation(project(':lib-voe-extractor')) implementation(project(':lib-dood-extractor')) + implementation(project(':lib-filemoon-extractor')) + implementation(project(':lib-mp4upload-extractor')) } apply from: "$rootDir/common.gradle" diff --git a/src/de/animetoast/res/mipmap-hdpi/ic_launcher_adaptive_back.png b/src/de/animetoast/res/mipmap-hdpi/ic_launcher_adaptive_back.png deleted file mode 100644 index 8dc560dd4..000000000 Binary files a/src/de/animetoast/res/mipmap-hdpi/ic_launcher_adaptive_back.png and /dev/null differ diff --git a/src/de/animetoast/res/mipmap-hdpi/ic_launcher_adaptive_fore.png b/src/de/animetoast/res/mipmap-hdpi/ic_launcher_adaptive_fore.png deleted file mode 100644 index ee83e8b80..000000000 Binary files a/src/de/animetoast/res/mipmap-hdpi/ic_launcher_adaptive_fore.png and /dev/null differ diff --git a/src/de/animetoast/res/mipmap-mdpi/ic_launcher_adaptive_back.png b/src/de/animetoast/res/mipmap-mdpi/ic_launcher_adaptive_back.png deleted file mode 100644 index f8feb6e59..000000000 Binary files a/src/de/animetoast/res/mipmap-mdpi/ic_launcher_adaptive_back.png and /dev/null differ diff --git a/src/de/animetoast/res/mipmap-mdpi/ic_launcher_adaptive_fore.png b/src/de/animetoast/res/mipmap-mdpi/ic_launcher_adaptive_fore.png deleted file mode 100644 index 13d578b06..000000000 Binary files a/src/de/animetoast/res/mipmap-mdpi/ic_launcher_adaptive_fore.png and /dev/null differ diff --git a/src/de/animetoast/res/mipmap-xhdpi/ic_launcher_adaptive_back.png b/src/de/animetoast/res/mipmap-xhdpi/ic_launcher_adaptive_back.png deleted file mode 100644 index 1b560124d..000000000 Binary files a/src/de/animetoast/res/mipmap-xhdpi/ic_launcher_adaptive_back.png and /dev/null differ diff --git a/src/de/animetoast/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png b/src/de/animetoast/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png deleted file mode 100644 index 6d854db3f..000000000 Binary files a/src/de/animetoast/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png and /dev/null differ diff --git a/src/de/animetoast/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png b/src/de/animetoast/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png deleted file mode 100644 index 369383ac8..000000000 Binary files a/src/de/animetoast/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png and /dev/null differ diff --git a/src/de/animetoast/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png b/src/de/animetoast/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png deleted file mode 100644 index 32c497a93..000000000 Binary files a/src/de/animetoast/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png and /dev/null differ diff --git a/src/de/animetoast/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png b/src/de/animetoast/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png deleted file mode 100644 index de26e98f5..000000000 Binary files a/src/de/animetoast/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png and /dev/null differ diff --git a/src/de/animetoast/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png b/src/de/animetoast/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png deleted file mode 100644 index 5d33ff6ee..000000000 Binary files a/src/de/animetoast/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png and /dev/null differ diff --git a/src/de/animetoast/src/eu/kanade/tachiyomi/animeextension/de/animetoast/AnimeToast.kt b/src/de/animetoast/src/eu/kanade/tachiyomi/animeextension/de/animetoast/AnimeToast.kt index b05215072..f17127dca 100644 --- a/src/de/animetoast/src/eu/kanade/tachiyomi/animeextension/de/animetoast/AnimeToast.kt +++ b/src/de/animetoast/src/eu/kanade/tachiyomi/animeextension/de/animetoast/AnimeToast.kt @@ -12,6 +12,8 @@ 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.lib.doodextractor.DoodExtractor +import eu.kanade.tachiyomi.lib.filemoonextractor.FilemoonExtractor +import eu.kanade.tachiyomi.lib.mp4uploadextractor.Mp4uploadExtractor import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.util.asJsoup @@ -47,8 +49,7 @@ class AnimeToast : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun popularAnimeFromElement(element: Element): SAnime { val anime = SAnime.create() anime.setUrlWithoutDomain(element.select("div.item-thumbnail a").attr("href")) - val document = client.newCall(GET(baseUrl + anime.url)).execute().asJsoup() - anime.thumbnail_url = document.select(".item-content p img").attr("src") + anime.thumbnail_url = element.select("div.item-thumbnail a img").attr("src") anime.title = element.select("div.item-thumbnail a").attr("title") return anime } @@ -64,10 +65,18 @@ class AnimeToast : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val episodeList = mutableListOf() val file = document.select("a[rel=\"category tag\"]").text() if (file.contains("Serie")) { - val elements = document.select("#multi_link_tab0") - elements.forEach { - val episode = parseEpisodesFromSeries(it) - episodeList.addAll(episode) + if (document.select("#multi_link_tab0").attr("id").isNotEmpty()) { + val elements = document.select("#multi_link_tab0") + elements.forEach { + val episode = parseEpisodesFromSeries(it) + episodeList.addAll(episode) + } + } else { + val elements = document.select("#multi_link_tab1") + elements.forEach { + val episode = parseEpisodesFromSeries(it) + episodeList.addAll(episode) + } } } else { val episode = SEpisode.create() @@ -81,12 +90,26 @@ class AnimeToast : ConfigurableAnimeSource, ParsedAnimeHttpSource() { private fun parseEpisodesFromSeries(element: Element): List { val episodeElements = element.select("div.tab-pane a") - return episodeElements.map { episodeFromElement(it) } + val epT = episodeElements.text() + if (epT.contains(":") || epT.contains("-")) { + val url = episodeElements.attr("href") + val document = client.newCall(GET(url)).execute().asJsoup() + val nUrl = document.select("#player-embed a").attr("href") + val nDoc = client.newCall(GET(nUrl)).execute().asJsoup() + val nEpEl = nDoc.select("div.tab-pane a") + return nEpEl.map { episodeFromElement(it) } + } else { + return episodeElements.map { episodeFromElement(it) } + } } override fun episodeFromElement(element: Element): SEpisode { val episode = SEpisode.create() - episode.episode_number = element.text().replace("Ep. ", "").toFloat() + episode.episode_number = try { + element.text().replace("Ep. ", "").toFloat() + } catch (e: Exception) { + 100.0f + } episode.name = element.text() episode.setUrlWithoutDomain(element.attr("href")) return episode @@ -101,34 +124,133 @@ class AnimeToast : ConfigurableAnimeSource, ParsedAnimeHttpSource() { private fun videosFromElement(document: Document): List