From f019c2a2735c54023cace1f2b981ad0ceb3d2a92 Mon Sep 17 00:00:00 2001 From: manti <133025162+manti-X@users.noreply.github.com> Date: Tue, 28 Oct 2025 15:37:05 +0100 Subject: [PATCH] Add Gangan Online (#11280) * add gangan * refactor * rm --- src/ja/ganganonline/build.gradle | 7 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 6943 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3606 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 10200 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 19677 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 32034 bytes .../extension/ja/ganganonline/Dto.kt | 112 +++++++++++++++ .../extension/ja/ganganonline/GanganOnline.kt | 127 ++++++++++++++++++ 8 files changed, 246 insertions(+) create mode 100644 src/ja/ganganonline/build.gradle create mode 100644 src/ja/ganganonline/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/ja/ganganonline/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/ja/ganganonline/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/ja/ganganonline/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/ja/ganganonline/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/ja/ganganonline/src/eu/kanade/tachiyomi/extension/ja/ganganonline/Dto.kt create mode 100644 src/ja/ganganonline/src/eu/kanade/tachiyomi/extension/ja/ganganonline/GanganOnline.kt diff --git a/src/ja/ganganonline/build.gradle b/src/ja/ganganonline/build.gradle new file mode 100644 index 000000000..599be39b1 --- /dev/null +++ b/src/ja/ganganonline/build.gradle @@ -0,0 +1,7 @@ +ext { + extName = 'Gangan Online' + extClass = '.GanganOnline' + extVersionCode = 1 + isNsfw = false +} +apply from: "$rootDir/common.gradle" diff --git a/src/ja/ganganonline/res/mipmap-hdpi/ic_launcher.png b/src/ja/ganganonline/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..e845cef8769e492b68a9fe5d4c28ede885af3e7c GIT binary patch literal 6943 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 literal 0 HcmV?d00001 diff --git a/src/ja/ganganonline/res/mipmap-xhdpi/ic_launcher.png b/src/ja/ganganonline/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..41ab2e21b9207099a24338c338fbb2aded6b9259 GIT binary patch literal 10200 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 S^qU?40000cv>Fy}x<$sjo& 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 literal 0 HcmV?d00001 diff --git a/src/ja/ganganonline/res/mipmap-xxxhdpi/ic_launcher.png b/src/ja/ganganonline/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b7ae1ec8208f3f712c88d30b72844aa88f54bdc0 GIT binary patch literal 32034 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[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%0D&NSoHT=s)n`z#NXsA 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 + val props: Props, +) + +@Serializable +class Props( + val pageProps: PageProps, +) + +@Serializable +class PageProps( + val data: T, +) + +@Serializable +class MangaListDto( + val titleSections: List?, // Popular/Finished + val sections: List?, // Search + val ongoingTitleSection: MangaSectionDto?, // GA + val finishedTitleSection: MangaSectionDto?, // GA +) + +@Serializable +class MangaSectionDto( + val titles: List, +) + +@Serializable +class SearchSectionDto( + val titleLinks: List, +) + +@Serializable +class MangaDto( + private val titleId: Int, + private val header: String?, // Popular/Finished + private val name: String?, // Search + private val imageUrl: String?, + val isNovel: Boolean?, +) { + fun toSManga(baseUrl: String): SManga = SManga.create().apply { + url = "/title/$titleId" + title = header ?: name!! + thumbnail_url = baseUrl + imageUrl + } +} + +@Serializable +class PixivPageDto( + val ganganTitles: List?, +) + +@Serializable +class MangaDetailDto( + val default: MangaDetailDefaultDto, +) + +@Serializable +class MangaDetailDefaultDto( + private val titleName: String, + private val author: String, + private val description: String, + private val imageUrl: String, + val chapters: List, +) { + fun toSManga(baseUrl: String): SManga = SManga.create().apply { + title = titleName + author = this@MangaDetailDefaultDto.author + description = this@MangaDetailDefaultDto.description + thumbnail_url = baseUrl + imageUrl + } +} + +@Serializable +class ChapterDto( + private val id: Int, + val status: Int?, + private val mainText: String, + private val subText: String?, + private val publishingPeriod: String?, +) { + fun toSChapter(mangaUrl: String, dateFormat: SimpleDateFormat): SChapter = SChapter.create().apply { + url = "$mangaUrl/chapter/$id" + name = mainText + if (!subText.isNullOrEmpty()) " - $subText" else "" + date_upload = publishingPeriod?.substringBefore("〜").let { dateFormat.tryParse(it) } + } +} + +@Serializable +class PageListDto( + val pages: List, +) + +@Serializable +class PageDto( + val image: PageImageUrlDto?, + val linkImage: PageImageUrlDto?, +) + +@Serializable +class PageImageUrlDto( + val imageUrl: String, +) diff --git a/src/ja/ganganonline/src/eu/kanade/tachiyomi/extension/ja/ganganonline/GanganOnline.kt b/src/ja/ganganonline/src/eu/kanade/tachiyomi/extension/ja/ganganonline/GanganOnline.kt new file mode 100644 index 000000000..1c0ed6d2c --- /dev/null +++ b/src/ja/ganganonline/src/eu/kanade/tachiyomi/extension/ja/ganganonline/GanganOnline.kt @@ -0,0 +1,127 @@ +package eu.kanade.tachiyomi.extension.ja.ganganonline + +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.source.model.Filter +import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.MangasPage +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.source.model.SManga +import eu.kanade.tachiyomi.source.online.HttpSource +import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.firstInstance +import keiyoushi.utils.parseAs +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.Request +import okhttp3.Response +import java.text.SimpleDateFormat +import java.util.Locale + +class GanganOnline : HttpSource() { + override val name = "Gangan Online" + override val baseUrl = "https://www.ganganonline.com" + override val lang = "ja" + override val supportsLatest = false + + private val dateFormat = SimpleDateFormat("yyyy.MM.dd", Locale.JAPAN) + + override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/rensai", headers) + + override fun popularMangaParse(response: Response): MangasPage = searchMangaParse(response) + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + if (query.isNotBlank()) { + val url = "$baseUrl/search/result".toHttpUrl().newBuilder() + .addQueryParameter("keyword", query) + .build() + return GET(url, headers) + } + + val filter = filters.firstInstance() + val url = baseUrl.toHttpUrl().newBuilder() + .addPathSegments(filter.toUriPart().removePrefix("/")) + .build() + return GET(url, headers) + } + + override fun searchMangaParse(response: Response): MangasPage { + val url = response.request.url.toString() + val mangas = when { + "/search/result" in url -> { + val data = response.parseAsNextData() + data.sections?.flatMap { it.titleLinks } + ?.filter { it.isNovel != true } + ?.map { it.toSManga(baseUrl) } + } + "/rensai" in url || "/finish" in url -> { + val data = response.parseAsNextData() + data.titleSections?.flatMap { it.titles } + ?.filter { it.isNovel != true } + ?.map { it.toSManga(baseUrl) } + } + "/ga" in url -> { + val data = response.parseAsNextData() + val ongoing = data.ongoingTitleSection?.titles!! + val finished = data.finishedTitleSection?.titles!! + (ongoing + finished) + .filter { it.isNovel != true } + .map { it.toSManga(baseUrl) } + } + "/pixiv" in url -> { + val data = response.parseAsNextData() + data.ganganTitles?.map { it.toSManga(baseUrl) } + } + else -> null + } + return MangasPage(mangas!!, false) + } + + override fun mangaDetailsParse(response: Response): SManga { + return response.parseAsNextData().default.toSManga(baseUrl) + } + + override fun chapterListParse(response: Response): List { + val mangaUrl = response.request.url.toString() + .substringBefore("/chapter") + .substringAfter(baseUrl) + val data = response.parseAsNextData().default + + return data.chapters + .filter { it.status == null || it.status >= 4 } + .map { it.toSChapter(mangaUrl, dateFormat) } + } + + override fun pageListParse(response: Response): List { + val data = response.parseAsNextData() + return data.pages.mapIndexed { i, page -> + val imageUrl = (page.image ?: page.linkImage)!!.imageUrl + Page(i, imageUrl = baseUrl + imageUrl) + } + } + + override fun getFilterList() = FilterList( + CategoryFilter(getCategoryList()), + ) + + private class CategoryFilter(private val category: Array>) : + Filter.Select("Category", category.map { it.first }.toTypedArray()) { + fun toUriPart() = category[state].second + } + + private fun getCategoryList() = arrayOf( + Pair("連載作品", "/rensai"), + Pair("連載終了作品", "/finish"), + Pair("ガンガンpixiv", "/pixiv"), + Pair("ガンガンGA", "/ga"), + ) + + private inline fun Response.parseAsNextData(): T { + val script = this.asJsoup().selectFirst("script#__NEXT_DATA__")!!.data() + return script.parseAs>().props.pageProps.data + } + + // Unsupported + override fun latestUpdatesRequest(page: Int): Request = throw UnsupportedOperationException() + override fun latestUpdatesParse(response: Response): MangasPage = throw UnsupportedOperationException() + override fun imageUrlParse(response: Response): String = throw UnsupportedOperationException() +}