various bugfixes
This commit is contained in:
parent
0b9f2bb019
commit
dc959796e6
26 changed files with 685 additions and 289 deletions
|
@ -171,6 +171,17 @@ abstract class AnimeParser : BaseParser() {
|
|||
}
|
||||
}
|
||||
|
||||
class EmptyAnimeParser: AnimeParser() {
|
||||
override val name: String = "None"
|
||||
override val saveName: String = "None"
|
||||
|
||||
override val isDubAvailableSeparately: Boolean = false
|
||||
override suspend fun loadEpisodes(animeLink: String, extra: Map<String, String>?, sAnime: SAnime): List<Episode> = emptyList()
|
||||
override suspend fun loadVideoServers(episodeLink: String, extra: Map<String, String>?, sEpisode: SEpisode): List<VideoServer> = emptyList()
|
||||
|
||||
override suspend fun search(query: String): List<ShowResponse> = emptyList()
|
||||
}
|
||||
|
||||
/**
|
||||
* A class for containing Episode data of a particular parser
|
||||
* **/
|
||||
|
|
|
@ -66,6 +66,7 @@ class DynamicAnimeParser(extension: AnimeExtension.Installed) : AnimeParser() {
|
|||
override val saveName = extension.name
|
||||
override val hostUrl = extension.sources.first().name
|
||||
override val isDubAvailableSeparately = false
|
||||
override val isNSFW = extension.isNsfw
|
||||
override suspend fun loadEpisodes(animeLink: String, extra: Map<String, String>?, sAnime: SAnime): List<Episode> {
|
||||
val source = extension.sources.first()
|
||||
if (source is AnimeCatalogueSource) {
|
||||
|
@ -176,6 +177,7 @@ class DynamicMangaParser(extension: MangaExtension.Installed) : MangaParser() {
|
|||
override val name = extension.name
|
||||
override val saveName = extension.name
|
||||
override val hostUrl = extension.sources.first().name
|
||||
override val isNSFW = extension.isNsfw
|
||||
|
||||
override suspend fun loadChapters(mangaLink: String, extra: Map<String, String>?, sManga: SManga): List<MangaChapter> {
|
||||
val source = extension.sources.first() as? CatalogueSource ?: return emptyList()
|
||||
|
@ -385,22 +387,22 @@ class DynamicMangaParser(extension: MangaExtension.Installed) : MangaParser() {
|
|||
|
||||
|
||||
private fun SChapterToMangaChapter(sChapter: SChapter): MangaChapter {
|
||||
val parsedChapterTitle = parseChapterTitle(sChapter.name)
|
||||
/*val parsedChapterTitle = parseChapterTitle(sChapter.name)
|
||||
val number = if (sChapter.chapter_number.toInt() != -1){
|
||||
sChapter.chapter_number.toString()
|
||||
} else if(parsedChapterTitle.first != null || parsedChapterTitle.second != null){
|
||||
(parsedChapterTitle.first ?: "") + "." + (parsedChapterTitle.second ?: "")
|
||||
}else{
|
||||
sChapter.name
|
||||
}
|
||||
}*/
|
||||
return MangaChapter(
|
||||
number,
|
||||
sChapter.name,
|
||||
sChapter.url,
|
||||
if (parsedChapterTitle.first != null || parsedChapterTitle.second != null) {
|
||||
parsedChapterTitle.third
|
||||
} else {
|
||||
sChapter.name
|
||||
},
|
||||
//if (parsedChapterTitle.first != null || parsedChapterTitle.second != null) {
|
||||
// parsedChapterTitle.third
|
||||
//} else {
|
||||
sChapter.name,
|
||||
//},
|
||||
null,
|
||||
sChapter
|
||||
)
|
||||
|
|
|
@ -80,8 +80,8 @@ abstract class BaseParser {
|
|||
} else {
|
||||
val romajiRatio = FuzzySearch.ratio(closestRomaji?.name ?: "", mediaObj.nameRomaji)
|
||||
val mainNameRatio = FuzzySearch.ratio(response.name, mediaObj.mainName())
|
||||
logger("Fuzzy ratio for closest match in results: $mainNameRatio")
|
||||
logger("Fuzzy ratio for closest match in RomajiResults: $romajiRatio")
|
||||
logger("Fuzzy ratio for closest match in results: $mainNameRatio for ${response.name}")
|
||||
logger("Fuzzy ratio for closest match in RomajiResults: $romajiRatio for ${closestRomaji?.name ?: "None"}")
|
||||
|
||||
if (romajiRatio > mainNameRatio) {
|
||||
logger("RomajiResults has a closer match. Replacing response.")
|
||||
|
|
|
@ -11,9 +11,11 @@ import eu.kanade.tachiyomi.animesource.model.SAnime
|
|||
abstract class WatchSources : BaseSources() {
|
||||
|
||||
override operator fun get(i: Int): AnimeParser {
|
||||
return (list.getOrNull(i)?:list[0]).get.value as AnimeParser
|
||||
return (list.getOrNull(i) ?: list.firstOrNull())?.get?.value as? AnimeParser
|
||||
?: EmptyAnimeParser()
|
||||
}
|
||||
|
||||
|
||||
suspend fun loadEpisodesFromMedia(i: Int, media: Media): MutableMap<String, Episode> {
|
||||
return tryWithSuspend(true) {
|
||||
val res = get(i).autoSearch(media) ?: return@tryWithSuspend mutableMapOf()
|
||||
|
@ -40,7 +42,8 @@ abstract class WatchSources : BaseSources() {
|
|||
abstract class MangaReadSources : BaseSources() {
|
||||
|
||||
override operator fun get(i: Int): MangaParser {
|
||||
return (list.getOrNull(i)?:list[0]).get.value as MangaParser
|
||||
return (list.getOrNull(i)?:list.firstOrNull())?.get?.value as? MangaParser
|
||||
?: EmptyMangaParser()
|
||||
}
|
||||
|
||||
suspend fun loadChaptersFromMedia(i: Int, media: Media): MutableMap<String, MangaChapter> {
|
||||
|
|
|
@ -33,7 +33,7 @@ abstract class MangaParser : BaseParser() {
|
|||
* **/
|
||||
abstract suspend fun loadImages(chapterLink: String, sChapter: SChapter): List<MangaImage>
|
||||
|
||||
override suspend fun autoSearch(mediaObj: Media): ShowResponse? {
|
||||
/*override suspend fun autoSearch(mediaObj: Media): ShowResponse? {
|
||||
var response = loadSavedShowResponse(mediaObj.id)
|
||||
if (response != null) {
|
||||
saveShowResponse(mediaObj.id, response, true)
|
||||
|
@ -48,11 +48,22 @@ abstract class MangaParser : BaseParser() {
|
|||
saveShowResponse(mediaObj.id, response)
|
||||
}
|
||||
return response
|
||||
}
|
||||
}*/
|
||||
|
||||
open fun getTransformation(): BitmapTransformation? = null
|
||||
}
|
||||
|
||||
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 loadImages(chapterLink: String, sChapter: SChapter): List<MangaImage> = emptyList()
|
||||
|
||||
override suspend fun search(query: String): List<ShowResponse> = emptyList()
|
||||
}
|
||||
|
||||
data class MangaChapter(
|
||||
/**
|
||||
* Number of the Chapter in "String",
|
||||
|
|
|
@ -29,7 +29,9 @@ object MangaSources : MangaReadSources() {
|
|||
}
|
||||
|
||||
object HMangaSources : MangaReadSources() {
|
||||
val aList: List<Lazier<BaseParser>> = lazyList(
|
||||
)
|
||||
val aList: List<Lazier<BaseParser>> = lazyList()
|
||||
suspend fun init(fromExtensions: StateFlow<List<MangaExtension.Installed>>) {
|
||||
//todo
|
||||
}
|
||||
override val list = listOf(aList,MangaSources.list).flatten()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue