Dynasty Doujins fixes (#1950)

Dynasty Doujins fixes
This commit is contained in:
Mike 2020-01-01 09:55:06 -05:00 committed by arkon
parent cfb03b5fd8
commit e1abb544e4
3 changed files with 51 additions and 10 deletions

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Dynasty'
pkgNameSuffix = 'en.dynasty'
extClass = '.DynastyFactory'
extVersionCode = 9
extVersionCode = 10
libVersion = '1.2'
}

View File

@ -2,9 +2,14 @@ package eu.kanade.tachiyomi.extension.en.dynasty
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.FilterList
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.util.asJsoup
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
class DynastyDoujins : DynastyScans() {
@ -12,20 +17,60 @@ class DynastyDoujins : DynastyScans() {
override fun popularMangaInitialUrl() = "$baseUrl/doujins?view=cover"
override fun popularMangaFromElement(element: Element): SManga {
return super.popularMangaFromElement(element).apply {
thumbnail_url = element.select("img").attr("abs:src").let {
if (it.contains("cover_missing")) {
null
} else {
it
}
}
}
}
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
return GET("$baseUrl/search?q=$query&classes%5B%5D=Doujin&sort=&page=$page", headers)
}
override fun mangaDetailsParse(document: Document): SManga {
val manga = SManga.create()
super.mangaDetailsParse(document)
parseThumbnail(manga)
manga.author = ".."
manga.status = SManga.UNKNOWN
val manga = SManga.create().apply {
thumbnail_url = document.select("a.thumbnail img").firstOrNull()?.attr("abs:src")
?.replace("/thumb/", "/medium/")
}
parseGenres(document, manga)
return manga
}
override fun chapterListSelector() = "div.span9 > dl.chapter-list > dd"
override fun chapterListParse(response: Response): List<SChapter> {
val document = response.asJsoup()
val chapters = document.select(chapterListSelector()).map { chapterFromElement(it) }.toMutableList()
document.select("a.thumbnail img").let { images ->
if (images.isNotEmpty()) chapters.add(SChapter.create().apply {
name = "Images"
setUrlWithoutDomain(document.location() + "/images")
})
}
return chapters
}
override fun pageListParse(document: Document): List<Page> {
return if (document.location().endsWith("/images")) {
document.select("a.thumbnail").mapIndexed { i, element ->
Page(i, element.attr("abs:href"))
}
} else {
super.pageListParse(document)
}
}
override fun imageUrlParse(document: Document): String {
return document.select("div.image img").attr("abs:src")
}
}

View File

@ -74,10 +74,6 @@ abstract class DynastyScans : ParsedHttpSource() {
.select("div#main").filter { it.hasText() }.first().childNodes()
}
protected fun parseThumbnail(manga: SManga) {
if (_valid.isManga) manga.thumbnail_url = baseUrl + imgList[_valid.pos].substringBefore('?')
}
protected fun parseHeader(document: Document, manga: SManga): Boolean {
val elements = document.select("div.tags > h2.tag-title").first().getElementsByTag("a")
if (elements.isEmpty()) {