remove page stuff and fix some 4anime bugs
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
// used both in common.gradle and themesources library
|
||||
dependencies {
|
||||
// Lib 1.3, but using specific commit so we don't need to bump up the version
|
||||
compileOnly "com.github.jmir1:extensions-lib:7d796e4"
|
||||
compileOnly "com.github.jmir1:extensions-lib:ad509d7"
|
||||
|
||||
// These are provided by the app itself
|
||||
compileOnly "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
||||
|
@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.animeextension.en.fouranime
|
||||
|
||||
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.SAnime
|
||||
import eu.kanade.tachiyomi.source.model.SEpisode
|
||||
import eu.kanade.tachiyomi.source.online.ParsedAnimeHttpSource
|
||||
@ -28,7 +27,7 @@ class FourAnime : ParsedAnimeHttpSource() {
|
||||
val anime = SAnime.create()
|
||||
anime.setUrlWithoutDomain(element.select("#headerA_5").first().attr("href"))
|
||||
anime.thumbnail_url = element.select("#headerIMG_6").first().attr("src")
|
||||
anime.title = "Episode " + element.select("#headerIMG_6").first().attr("title")
|
||||
anime.title = element.select("#headerIMG_6").first().attr("title")
|
||||
return anime
|
||||
}
|
||||
|
||||
@ -40,7 +39,7 @@ class FourAnime : ParsedAnimeHttpSource() {
|
||||
val episode = SEpisode.create()
|
||||
episode.setUrlWithoutDomain(element.attr("href"))
|
||||
episode.episode_number = element.text().toFloat()
|
||||
episode.name = element.text()
|
||||
episode.name = "Episode " + element.text()
|
||||
return episode
|
||||
}
|
||||
|
||||
@ -50,12 +49,6 @@ class FourAnime : ParsedAnimeHttpSource() {
|
||||
return element.attr("src")
|
||||
}
|
||||
|
||||
override fun pageListParse(document: Document): List<Page> = throw Exception("Not used")
|
||||
|
||||
override fun imageUrlRequest(page: Page) = throw Exception("Not used")
|
||||
|
||||
override fun imageUrlParse(document: Document) = throw Exception("Not used")
|
||||
|
||||
override fun searchAnimeFromElement(element: Element): SAnime {
|
||||
val anime = SAnime.create()
|
||||
anime.setUrlWithoutDomain(element.select("a").attr("href"))
|
||||
@ -64,7 +57,7 @@ class FourAnime : ParsedAnimeHttpSource() {
|
||||
return anime
|
||||
}
|
||||
|
||||
override fun searchAnimeNextPageSelector(): String? = "a.nextpostslink"
|
||||
override fun searchAnimeNextPageSelector(): String = "a.nextpostslink"
|
||||
|
||||
override fun searchAnimeSelector(): String = "#headerDIV_95"
|
||||
|
||||
@ -73,16 +66,16 @@ class FourAnime : ParsedAnimeHttpSource() {
|
||||
override fun animeDetailsParse(document: Document): SAnime {
|
||||
val anime = SAnime.create()
|
||||
anime.title = document.select("p.single-anime-desktop").text()
|
||||
anime.genre = document.select("div.tag").text().replace(" ", ", ")
|
||||
anime.description = document.select("div#description-mob p").not("p.description-mobile").text()
|
||||
anime.genre = document.select("div.tag a").joinToString(", ") { it.text() }
|
||||
anime.description = document.select("div#description-mob div#fullcontent p").text()
|
||||
return anime
|
||||
}
|
||||
|
||||
override fun latestUpdatesNextPageSelector(): String? = "a.nextpostslink"
|
||||
override fun latestUpdatesNextPageSelector(): String = "a.nextpostslink"
|
||||
|
||||
override fun latestUpdatesFromElement(element: Element): SAnime {
|
||||
val anime = SAnime.create()
|
||||
anime.setUrlWithoutDomain(element.select("#headerA_5").first().attr("href").split("-episode-").first())
|
||||
anime.setUrlWithoutDomain("https://4anime.to/anime" + element.select("#headerA_5").first().attr("href").removePrefix("https://4anime.to").split("-episode-").first())
|
||||
anime.thumbnail_url = element.select("#headerIMG_6").first().attr("src")
|
||||
anime.title = element.select("#headerA_5").first().attr("alt")
|
||||
return anime
|
||||
|
@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.animeextension.en.twodgirlstech
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.AnimesPage
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SAnime
|
||||
import eu.kanade.tachiyomi.source.model.SEpisode
|
||||
import eu.kanade.tachiyomi.source.online.ParsedAnimeHttpSource
|
||||
@ -161,63 +160,6 @@ class TwoDGirlsTech : ParsedAnimeHttpSource() {
|
||||
return url
|
||||
}
|
||||
|
||||
override fun pageListParse(document: Document): List<Page> {
|
||||
val titleWords: Sequence<String>
|
||||
val altTextWords: Sequence<String>
|
||||
val interactiveText = listOf(
|
||||
"To experience the", "interactive version of this comic,",
|
||||
"open it in WebView/browser."
|
||||
)
|
||||
.joinToString(separator = "%0A")
|
||||
.replace(" ", "%20")
|
||||
|
||||
// transforming filename from info.0.json isn't guaranteed to work, stick to html
|
||||
// if an HD image is available it'll be the srcset attribute
|
||||
// if img tag is empty then it is an interactive comic viewable only in browser
|
||||
val image = document.select("div#comic img").let {
|
||||
when {
|
||||
it == null || it.isEmpty() -> baseAltTextUrl + interactiveText + baseAltTextPostUrl
|
||||
it.hasAttr("srcset") -> it.attr("abs:srcset").substringBefore(" ")
|
||||
else -> it.attr("abs:src")
|
||||
}
|
||||
}
|
||||
|
||||
// create a text image for the alt text
|
||||
document.select("div#comic img").let {
|
||||
titleWords = it.attr("alt").splitToSequence(" ")
|
||||
altTextWords = it.attr("title").splitToSequence(" ")
|
||||
}
|
||||
|
||||
val builder = StringBuilder()
|
||||
var count = 0
|
||||
|
||||
for (i in titleWords) {
|
||||
if (count != 0 && count.rem(7) == 0) {
|
||||
builder.append("%0A")
|
||||
}
|
||||
builder.append(i).append("+")
|
||||
count++
|
||||
}
|
||||
builder.append("%0A%0A")
|
||||
|
||||
var charCount = 0
|
||||
|
||||
for (i in altTextWords) {
|
||||
if (charCount > 25) {
|
||||
builder.append("%0A")
|
||||
charCount = 0
|
||||
}
|
||||
builder.append(i).append("+")
|
||||
charCount += i.length + 1
|
||||
}
|
||||
|
||||
return listOf(Page(0, "", image), Page(1, "", baseAltTextUrl + builder.toString() + baseAltTextPostUrl))
|
||||
}
|
||||
|
||||
override fun imageUrlRequest(page: Page) = GET(page.url)
|
||||
|
||||
override fun imageUrlParse(document: Document) = throw Exception("Not used")
|
||||
|
||||
override fun popularAnimeSelector(): String = throw Exception("Not used")
|
||||
|
||||
override fun searchAnimeFromElement(element: Element): SAnime = throw Exception("Not used")
|
||||
|
Reference in New Issue
Block a user