parent
							
								
									49228e0114
								
							
						
					
					
						commit
						fbcabbc15a
					
				@ -5,8 +5,13 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: Mangahasu'
 | 
			
		||||
    pkgNameSuffix = 'en.mangahasu'
 | 
			
		||||
    extClass = '.Mangahasu'
 | 
			
		||||
    extVersionCode = 5
 | 
			
		||||
    extVersionCode = 6
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    compileOnly 'com.google.code.gson:gson:2.8.5'
 | 
			
		||||
    compileOnly 'com.github.salomonbrys.kotson:kotson:2.5.0'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
apply from: "$rootDir/common.gradle"
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,8 @@
 | 
			
		||||
package eu.kanade.tachiyomi.extension.en.mangahasu
 | 
			
		||||
 | 
			
		||||
import android.util.Base64
 | 
			
		||||
import com.github.salomonbrys.kotson.*
 | 
			
		||||
import com.google.gson.JsonParser
 | 
			
		||||
import eu.kanade.tachiyomi.network.GET
 | 
			
		||||
import eu.kanade.tachiyomi.source.model.FilterList
 | 
			
		||||
import eu.kanade.tachiyomi.source.model.Page
 | 
			
		||||
@ -112,12 +115,31 @@ class Mangahasu: ParsedHttpSource() {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun pageListParse(document: Document): List<Page> {
 | 
			
		||||
        val pages = mutableListOf<Page>()
 | 
			
		||||
        var i = 0
 | 
			
		||||
        document.select("div.img img").forEach { element ->
 | 
			
		||||
            i++
 | 
			
		||||
            pages.add(Page(i, "", element.attr("src")))
 | 
			
		||||
 | 
			
		||||
        //Grab All Pages from site
 | 
			
		||||
        //Some images are place holders on new chapters.
 | 
			
		||||
		
 | 
			
		||||
        val pages = mutableListOf<Page>().apply {
 | 
			
		||||
            document.select("div.img img").forEach {
 | 
			
		||||
                val pageNumber = it.attr("class").substringAfter("page").toInt()
 | 
			
		||||
                add(Page(pageNumber,"",it.attr("src")))
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //Some images are not yet loaded onto Mangahasu's image server.
 | 
			
		||||
        //Decode temporary URLs and replace placeholder images.
 | 
			
		||||
		
 | 
			
		||||
        val lstDUrls = document.select("script:containsData(lstDUrls)").html().substringAfter("lstDUrls").substringAfter("\"").substringBefore("\"")
 | 
			
		||||
        if (lstDUrls != "W10="){ //Base64 = [] or empty file
 | 
			
		||||
            val decoded = String(Base64.decode(lstDUrls,Base64.DEFAULT))
 | 
			
		||||
            val json = JsonParser().parse(decoded).array
 | 
			
		||||
            json.forEach {
 | 
			
		||||
                val pageNumber = it["page"].int
 | 
			
		||||
                pages.removeAll { page ->  page.index == pageNumber  }
 | 
			
		||||
                pages.add(Page(pageNumber,"",it["url"].string))
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        pages.sortBy { page -> page.index }
 | 
			
		||||
        return pages
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user