Add more sources to GigaViewer (#10242)

* Add Comiplex source (closes #10090).

* Add Comic Days source (closes #10162).

* Add Sunday Web Every source (closes #10235).
This commit is contained in:
Alessandro Jean 2021-12-27 08:04:32 -03:00 committed by GitHub
parent 90c4d9ddaf
commit a759317049
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 126 additions and 6 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

View File

@ -0,0 +1,35 @@
package eu.kanade.tachiyomi.extension.ja.comicdays
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import org.jsoup.nodes.Element
class ComicDays : GigaViewer(
"Comic Days",
"https://comic-days.com",
"ja",
"https://cdn-img.comic-days.com/public/page"
) {
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "講談社"
override fun popularMangaSelector(): String = "ul.daily-series li.daily-series-item:has(a.link)"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.selectFirst("h4.daily-series-title")!!.text()
thumbnail_url = element.selectFirst("div.daily-series-thumb img")!!
.attr("data-src")
setUrlWithoutDomain(element.selectFirst("a.link")!!.attr("href"))
}
override fun latestUpdatesSelector(): String = "section#$dayOfWeek.daily " + popularMangaSelector()
override fun getCollections(): List<Collection> = listOf(
Collection("連載作品一覧", "")
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -0,0 +1,42 @@
package eu.kanade.tachiyomi.extension.ja.comiplex
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import okhttp3.Request
import org.jsoup.nodes.Element
class Comiplex : GigaViewer(
"Comiplex",
"https://viewer.heros-web.com",
"ja",
"https://cdn-img.viewer.heros-web.com/public/page"
) {
override val supportsLatest: Boolean = false
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "ヒーローズ"
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/series/heros", headers)
override fun popularMangaSelector(): String = "ul.series-items li.series-item > a"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.selectFirst("h4.item-series-title")!!.text()
thumbnail_url = element.selectFirst("div.series-item-thumb img")!!
.attr("data-src")
setUrlWithoutDomain(element.attr("href"))
}
override fun getCollections(): List<Collection> = listOf(
Collection("ヒーローズ", "heros"),
Collection("ふらっとヒーローズ", "flat"),
Collection("わいるどヒーローズ", "wild"),
Collection("読切作品", "oneshot")
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -0,0 +1,38 @@
package eu.kanade.tachiyomi.extension.ja.sundaywebevery
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import org.jsoup.nodes.Element
class SundayWebEvery : GigaViewer(
"Sunday Web Every",
"https://www.sunday-webry.com",
"ja",
"https://cdn-img.www.sunday-webry.com/public/page"
) {
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "小学館"
override fun popularMangaSelector(): String = "ul.webry-series-list li a.webry-series-item-link"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.selectFirst("h4.series-title")!!.text()
thumbnail_url = element.selectFirst("div.thumb-wrapper img")!!.attr("data-src")
setUrlWithoutDomain(element.attr("href"))
}
override fun latestUpdatesSelector(): String = "h3#series-$dayOfWeek + section " + popularMangaSelector()
override fun chapterListSelector(): String = "li.episode:not(.private)"
override fun getCollections(): List<Collection> = listOf(
Collection("連載作品", ""),
Collection("読切", "oneshot"),
Collection("夜サンデー", "yoru-sunday")
)
}

View File

@ -27,7 +27,7 @@ open class AsuraScans(
baseUrl, baseUrl,
lang, lang,
dateFormat dateFormat
), ),
ConfigurableSource { ConfigurableSource {
private val preferences: SharedPreferences by lazy { private val preferences: SharedPreferences by lazy {

View File

@ -12,11 +12,14 @@ class GigaViewerGenerator : ThemeSourceGenerator {
override val baseVersionCode: Int = 4 override val baseVersionCode: Int = 4
override val sources = listOf( override val sources = listOf(
SingleLang("Comic Days", "https://comic-days.com", "ja"),
SingleLang("Comic Gardo", "https://comic-gardo.com", "ja"), SingleLang("Comic Gardo", "https://comic-gardo.com", "ja"),
SingleLang("Comiplex", "https://viewer.heros-web.com", "ja"),
SingleLang("Kurage Bunch", "https://kuragebunch.com", "ja"), SingleLang("Kurage Bunch", "https://kuragebunch.com", "ja"),
SingleLang("MAGCOMI", "https://magcomi.com", "ja", className = "MagComi"), SingleLang("MAGCOMI", "https://magcomi.com", "ja", className = "MagComi"),
SingleLang("Magazine Pocket", "https://pocket.shonenmagazine.com", "ja"), SingleLang("Magazine Pocket", "https://pocket.shonenmagazine.com", "ja"),
SingleLang("Shonen Jump+", "https://shonenjumpplus.com", "ja", pkgName = "shonenjumpplus", className = "ShonenJumpPlus", overrideVersionCode = 2), SingleLang("Shonen Jump+", "https://shonenjumpplus.com", "ja", pkgName = "shonenjumpplus", className = "ShonenJumpPlus", overrideVersionCode = 2),
SingleLang("Sunday Web Every", "https://www.sunday-webry.com", "ja"),
SingleLang("Tonari no Young Jump", "https://tonarinoyj.jp", "ja", className = "TonariNoYoungJump") SingleLang("Tonari no Young Jump", "https://tonarinoyj.jp", "ja", className = "TonariNoYoungJump")
) )

View File

@ -45,7 +45,9 @@ open class MonochromeCMS(
} }
override fun fetchSearchManga( override fun fetchSearchManga(
page: Int, query: String, filters: FilterList page: Int,
query: String,
filters: FilterList
): Observable<MangasPage> { ): Observable<MangasPage> {
if (!query.startsWith(UUID_QUERY)) if (!query.startsWith(UUID_QUERY))
return super.fetchSearchManga(page, query, filters) return super.fetchSearchManga(page, query, filters)