parent
							
								
									dfb5df3bc2
								
							
						
					
					
						commit
						38188d73d8
					
				@ -1,7 +1,80 @@
 | 
			
		||||
package eu.kanade.tachiyomi.extension.es.ragnarokscan
 | 
			
		||||
 | 
			
		||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
 | 
			
		||||
import eu.kanade.tachiyomi.multisrc.madara.WordSet
 | 
			
		||||
import eu.kanade.tachiyomi.source.model.SChapter
 | 
			
		||||
import eu.kanade.tachiyomi.source.model.SManga
 | 
			
		||||
import org.jsoup.nodes.Element
 | 
			
		||||
import java.text.ParseException
 | 
			
		||||
import java.text.SimpleDateFormat
 | 
			
		||||
import java.util.Locale
 | 
			
		||||
 | 
			
		||||
class RagnarokScan : Madara("RagnarokScan", "https://ragnarokscan.com", "es", SimpleDateFormat("MMMMM dd, yyyy", Locale("es")))
 | 
			
		||||
class RagnarokScan : Madara(
 | 
			
		||||
    "RagnarokScan",
 | 
			
		||||
    "https://ragnarokscan.com",
 | 
			
		||||
    "es",
 | 
			
		||||
    SimpleDateFormat("MMMMM dd, yyyy", Locale("es")),
 | 
			
		||||
) {
 | 
			
		||||
    // "mangaSubstring" has changed, so users will have to migrate
 | 
			
		||||
    override val versionId = 2
 | 
			
		||||
    override val mangaSubString = "series"
 | 
			
		||||
    override val chapterUrlSuffix = ""
 | 
			
		||||
 | 
			
		||||
    override fun popularMangaSelector() = "div#series-card:has(a:not([href*='bilibilicomics.com']))"
 | 
			
		||||
    override val popularMangaUrlSelector = "a.series-link"
 | 
			
		||||
 | 
			
		||||
    override val mangaDetailsSelectorTag = "div.tags-content a.notUsed" // Source use this for the scanlator
 | 
			
		||||
    override val mangaDetailsSelectorStatus = "div.post-status div.summary-content"
 | 
			
		||||
 | 
			
		||||
    override fun popularMangaFromElement(element: Element): SManga {
 | 
			
		||||
        val manga = SManga.create()
 | 
			
		||||
 | 
			
		||||
        with(element) {
 | 
			
		||||
            select(popularMangaUrlSelector).first()?.let {
 | 
			
		||||
                manga.setUrlWithoutDomain(it.attr("abs:href"))
 | 
			
		||||
                manga.title = it.attr("title")
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            select("img").first()?.let {
 | 
			
		||||
                manga.thumbnail_url = imageFromElement(it)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return manga
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun chapterFromElement(element: Element): SChapter {
 | 
			
		||||
        val chapter = SChapter.create()
 | 
			
		||||
 | 
			
		||||
        with(element) {
 | 
			
		||||
            select(chapterUrlSelector).first()?.let { urlElement ->
 | 
			
		||||
                chapter.url = urlElement.attr("abs:href").let {
 | 
			
		||||
                    it.substringBefore("?style=paged") + if (!it.endsWith(chapterUrlSuffix)) chapterUrlSuffix else ""
 | 
			
		||||
                }
 | 
			
		||||
                chapter.name = urlElement.select("p.chapter-manhwa-title").text()
 | 
			
		||||
                chapter.date_upload = parseChapterDate(select("span.chapter-release-date").text())
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return chapter
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun parseChapterDate(date: String?): Long {
 | 
			
		||||
        date ?: return 0
 | 
			
		||||
 | 
			
		||||
        fun SimpleDateFormat.tryParse(string: String): Long {
 | 
			
		||||
            return try {
 | 
			
		||||
                parse(string)?.time ?: 0
 | 
			
		||||
            } catch (_: ParseException) {
 | 
			
		||||
                0
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return when {
 | 
			
		||||
            WordSet("minuto", "minutos", "hora", "horas", "día", "días").endsWith(date) -> {
 | 
			
		||||
                parseRelativeDate(date)
 | 
			
		||||
            }
 | 
			
		||||
            else -> SimpleDateFormat("MMMMM dd, yyyy", Locale("es")).tryParse(date)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -345,7 +345,7 @@ class MadaraGenerator : ThemeSourceGenerator {
 | 
			
		||||
        SingleLang("Projeto Scanlator", "https://projetoscanlator.com", "pt-BR", overrideVersionCode = 3),
 | 
			
		||||
        SingleLang("ROG Mangás", "https://rogmangas.com", "pt-BR", pkgName = "mangasoverall", className = "RogMangas", overrideVersionCode = 1),
 | 
			
		||||
        SingleLang("Ragnarok Scanlation", "https://ragnarokscanlation.com", "es", className = "RagnarokScanlation"),
 | 
			
		||||
        SingleLang("RagnarokScan", "https://ragnarokscan.com", "es"),
 | 
			
		||||
        SingleLang("RagnarokScan", "https://ragnarokscan.com", "es", overrideVersionCode = 1),
 | 
			
		||||
        SingleLang("Rainbow Fairy Scan", "https://rainbowfairyscan.com", "pt-BR"),
 | 
			
		||||
        SingleLang("Random Scan", "https://randomscans.com", "pt-BR", overrideVersionCode = 5),
 | 
			
		||||
        SingleLang("RawDEX", "https://rawdex.net", "ko", isNsfw = true, overrideVersionCode = 1),
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user