parent
							
								
									cfb03b5fd8
								
							
						
					
					
						commit
						e1abb544e4
					
				@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: Dynasty'
 | 
			
		||||
    pkgNameSuffix = 'en.dynasty'
 | 
			
		||||
    extClass = '.DynastyFactory'
 | 
			
		||||
    extVersionCode = 9
 | 
			
		||||
    extVersionCode = 10
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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")
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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()) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user