This commit is contained in:
Finnley Somdahl 2023-12-01 01:22:15 -06:00
parent 1df528c0dc
commit afa960c808
171 changed files with 3458 additions and 1915 deletions

View file

@ -1,8 +1,6 @@
package ani.dantotsu.parsers
import android.graphics.Bitmap
import ani.dantotsu.FileUrl
import ani.dantotsu.media.Media
import ani.dantotsu.media.manga.MangaNameAdapter
import com.bumptech.glide.load.resource.bitmap.BitmapTransformation
import eu.kanade.tachiyomi.source.model.Page
@ -15,7 +13,11 @@ abstract class MangaParser : BaseParser() {
/**
* Takes ShowResponse.link and ShowResponse.extra (if any) as arguments & gives a list of total chapters present on the site.
* **/
abstract suspend fun loadChapters(mangaLink: String, extra: Map<String, String>?, sManga: SManga): List<MangaChapter>
abstract suspend fun loadChapters(
mangaLink: String,
extra: Map<String, String>?,
sManga: SManga
): List<MangaChapter>
/**
* Takes ShowResponse.link, ShowResponse.extra & the Last Largest Chapter Number known by app as arguments
@ -23,9 +25,14 @@ abstract class MangaParser : BaseParser() {
* Returns the latest chapter (If overriding, Make sure the chapter is actually the latest chapter)
* Returns null, if no latest chapter is found.
* **/
open suspend fun getLatestChapter(mangaLink: String, extra: Map<String, String>?, sManga: SManga, latest: Float): MangaChapter? {
val chapter = loadChapters(mangaLink, extra, sManga)
val max = chapter
open suspend fun getLatestChapter(
mangaLink: String,
extra: Map<String, String>?,
sManga: SManga,
latest: Float
): MangaChapter? {
val chapter = loadChapters(mangaLink, extra, sManga)
val max = chapter
.maxByOrNull { MangaNameAdapter.findChapterNumber(it.number) ?: 0f }
return max
?.takeIf { latest < (MangaNameAdapter.findChapterNumber(it.number) ?: 0.001f) }
@ -40,13 +47,18 @@ abstract class MangaParser : BaseParser() {
open fun getTransformation(): BitmapTransformation? = null
}
class EmptyMangaParser: MangaParser() {
class EmptyMangaParser : MangaParser() {
override val name: String = "None"
override val saveName: String = "None"
override suspend fun loadChapters(mangaLink: String, extra: Map<String, String>?, sManga: SManga): List<MangaChapter> = emptyList()
override suspend fun loadChapters(
mangaLink: String,
extra: Map<String, String>?,
sManga: SManga
): List<MangaChapter> = emptyList()
override suspend fun loadImages(chapterLink: String, sChapter: SChapter): List<MangaImage> = emptyList()
override suspend fun loadImages(chapterLink: String, sChapter: SChapter): List<MangaImage> =
emptyList()
override suspend fun search(query: String): List<ShowResponse> = emptyList()
}
@ -82,7 +94,7 @@ data class MangaImage(
val useTransformation: Boolean = false,
val page: Page? = null,
) : Serializable{
constructor(url: String,useTransformation: Boolean=false, page: Page? = null)
: this(FileUrl(url),useTransformation, page)
) : Serializable {
constructor(url: String, useTransformation: Boolean = false, page: Page? = null)
: this(FileUrl(url), useTransformation, page)
}