diff --git a/src/it/dreamsub/AndroidManifest.xml b/src/it/dreamsub/AndroidManifest.xml deleted file mode 100644 index acb4de356..000000000 --- a/src/it/dreamsub/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/src/it/dreamsub/build.gradle b/src/it/dreamsub/build.gradle deleted file mode 100644 index 2020f385e..000000000 --- a/src/it/dreamsub/build.gradle +++ /dev/null @@ -1,13 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' - -ext { - extName = 'DreamSub' - pkgNameSuffix = 'it.dreamsub' - extClass = '.DreamSub' - extVersionCode = 2 - libVersion = '12' - containsNsfw = true -} - -apply from: "$rootDir/common.gradle" diff --git a/src/it/dreamsub/res/mipmap-hdpi/ic_launcher.png b/src/it/dreamsub/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index bc9850c4b..000000000 Binary files a/src/it/dreamsub/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/src/it/dreamsub/res/mipmap-mdpi/ic_launcher.png b/src/it/dreamsub/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index f276482be..000000000 Binary files a/src/it/dreamsub/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/src/it/dreamsub/res/mipmap-xhdpi/ic_launcher.png b/src/it/dreamsub/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index bdd6be2fc..000000000 Binary files a/src/it/dreamsub/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/src/it/dreamsub/res/mipmap-xxhdpi/ic_launcher.png b/src/it/dreamsub/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 00b7c725b..000000000 Binary files a/src/it/dreamsub/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/it/dreamsub/res/mipmap-xxxhdpi/ic_launcher.png b/src/it/dreamsub/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index ad2cd36c0..000000000 Binary files a/src/it/dreamsub/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/it/dreamsub/src/eu/kanade/tachiyomi/animeextension/it/dreamsub/DreamSub.kt b/src/it/dreamsub/src/eu/kanade/tachiyomi/animeextension/it/dreamsub/DreamSub.kt deleted file mode 100644 index 755679a64..000000000 --- a/src/it/dreamsub/src/eu/kanade/tachiyomi/animeextension/it/dreamsub/DreamSub.kt +++ /dev/null @@ -1,474 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.it.dreamsub - -import android.annotation.SuppressLint -import android.app.Application -import android.content.SharedPreferences -import androidx.preference.ListPreference -import androidx.preference.PreferenceScreen -import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource -import eu.kanade.tachiyomi.animesource.model.AnimeFilter -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 eu.kanade.tachiyomi.util.asJsoup -import okhttp3.Headers -import okhttp3.OkHttpClient -import okhttp3.Request -import okhttp3.Response -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get -import java.lang.Exception -import java.text.SimpleDateFormat - -class DreamSub : ConfigurableAnimeSource, ParsedAnimeHttpSource() { - - override val name = "DreamSub" - - override val baseUrl = "https://dreamsub.cc" - - override val lang = "it" - - override val supportsLatest = true - - override val client: OkHttpClient = network.cloudflareClient - - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } - - override fun popularAnimeSelector(): String = "div.goblock-content.go-full div.tvBlock" - - override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/search?page=${page - 1}") - - override fun popularAnimeFromElement(element: Element): SAnime { - val anime = SAnime.create() - anime.url = element.selectFirst("div.showStreaming a").attr("href") - anime.title = element.select("div.tvTitle").text() - return anime - } - - override fun popularAnimeNextPageSelector(): String = "li.page-item.active:not(li:last-child)" - - override fun episodeListParse(response: Response): List { - val document = response.asJsoup() - if (document.selectFirst(episodeListSelector()) == null) { - return oneEpisodeParse(document) - } - return document.select(episodeListSelector()).map { episodeFromElement(it) }.reversed() - } - - private fun formatDate(scrape_time: String): String = scrape_time.filter { !it.isWhitespace() } - .replace("Gennaio", "-01-") - .replace("Febbraio", "-02-") - .replace("Marzo", "-03-") - .replace("Aprile", "-04-") - .replace("Maggio", "-05-") - .replace("Giugno", "-06-") - .replace("Luglio", "-07-") - .replace("Agosto", "-08-") - .replace("Settembre", "-09-") - .replace("Ottobre", "-10-") - .replace("Novembre", "-11-") - .replace("Dicembre", "-12-") - - @SuppressLint("SimpleDateFormat") - private fun parseDate(scrape_time: String): Long { - return SimpleDateFormat("dd-MM-yyyy").parse(scrape_time).time - } - - private fun oneEpisodeParse(document: Document): List { - val episode = SEpisode.create() - episode.setUrlWithoutDomain(document.location()) - episode.episode_number = 1F - episode.name = document.selectFirst("ol.breadcrumb li a").text() - episode.date_upload = parseDate( - formatDate( - document.select("div.dcis").text() - .substringBefore(", Conclusa").substringAfter("Data:") - ) - ) - return listOf(episode) - } - - override fun episodeListSelector() = "div.goblock.server-list li.ep-item:has(div.sli-btn)" - - override fun episodeFromElement(element: Element): SEpisode { - val episode = SEpisode.create() - episode.setUrlWithoutDomain(baseUrl + element.selectFirst("div.sli-btn a").attr("href")) - val epText = element.selectFirst("div.sli-name a").text() - episode.episode_number = epText.substringAfter("Episodio ").substringBefore(":").toFloat() - episode.name = epText.replace(": TBA", "") - episode.date_upload = parseDate(formatDate(element.selectFirst("div.sli-name span").text())) - return episode - } - - override fun videoListSelector() = "div#main-content.onlyDesktop a.dwButton" - - override fun videoFromElement(element: Element): Video { - val referer = element.ownerDocument().location() - val url = element.attr("href") - val quality = element.firstElementSibling().text() + element.text() - return Video(url, quality, url, null, Headers.headersOf("Referer", referer)) - } - - override fun List