From bacae6ab8ede3264ee4be145594eaed40d1893ad Mon Sep 17 00:00:00 2001 From: Chopper <156493704+choppeh@users.noreply.github.com> Date: Sat, 28 Sep 2024 03:33:44 -0300 Subject: [PATCH] Remove UnionMangas (#5267) --- src/all/unionmangas/AndroidManifest.xml | 25 --- src/all/unionmangas/build.gradle | 12 - .../res/mipmap-hdpi/ic_launcher.png | Bin 3700 -> 0 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 1968 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 5040 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 9204 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 13846 -> 0 bytes .../extension/all/unionmangas/UnionMangas.kt | 210 ------------------ .../all/unionmangas/UnionMangasDto.kt | 68 ------ .../all/unionmangas/UnionMangasFactory.kt | 15 -- .../all/unionmangas/UnionMangasUrlActivity.kt | 36 --- 11 files changed, 366 deletions(-) delete mode 100644 src/all/unionmangas/AndroidManifest.xml delete mode 100644 src/all/unionmangas/build.gradle delete mode 100644 src/all/unionmangas/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src/all/unionmangas/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src/all/unionmangas/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src/all/unionmangas/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src/all/unionmangas/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangas.kt delete mode 100644 src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasDto.kt delete mode 100644 src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasFactory.kt delete mode 100644 src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasUrlActivity.kt diff --git a/src/all/unionmangas/AndroidManifest.xml b/src/all/unionmangas/AndroidManifest.xml deleted file mode 100644 index 80cb91e25..000000000 --- a/src/all/unionmangas/AndroidManifest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/src/all/unionmangas/build.gradle b/src/all/unionmangas/build.gradle deleted file mode 100644 index 1667159e7..000000000 --- a/src/all/unionmangas/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -ext { - extName = 'Union Mangas' - extClass = '.UnionMangasFactory' - extVersionCode = 6 - isNsfw = true -} - -apply from: "$rootDir/common.gradle" - -dependencies { - implementation(project(':lib:cryptoaes')) -} diff --git a/src/all/unionmangas/res/mipmap-hdpi/ic_launcher.png b/src/all/unionmangas/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 192b1691fc6212a2d970e7e6ec945a7102f6e6ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3700 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 KMNUMnLSTX)PFXbo diff --git a/src/all/unionmangas/res/mipmap-xxxhdpi/ic_launcher.png b/src/all/unionmangas/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 8929bdad16b9a1ee5d534589916d0719c601cc92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13846 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 { - val chapters = mutableListOf() - var currentPage = 0 - do { - val chaptersDto = fetchChapterListPageable(manga, currentPage) - chapters += chaptersDto.data.map { chapter -> - SChapter.create().apply { - name = chapter.name - date_upload = chapter.date.toDate() - url = chapter.toChapterUrl(langOption.infix) - } - } - currentPage++ - } while (chaptersDto.hasNextPage()) - return Observable.just(chapters) - } - - private fun fetchChapterListPageable(manga: SManga, page: Int): Pageable { - manga.apply { - url = getURLCompatibility(url) - } - - val maxResult = 16 - val url = "$apiUrl/${langOption.infix}/GetChapterListFilter/${manga.slug()}/$maxResult/$page/all/ASC" - return client.newCall(GET(url, headers)).execute() - .parseAs>() - } - - override fun latestUpdatesParse(response: Response) = popularMangaParse(response) - - override fun latestUpdatesRequest(page: Int): Request { - val maxResult = 24 - val url = "$apiUrl/${langOption.infix}/HomeLastUpdate".toHttpUrl().newBuilder() - .addPathSegment("$maxResult") - .addPathSegment("${page - 1}") - .build() - return GET(url, headers) - } - - override fun getMangaUrl(manga: SManga): String { - manga.apply { - url = getURLCompatibility(url) - } - - return baseUrl + manga.url.replace(langOption.infix, langOption.mangaSubstring) - } - - override fun mangaDetailsRequest(manga: SManga): Request { - manga.apply { - url = getURLCompatibility(url) - } - - val url = "$apiUrl/${langOption.infix}/getInfoManga".toHttpUrl().newBuilder() - .addPathSegment(manga.slug()) - .build() - return GET(url, headers) - } - - override fun mangaDetailsParse(response: Response): SManga { - val dto = response.parseAs() - return mangaParse(dto.details) - } - - override fun pageListRequest(chapter: SChapter): Request { - val chapterSlug = getURLCompatibility(chapter.url) - .substringAfter(langOption.infix) - - val url = "$apiUrl/${langOption.infix}/GetImageChapter$chapterSlug" - return GET(url, headers) - } - - override fun pageListParse(response: Response): List { - val location = response.request.url.toString() - val dto = response.parseAs() - return dto.pages.mapIndexed { index, url -> - Page(index, location, imageUrl = url) - } - } - - override fun popularMangaParse(response: Response): MangasPage { - val dto = response.parseAs>() - val mangas = dto.data.map(::mangaParse) - return MangasPage( - mangas = mangas, - hasNextPage = dto.hasNextPage(), - ) - } - - override fun popularMangaRequest(page: Int): Request { - val maxResult = 24 - return GET("$apiUrl/${langOption.infix}/HomeTopFllow/$maxResult/${page - 1}") - } - - override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { - val maxResult = 20 - val url = "$apiUrl/${langOption.infix}/QuickSearch/".toHttpUrl().newBuilder() - .addPathSegment(query) - .addPathSegment("$maxResult") - .build() - return GET(url, headers) - } - - override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { - if (query.startsWith(SEARCH_PREFIX)) { - val url = "$baseUrl/${langOption.infix}/${query.substringAfter(SEARCH_PREFIX)}" - return client.newCall(GET(url, headers)) - .asObservableSuccess().map { response -> - val mangas = try { listOf(mangaDetailsParse(response)) } catch (_: Exception) { emptyList() } - MangasPage(mangas, false) - } - } - return super.fetchSearchManga(page, query, filters) - } - - override fun imageUrlParse(response: Response): String = "" - - override fun searchMangaParse(response: Response): MangasPage { - val dto = response.parseAs() - return MangasPage( - dto.mangas.map(::mangaParse), - false, - ) - } - - /* - * Keeps compatibility with pt-BR previous version - * */ - private fun getURLCompatibility(url: String): String { - val slugSuffix = "-br" - val mangaSubString = "manga-br" - - val oldSlug = url.substringAfter(mangaSubString) - .substring(1) - .split("/") - .first() - - val newSlug = oldSlug.substringBeforeLast(slugSuffix) - - return url.replace(oldSlug, newSlug) - } - - private inline fun Response.parseAs(): T { - return json.decodeFromString(body.string()) - } - - private fun SManga.slug() = this.url.split("/").last() - - private fun mangaParse(dto: MangaDto): SManga { - return SManga.create().apply { - title = dto.title - thumbnail_url = dto.thumbnailUrl - status = dto.status - url = "/${langOption.infix}/${dto.slug}" - genre = dto.genres - initialized = true - } - } - - private fun String.toDate(): Long = - try { dateFormat.parse(trim())!!.time } catch (_: Exception) { 0L } - - companion object { - const val SEARCH_PREFIX = "slug:" - val apiUrl = "https://api.novelfull.us/api" - val oldApiUrl = "https://api.unionmanga.xyz" - val dateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS", Locale.ENGLISH) - } -} diff --git a/src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasDto.kt b/src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasDto.kt deleted file mode 100644 index 55a77cc7a..000000000 --- a/src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasDto.kt +++ /dev/null @@ -1,68 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.unionmangas - -import eu.kanade.tachiyomi.source.model.SManga -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable - -@Serializable -class MangaDetailsDto(private val data: Props) { - val details: MangaDto get() = data.details - - @Serializable - class Props( - @SerialName("infoDoc") val details: MangaDto, - ) -} - -@Serializable -open class Pageable( - var currentPage: Int, - var totalPage: Int, - val data: List, -) { - fun hasNextPage() = (currentPage + 1) <= totalPage -} - -@Serializable -class ChapterDto( - val date: String, - @SerialName("idDoc") val slugManga: String, - @SerialName("idDetail") val id: String, - @SerialName("nameChapter") val name: String, -) { - fun toChapterUrl(lang: String) = "/$lang/${this.slugManga}/$id" -} - -@Serializable -class MangaDto( - @SerialName("name") val title: String, - @SerialName("image") private val _thumbnailUrl: String, - @SerialName("idDoc") val slug: String, - @SerialName("genresName") val genres: String, - @SerialName("status") val _status: String, -) { - val thumbnailUrl get() = "${UnionMangas.oldApiUrl}$_thumbnailUrl" - - val status get() = when (_status) { - "ongoing" -> SManga.ONGOING - "completed" -> SManga.COMPLETED - else -> SManga.UNKNOWN - } -} - -@Serializable -class SearchDto( - @SerialName("data") - val mangas: List, -) - -@Serializable -class PageDto(val `data`: Data) { - val pages: List get() = `data`.detailDocuments.source.split("#") - - @Serializable - class Data(@SerialName("detail_documents") val detailDocuments: DetailDocuments) - - @Serializable - class DetailDocuments(val source: String) -} diff --git a/src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasFactory.kt b/src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasFactory.kt deleted file mode 100644 index cd2e01ba4..000000000 --- a/src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasFactory.kt +++ /dev/null @@ -1,15 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.unionmangas - -import eu.kanade.tachiyomi.source.Source -import eu.kanade.tachiyomi.source.SourceFactory - -class UnionMangasFactory : SourceFactory { - override fun createSources(): List = languages.map { UnionMangas(it) } -} - -class LanguageOption(val lang: String, val infix: String = lang, val mangaSubstring: String = infix) - -val languages = listOf( - LanguageOption("pt-BR", "manga-br"), - LanguageOption("ru", "manga-ru", "mangas"), -) diff --git a/src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasUrlActivity.kt b/src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasUrlActivity.kt deleted file mode 100644 index 29db77a01..000000000 --- a/src/all/unionmangas/src/eu/kanade/tachiyomi/extension/all/unionmangas/UnionMangasUrlActivity.kt +++ /dev/null @@ -1,36 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.unionmangas - -import android.app.Activity -import android.content.ActivityNotFoundException -import android.content.Intent -import android.os.Bundle -import android.util.Log -import kotlin.system.exitProcess - -class UnionMangasUrlActivity : Activity() { - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - val pathSegments = intent?.data?.pathSegments - - if (pathSegments != null && pathSegments.size > 1) { - val intent = Intent().apply { - action = "eu.kanade.tachiyomi.SEARCH" - putExtra("query", slug(pathSegments)) - putExtra("filter", packageName) - } - - try { - startActivity(intent) - } catch (e: ActivityNotFoundException) { - Log.e("UnionMangasUrlActivity", e.toString()) - } - } - - finish() - exitProcess(0) - } - - private fun slug(pathSegments: List) = - "${UnionMangas.SEARCH_PREFIX}${pathSegments[1]}" -}