remove page stuff and fix some 4anime bugs

This commit is contained in:
jmir1
2021-05-06 02:27:48 +02:00
parent 9e3241b194
commit 774b439df7
3 changed files with 8 additions and 73 deletions

View File

@ -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"

View File

@ -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

View File

@ -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")