Corrected a bunch of lints in "all" (#3035)

This commit is contained in:
TacoTheDank 2020-05-08 18:11:52 -04:00 committed by GitHub
parent 028ba2e084
commit d418ae93b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 65 additions and 68 deletions

View File

@ -23,9 +23,10 @@ class ManManga : BoomManga("ManManga", "https://m.manmanga.com", "en") {
override fun nameselector(element: Element) = element.select("a").attr("alt") override fun nameselector(element: Element) = element.select("a").attr("alt")
override fun authorget(document: Document) = document.select(".author").text().substringAfter("").trim() override fun authorget(document: Document) = document.select(".author").text().substringAfter("").trim()
override fun thumbnailget(document: Document) = document.select(".bg-box .bg").attr("style").substringAfter("'").substringBefore("'") override fun thumbnailget(document: Document) = document.select(".bg-box .bg").attr("style").substringAfter("'").substringBefore("'")
override fun genreget(document: Document) = document.select(".tags span").map { override fun genreget(document: Document) = document.select(".tags span").joinToString(", ") {
it.text().trim() it.text().trim()
}.joinToString(", ") }
override fun statusget(document: Document) = when (document.select(".type").text().substringAfter("").trim()) { override fun statusget(document: Document) = when (document.select(".type").text().substringAfter("").trim()) {
"Ongoing" -> SManga.ONGOING "Ongoing" -> SManga.ONGOING
"Completed" -> SManga.COMPLETED "Completed" -> SManga.COMPLETED
@ -36,9 +37,10 @@ class TwinsComics : BoomManga("TwinsComics", "https://m.twinscomics.com", "en")
override fun nameselector(element: Element) = element.select("a").attr("alt") override fun nameselector(element: Element) = element.select("a").attr("alt")
override fun authorget(document: Document) = document.select(".author").text().substringAfter("").trim() override fun authorget(document: Document) = document.select(".author").text().substringAfter("").trim()
override fun thumbnailget(document: Document) = document.select(".bg-box .bg").attr("style").substringAfter("'").substringBefore("'") override fun thumbnailget(document: Document) = document.select(".bg-box .bg").attr("style").substringAfter("'").substringBefore("'")
override fun genreget(document: Document) = document.select(".tags span").map { override fun genreget(document: Document) = document.select(".tags span").joinToString(", ") {
it.text().trim() it.text().trim()
}.joinToString(", ") }
override fun statusget(document: Document) = when (document.select(".type").text().substringAfter("").trim()) { override fun statusget(document: Document) = when (document.select(".type").text().substringAfter("").trim()) {
"Ongoing" -> SManga.ONGOING "Ongoing" -> SManga.ONGOING
"Completed" -> SManga.COMPLETED "Completed" -> SManga.COMPLETED
@ -52,9 +54,10 @@ class ManMangazh : BoomManga("ManManga", "https://m.manmanga.com/cn", "zh") {
override fun nameselector(element: Element) = element.select("a").attr("alt") override fun nameselector(element: Element) = element.select("a").attr("alt")
override fun authorget(document: Document) = document.select(".author").text().substringAfter("").trim() override fun authorget(document: Document) = document.select(".author").text().substringAfter("").trim()
override fun thumbnailget(document: Document) = document.select(".bg-box .bg").attr("style").substringAfter("'").substringBefore("'") override fun thumbnailget(document: Document) = document.select(".bg-box .bg").attr("style").substringAfter("'").substringBefore("'")
override fun genreget(document: Document) = document.select(".tags span").map { override fun genreget(document: Document) = document.select(".tags span").joinToString(", ") {
it.text().trim() it.text().trim()
}.joinToString(", ") }
override fun statusget(document: Document) = when (document.select(".type").text().substringAfter("").trim()) { override fun statusget(document: Document) = when (document.select(".type").text().substringAfter("").trim()) {
"连载中" -> SManga.ONGOING "连载中" -> SManga.ONGOING
// "Completed" -> SManga.COMPLETED // "Completed" -> SManga.COMPLETED
@ -66,9 +69,10 @@ class TwinsComicszh : BoomManga("TwinsComics", "https://m.twinscomics.com/cn", "
override fun nameselector(element: Element) = element.select("a").attr("alt") override fun nameselector(element: Element) = element.select("a").attr("alt")
override fun authorget(document: Document) = document.select(".author").text().substringAfter("").trim() override fun authorget(document: Document) = document.select(".author").text().substringAfter("").trim()
override fun thumbnailget(document: Document) = document.select(".bg-box .bg").attr("style").substringAfter("'").substringBefore("'") override fun thumbnailget(document: Document) = document.select(".bg-box .bg").attr("style").substringAfter("'").substringBefore("'")
override fun genreget(document: Document) = document.select(".tags span").map { override fun genreget(document: Document) = document.select(".tags span").joinToString(", ") {
it.text().trim() it.text().trim()
}.joinToString(", ") }
override fun statusget(document: Document) = when (document.select(".type").text().substringAfter("").trim()) { override fun statusget(document: Document) = when (document.select(".type").text().substringAfter("").trim()) {
"连载中" -> SManga.ONGOING "连载中" -> SManga.ONGOING
// "Completed" -> SManga.COMPLETED // "Completed" -> SManga.COMPLETED

View File

@ -75,8 +75,8 @@ open class EHentai(override val lang: String, private val ehLang: String) : Http
return chapterPageCall(np).flatMap { return chapterPageCall(np).flatMap {
val jsoup = it.asJsoup() val jsoup = it.asJsoup()
urls += parseChapterPage(jsoup) urls += parseChapterPage(jsoup)
nextPageUrl(jsoup)?.let { nextPageUrl(jsoup)?.let { string ->
fetchChapterPage(chapter, it, urls) fetchChapterPage(chapter, string, urls)
} ?: Observable.just(urls) } ?: Observable.just(urls)
} }
} }
@ -119,8 +119,8 @@ open class EHentai(override val lang: String, private val ehLang: String) : Http
} ?: url, additionalHeaders?.let { } ?: url, additionalHeaders?.let {
val headers = headers.newBuilder() val headers = headers.newBuilder()
it.toMultimap().forEach { (t, u) -> it.toMultimap().forEach { (t, u) ->
u.forEach { u.forEach { string ->
headers.add(t, it) headers.add(t, string)
} }
} }
headers.build() headers.build()
@ -198,9 +198,9 @@ open class EHentai(override val lang: String, private val ehLang: String) : Http
tags.clear() tags.clear()
select("#taglist tr").forEach { select("#taglist tr").forEach {
val namespace = it.select(".tc").text().removeSuffix(":") val namespace = it.select(".tc").text().removeSuffix(":")
val currentTags = it.select("div").map { val currentTags = it.select("div").map { element ->
Tag(it.text().trim(), Tag(element.text().trim(),
it.hasClass("gtl")) element.hasClass("gtl"))
} }
tags[namespace] = currentTags tags[namespace] = currentTags
} }

View File

@ -61,7 +61,7 @@ fun ExGalleryMetadata.copyTo(manga: SManga) {
favorites?.let { detailsDesc += "Favorited: $it times\n" } favorites?.let { detailsDesc += "Favorited: $it times\n" }
averageRating?.let { averageRating?.let {
detailsDesc += "Rating: $it" detailsDesc += "Rating: $it"
ratingCount?.let { detailsDesc += " ($it)" } ratingCount?.let { count -> detailsDesc += " ($count)" }
detailsDesc += "\n" detailsDesc += "\n"
} }

View File

@ -169,20 +169,24 @@ abstract class FoolSlide(
// Handle 'yesterday' and 'today', using midnight // Handle 'yesterday' and 'today', using midnight
var relativeDate: Calendar? = null var relativeDate: Calendar? = null
if (lcDate.startsWith("yesterday")) { // Result parsed but no year, copy current year over
when {
lcDate.startsWith("yesterday") -> {
relativeDate = Calendar.getInstance() relativeDate = Calendar.getInstance()
relativeDate.add(Calendar.DAY_OF_MONTH, -1) // yesterday relativeDate.add(Calendar.DAY_OF_MONTH, -1) // yesterday
relativeDate.set(Calendar.HOUR_OF_DAY, 0) relativeDate.set(Calendar.HOUR_OF_DAY, 0)
relativeDate.set(Calendar.MINUTE, 0) relativeDate.set(Calendar.MINUTE, 0)
relativeDate.set(Calendar.SECOND, 0) relativeDate.set(Calendar.SECOND, 0)
relativeDate.set(Calendar.MILLISECOND, 0) relativeDate.set(Calendar.MILLISECOND, 0)
} else if (lcDate.startsWith("today")) { }
lcDate.startsWith("today") -> {
relativeDate = Calendar.getInstance() relativeDate = Calendar.getInstance()
relativeDate.set(Calendar.HOUR_OF_DAY, 0) relativeDate.set(Calendar.HOUR_OF_DAY, 0)
relativeDate.set(Calendar.MINUTE, 0) relativeDate.set(Calendar.MINUTE, 0)
relativeDate.set(Calendar.SECOND, 0) relativeDate.set(Calendar.SECOND, 0)
relativeDate.set(Calendar.MILLISECOND, 0) relativeDate.set(Calendar.MILLISECOND, 0)
} else if (lcDate.startsWith("tomorrow")) { }
lcDate.startsWith("tomorrow") -> {
relativeDate = Calendar.getInstance() relativeDate = Calendar.getInstance()
relativeDate.add(Calendar.DAY_OF_MONTH, +1) // tomorrow relativeDate.add(Calendar.DAY_OF_MONTH, +1) // tomorrow
relativeDate.set(Calendar.HOUR_OF_DAY, 0) relativeDate.set(Calendar.HOUR_OF_DAY, 0)
@ -190,6 +194,7 @@ abstract class FoolSlide(
relativeDate.set(Calendar.SECOND, 0) relativeDate.set(Calendar.SECOND, 0)
relativeDate.set(Calendar.MILLISECOND, 0) relativeDate.set(Calendar.MILLISECOND, 0)
} }
}
relativeDate?.timeInMillis?.let { relativeDate?.timeInMillis?.let {
return it return it

View File

@ -26,7 +26,7 @@ import uy.kohesive.injekt.api.get
class FoolSlideFactory : SourceFactory { class FoolSlideFactory : SourceFactory {
override fun createSources(): List<Source> = listOf( override fun createSources(): List<Source> = listOf(
JaminisBox(), JaiminisBox(),
SenseScans(), SenseScans(),
KireiCake(), KireiCake(),
SilentSky(), SilentSky(),
@ -64,10 +64,10 @@ class FoolSlideFactory : SourceFactory {
) )
} }
class JaminisBox : FoolSlide("Jaimini's Box", "https://jaiminisbox.com", "en", "/reader") { class JaiminisBox : FoolSlide("Jaimini's Box", "https://jaiminisbox.com", "en", "/reader") {
val SLUG_REGEX = "(?:/read/)([\\w\\d-]+?)(?:/)".toRegex() private val slugRegex = "(?:/read/)([\\w\\d-]+?)(?:/)".toRegex()
override fun pageListRequest(chapter: SChapter): Request { override fun pageListRequest(chapter: SChapter): Request {
val (slug) = SLUG_REGEX.find(chapter.url)!!.destructured val (slug) = slugRegex.find(chapter.url)!!.destructured
var (major, minor) = chapter.chapter_number.toString().split(".") var (major, minor) = chapter.chapter_number.toString().split(".")
if (major == "-1") major = "0" // Some oneshots don't have a chapter if (major == "-1") major = "0" // Some oneshots don't have a chapter
return GET("$baseUrl$urlModifier/api/reader/chapter?comic_stub=$slug&chapter=$major&subchapter=$minor") return GET("$baseUrl$urlModifier/api/reader/chapter?comic_stub=$slug&chapter=$major&subchapter=$minor")

View File

@ -180,7 +180,7 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() {
private class LibraryFilter(val id: Long, name: String) : Filter.CheckBox(name, false) private class LibraryFilter(val id: Long, name: String) : Filter.CheckBox(name, false)
private class LibraryGroup(libraries: List<LibraryFilter>) : Filter.Group<LibraryFilter>("Libraries", libraries) private class LibraryGroup(libraries: List<LibraryFilter>) : Filter.Group<LibraryFilter>("Libraries", libraries)
private class SeriesSort : Filter.Sort("Sort", arrayOf("Alphabetically", "Date added", "Date updated"), Filter.Sort.Selection(0, true)) private class SeriesSort : Filter.Sort("Sort", arrayOf("Alphabetically", "Date added", "Date updated"), Selection(0, true))
private class StatusFilter(name: String) : Filter.CheckBox(name, false) private class StatusFilter(name: String) : Filter.CheckBox(name, false)
private class StatusGroup(filters: List<StatusFilter>) : Filter.Group<StatusFilter>("Status", filters) private class StatusGroup(filters: List<StatusFilter>) : Filter.Group<StatusFilter>("Status", filters)

View File

@ -50,9 +50,6 @@ abstract class Mangadex(
private val internalLang: String private val internalLang: String
) : ConfigurableSource, ParsedHttpSource() { ) : ConfigurableSource, ParsedHttpSource() {
init {
}
override val name = "MangaDex" override val name = "MangaDex"
override val baseUrl = "https://www.mangadex.org" override val baseUrl = "https://www.mangadex.org"

View File

@ -1,6 +1,6 @@
package eu.kanade.tachiyomi.extension.all.mangadex package eu.kanade.tachiyomi.extension.all.mangadex
class MangadexDescription(private val internalLang: String) { class MangadexDescription(internalLang: String) {
private val listOfLangs = when (internalLang) { private val listOfLangs = when (internalLang) {
"ru" -> RUSSIAN "ru" -> RUSSIAN
@ -20,13 +20,13 @@ class MangadexDescription(private val internalLang: String) {
// remove any languages before the ones provided in the langTextToCheck, if no matches or empty // remove any languages before the ones provided in the langTextToCheck, if no matches or empty
// just uses the original description, also removes the potential lang from all lang list // just uses the original description, also removes the potential lang from all lang list
var newDescription = description var newDescription = description
listOfLangs.forEach { it -> listOfLangs.forEach {
newDescription = newDescription.substringAfter(it) newDescription = newDescription.substringAfter(it)
langList.remove(it) langList.remove(it)
} }
// remove any possible languages that remain to get the new description // remove any possible languages that remain to get the new description
langList.forEach { it -> newDescription = newDescription.substringBefore(it) } langList.forEach { newDescription = newDescription.substringBefore(it) }
return newDescription return newDescription
} }

View File

@ -394,7 +394,7 @@ open class Mangatensei(override val lang: String, private val Mtlang: String) :
private class Tag(name: String) : Filter.CheckBox(name) private class Tag(name: String) : Filter.CheckBox(name)
} }
abstract class OtherSite(private val sourceName: String, private val sourceBaseUrl: String, private val tachiLang: String, private val sourceLang: String) : Mangatensei(tachiLang, sourceLang) { abstract class OtherSite(sourceName: String, sourceBaseUrl: String, tachiLang: String, sourceLang: String) : Mangatensei(tachiLang, sourceLang) {
override val name = sourceName override val name = sourceName
override val baseUrl = sourceBaseUrl override val baseUrl = sourceBaseUrl

View File

@ -98,15 +98,9 @@ class Generator {
} }
} }
println("Number of sources successfully generated: ${number - 1}") println("Number of sources successfully generated: ${number - 1}")
if (!DRY_RUN) {
val writer = PrintWriter(relativePath) val writer = PrintWriter(relativePath)
writer.write(buffer.toString()) writer.write(buffer.toString())
writer.close() writer.close()
} else {
val writer = PrintWriter(relativePathTest)
writer.write(buffer.toString())
writer.close()
}
} }
private fun getDocument(url: String, printStackTrace: Boolean = true): Document? { private fun getDocument(url: String, printStackTrace: Boolean = true): Document? {
@ -223,7 +217,6 @@ class Generator {
} }
companion object { companion object {
const val DRY_RUN = false
val sources = listOf( val sources = listOf(
Triple("ar", "مانجا اون لاين", "https://onma.me"), Triple("ar", "مانجا اون لاين", "https://onma.me"),
Triple("en", "Read Comics Online", "https://readcomicsonline.ru"), Triple("en", "Read Comics Online", "https://readcomicsonline.ru"),
@ -311,7 +304,6 @@ class Generator {
// Triple("tr", "ManhuaTR", "http://www.manhua-tr.com"), // Triple("tr", "ManhuaTR", "http://www.manhua-tr.com"),
val relativePath = System.getProperty("user.dir") + "/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/GeneratedSources.kt" val relativePath = System.getProperty("user.dir") + "/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/GeneratedSources.kt"
val relativePathTest = System.getProperty("user.dir") + "/src/all/mmrcms/TestGeneratedSources.kt"
@JvmStatic @JvmStatic
fun main(args: Array<String>) { fun main(args: Array<String>) {

View File

@ -55,7 +55,7 @@ class MyMangaReaderCMSSources : SourceFactory {
val categories = mapToPairs(jsonObject["categories"].array) val categories = mapToPairs(jsonObject["categories"].array)
var tags = emptyList<Pair<String, String>>() var tags = emptyList<Pair<String, String>>()
if (jsonObject["tags"].isJsonArray) { if (jsonObject["tags"].isJsonArray) {
tags = jsonObject["tags"].asJsonArray.let { mapToPairs(it) } tags = mapToPairs(jsonObject["tags"].asJsonArray)
} }
MyMangaReaderCMSSource( MyMangaReaderCMSSource(

View File

@ -186,7 +186,7 @@ open class MyReadingManga(override val lang: String) : ParsedHttpSource() {
manga.artist = cleanAuthor(document.select("h1").text()) manga.artist = cleanAuthor(document.select("h1").text())
val glist = document.select(".entry-header p a[href*=genre]").map { it.text() } val glist = document.select(".entry-header p a[href*=genre]").map { it.text() }
manga.genre = glist.joinToString(", ") manga.genre = glist.joinToString(", ")
val extendedDescription = document.select(".entry-content p:not(p:containsOwn(|)):not(.chapter-class + p)")?.map { it.text() }?.joinToString("\n") val extendedDescription = document.select(".entry-content p:not(p:containsOwn(|)):not(.chapter-class + p)")?.joinToString("\n") { it.text() }
manga.description = document.select("h1").text() + if (extendedDescription.isNullOrEmpty()) "" else "\n\n$extendedDescription" manga.description = document.select("h1").text() + if (extendedDescription.isNullOrEmpty()) "" else "\n\n$extendedDescription"
manga.status = when (document.select("a[href*=status]")?.first()?.text()) { manga.status = when (document.select("a[href*=status]")?.first()?.text()) {
"Ongoing" -> SManga.ONGOING "Ongoing" -> SManga.ONGOING
@ -292,7 +292,7 @@ open class MyReadingManga(override val lang: String) : ParsedHttpSource() {
// Generates the filter lists for app // Generates the filter lists for app
override fun getFilterList(): FilterList { override fun getFilterList(): FilterList {
val filterList = FilterList( return FilterList(
// MRM does not support genre filtering and text search at the same time // MRM does not support genre filtering and text search at the same time
Filter.Header("NOTE: Filters are ignored if using text search."), Filter.Header("NOTE: Filters are ignored if using text search."),
Filter.Header("Only one filter can be used at a time."), Filter.Header("Only one filter can be used at a time."),
@ -302,7 +302,6 @@ open class MyReadingManga(override val lang: String) : ParsedHttpSource() {
PairingFilter(returnFilter(getCache("$baseUrl/pairing/"), ".links a", "abs:href")), PairingFilter(returnFilter(getCache("$baseUrl/pairing/"), ".links a", "abs:href")),
ScanGroupFilter(returnFilter(getCache("$baseUrl/group/"), ".links a", "abs:href")) ScanGroupFilter(returnFilter(getCache("$baseUrl/group/"), ".links a", "abs:href"))
) )
return filterList
} }
private class GenreFilter(GENRES: Array<Pair<String, String>>) : UriSelectFilterPath("Genre", "genre", arrayOf(Pair("", "Any"), *GENRES)) private class GenreFilter(GENRES: Array<Pair<String, String>>) : UriSelectFilterPath("Genre", "genre", arrayOf(Pair("", "Any"), *GENRES))

View File

@ -174,7 +174,7 @@ open class NineHentai : ParsedHttpSource() {
private class Sorting : Filter.Sort("Sorting", private class Sorting : Filter.Sort("Sorting",
arrayOf("Newest", "Popular Right now", "Most Fapped", "Most Viewed", "By Title"), arrayOf("Newest", "Popular Right now", "Most Fapped", "Most Viewed", "By Title"),
Filter.Sort.Selection(1, false)) Selection(1, false))
override fun getFilterList() = FilterList( override fun getFilterList() = FilterList(
Sorting(), Sorting(),

View File

@ -93,7 +93,7 @@ abstract class ToomicsGlobal(
val toonId = element.select("a").attr("onclick") val toonId = element.select("a").attr("onclick")
.substringAfter("Base.setDisplay('A', '") .substringAfter("Base.setDisplay('A', '")
.substringBefore("'") .substringBefore("'")
.let { URLDecoder.decode(it, "UTF-8") } .let { url -> URLDecoder.decode(url, "UTF-8") }
.substringAfter("?toon=") .substringAfter("?toon=")
.substringBefore("&") .substringBefore("&")
url = "/$siteLang/webtoon/episode/toon/$toonId" url = "/$siteLang/webtoon/episode/toon/$toonId"

View File

@ -56,13 +56,13 @@ class WebtoonsIndonesian : WebtoonsDefault("in", "id") {
// Android seems to be unable to parse Indonesian dates; we'll use a short hard-coded table // Android seems to be unable to parse Indonesian dates; we'll use a short hard-coded table
// instead. // instead.
private val DATE_MAP: Array<String> = arrayOf( private val dateMap: Array<String> = arrayOf(
"Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des") "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des")
override fun chapterParseDate(date: String): Long { override fun chapterParseDate(date: String): Long {
val expr = Regex("""(\d{4}) ([A-Z][a-z]{2}) (\d{1,})""").find(date) ?: return 0 val expr = Regex("""(\d{4}) ([A-Z][a-z]{2}) (\d+)""").find(date) ?: return 0
val (_, year, monthString, day) = expr.groupValues val (_, year, monthString, day) = expr.groupValues
val monthIndex = DATE_MAP.indexOf(monthString) val monthIndex = dateMap.indexOf(monthString)
return GregorianCalendar(year.toInt(), monthIndex, day.toInt()).time.time return GregorianCalendar(year.toInt(), monthIndex, day.toInt()).time.time
} }
} }