Add MangaMura (#7551)

* Add MangaMura

* refactor: code changes

* fix

---------

Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>
This commit is contained in:
Hellkaros 2025-03-14 12:08:01 -03:00 committed by Draff
parent 851564a4e2
commit 7154880810
No known key found for this signature in database
GPG Key ID: E8A89F3211677653
8 changed files with 126 additions and 0 deletions

View File

@ -0,0 +1,10 @@
ext {
extName = 'Manga Mura'
extClass = '.MangaMura'
themePkg = 'mangareader'
baseUrl = 'https://mangamura.net'
overrideVersionCode = 0
isNsfw = true
}
apply from: "$rootDir/common.gradle"

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,43 @@
package eu.kanade.tachiyomi.extension.ja.mangamura
import eu.kanade.tachiyomi.multisrc.mangareader.MangaReader
import eu.kanade.tachiyomi.source.model.FilterList
import okhttp3.Request
class MangaMura : MangaReader(
"Manga Mura",
"https://mangamura.net",
"ja",
) {
override val chapterIdSelect = "ja-chaps"
override fun getAjaxUrl(id: String): String {
return "$baseUrl/json/chapter?mode=vertical&id=$id"
}
override val searchPathSegment = ""
override val searchKeyword = "q"
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val request = super.searchMangaRequest(page, query, filters)
// avoid 302
val newUrl = request.url.newBuilder()
.addPathSegment("")
.build()
return request.newBuilder()
.url(newUrl)
.build()
}
override fun getFilterList(): FilterList {
return FilterList(
Note,
TypeFilter(),
StatusFilter(),
LanguageFilter(),
SortFilter(),
)
}
}

View File

@ -0,0 +1,73 @@
package eu.kanade.tachiyomi.extension.ja.mangamura
import eu.kanade.tachiyomi.multisrc.mangareader.MangaReader.UriMultiSelectFilter
import eu.kanade.tachiyomi.multisrc.mangareader.MangaReader.UriPartFilter
class TypeFilter : UriPartFilter(
"タイプ",
"type",
arrayOf(
"全て" to "all",
"Raw Manga" to "Raw Manga",
"BLコミック" to "BLコミック",
"TLコミック" to "TLコミック",
"オトナコミック" to "オトナコミック",
"女性マンガ" to "女性マンガ",
"少女マンガ" to "少女マンガ",
"少年マンガ" to "少年マンガ",
"青年マンガ" to "青年マンガ",
),
)
class StatusFilter : UriPartFilter(
"地位",
"status",
arrayOf(
"全て" to "all",
"Publishing" to "Publishing",
"Finished" to "Finished",
),
)
class LanguageFilter : UriPartFilter(
"言語",
"language",
arrayOf(
"全て" to "all",
"Japanese" to "ja",
"English" to "en",
),
)
class SortFilter : UriPartFilter(
"選別",
"sort",
arrayOf(
"デフォルト" to "default",
"最新の更新" to "latest-updated",
"最も見られました" to "most-viewed",
"Title [A-Z]" to "title-az",
"Title [Z-A]" to "title-za",
),
)
class GenreFilter : UriMultiSelectFilter(
"ジャンル",
"genre[]",
arrayOf(
"アクション" to "55",
"エッチ" to "15706",
"コメディ" to "91",
"ドラマ" to "56",
"ハーレム" to "20",
"ファンタジー" to "1",
"冒険" to "54",
"悪魔" to "6820",
"武道" to "1064",
"歴史的" to "9600",
"警察・特殊部隊" to "6089",
"車・バイク" to "4329",
"音楽" to "473",
"魔法" to "1416",
),
)