From 5656b066f0403f2a170dbbccc9bf6aca536160ed Mon Sep 17 00:00:00 2001 From: Claudemirovsky <63046606+Claudemirovsky@users.noreply.github.com> Date: Sat, 22 Oct 2022 09:27:26 -0300 Subject: [PATCH] New source: Vizer.tv (#967) * Add vizer base * Add MixDrop extractor * Use StreamTape extractor * Use Fembed extractor * Dont count with WarezCDN * Add containsNsfw flag to build.gradle --- src/pt/vizer/AndroidManifest.xml | 24 ++ src/pt/vizer/build.gradle | 20 ++ src/pt/vizer/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4615 bytes src/pt/vizer/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2844 bytes src/pt/vizer/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 6542 bytes .../vizer/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 11032 bytes .../vizer/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 16184 bytes .../animeextension/pt/vizer/Vizer.kt | 311 ++++++++++++++++++ .../animeextension/pt/vizer/VizerFilters.kt | 113 +++++++ .../pt/vizer/VizerUrlActivity.kt | 42 +++ .../animeextension/pt/vizer/dto/VizerDto.kt | 81 +++++ .../pt/vizer/extractors/MixDropExtractor.kt | 25 ++ 12 files changed, 616 insertions(+) create mode 100644 src/pt/vizer/AndroidManifest.xml create mode 100644 src/pt/vizer/build.gradle create mode 100644 src/pt/vizer/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/pt/vizer/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/pt/vizer/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/pt/vizer/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/pt/vizer/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/Vizer.kt create mode 100644 src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/VizerFilters.kt create mode 100644 src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/VizerUrlActivity.kt create mode 100644 src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/dto/VizerDto.kt create mode 100644 src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/extractors/MixDropExtractor.kt diff --git a/src/pt/vizer/AndroidManifest.xml b/src/pt/vizer/AndroidManifest.xml new file mode 100644 index 000000000..16564b0c3 --- /dev/null +++ b/src/pt/vizer/AndroidManifest.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + diff --git a/src/pt/vizer/build.gradle b/src/pt/vizer/build.gradle new file mode 100644 index 000000000..658831f55 --- /dev/null +++ b/src/pt/vizer/build.gradle @@ -0,0 +1,20 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply plugin: 'kotlinx-serialization' + +ext { + extName = 'Vizer.tv' + pkgNameSuffix = 'pt.vizer' + extClass = '.Vizer' + extVersionCode = 1 + libVersion = '13' + containsNsfw = true +} + +dependencies { + implementation(project(':lib-fembed-extractor')) + implementation(project(':lib-streamtape-extractor')) + implementation "dev.datlag.jsunpacker:jsunpacker:1.0.1" +} + +apply from: "$rootDir/common.gradle" diff --git a/src/pt/vizer/res/mipmap-hdpi/ic_launcher.png b/src/pt/vizer/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ae34c91d80b514f96f0e1cabc9763f174549ce9b GIT binary patch literal 4615 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 literal 0 HcmV?d00001 diff --git a/src/pt/vizer/res/mipmap-xxhdpi/ic_launcher.png b/src/pt/vizer/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a5654df64de3772ea58f0792232955fb7cebe639 GIT binary patch literal 11032 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 literal 0 HcmV?d00001 diff --git a/src/pt/vizer/res/mipmap-xxxhdpi/ic_launcher.png b/src/pt/vizer/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b904558c70c943708ff55144826024fd34344b6c GIT binary patch literal 16184 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.getSharedPreferences("source_$id", 0x0000) + } + + // ============================== Popular =============================== + + override fun popularAnimeRequest(page: Int): Request { + val initialUrl = "$API_URL/ajaxPagination.php?categoryFilterOrderBy=vzViews&page=$page&categoryFilterOrderWay=desc&categoryFilterYearMin=1950&categoryFilterYearMax=2022" + val pageType = preferences.getString(PREF_POPULAR_PAGE_KEY, "movie")!! + val finalUrl = if ("movie" in pageType) { + initialUrl + "&saga=0&categoriesListMovies=all" + } else { + (initialUrl + "&categoriesListSeries=all").let { + if ("anime" in pageType) it + "&anime=1" + else it + "&anime=0" + } + } + return GET(finalUrl) + } + + override fun popularAnimeParse(response: Response): AnimesPage { + val result = response.parseAs() + val animes = result.list.map(::animeFromObject).toList() + val hasNext = result.quantity == 35 + return AnimesPage(animes, hasNext) + } + + private fun animeFromObject(item: SearchItemDto): SAnime = + SAnime.create().apply { + var slug = if (item.status.isBlank()) "filme" else "serie" + url = "/$slug/online/${item.url}" + slug = if (slug == "filme") "movies" else "series" + title = item.title + status = when (item.status) { + "Retornando" -> SAnime.ONGOING + else -> SAnime.COMPLETED + } + thumbnail_url = "$baseUrl/content/$slug/posterPt/342/${item.id}.webp" + } + + // ============================== Episodes ============================== + + private fun getSeasonEps(seasonElement: Element): List { + val id = seasonElement.attr("data-season-id") + val sname = seasonElement.text() + val response = client.newCall(apiRequest("getEpisodes=$id")).execute() + val episodes = response.parseAs().episodes.mapNotNull { + if (it.released) + SEpisode.create().apply { + name = "Temp $sname: Ep ${it.name} - ${it.title}" + episode_number = it.name.toFloatOrNull() ?: 0F + url = it.id + } + else null + } + return episodes + } + + override fun episodeListParse(response: Response): List { + val doc = response.asJsoup() + val seasons = doc.select("div#seasonsList div.item[data-season-id]") + return if (seasons.size > 0) { + seasons.flatMap(::getSeasonEps).reversed() + } else { + listOf( + SEpisode.create().apply { + name = "Filme" + episode_number = 1F + url = response.request.url.toString() + } + ) + } + } + + // ============================ Video Links ============================= + + override fun videoListRequest(episode: SEpisode): Request { + val url = episode.url + return if (url.startsWith("https")) { + // Its an real url, maybe from a movie + GET(url, headers) + } else { + // Fake url, its an ID that will be used to get episode languages + // (sub/dub) and then return the video link + apiRequest("getEpisodeLanguages=$url") + } + } + + override fun videoListParse(response: Response): List