diff --git a/src/ru/mintmanga/build.gradle b/src/ru/mintmanga/build.gradle index d96dcddab..ac2ed4789 100644 --- a/src/ru/mintmanga/build.gradle +++ b/src/ru/mintmanga/build.gradle @@ -5,8 +5,12 @@ ext { appName = 'Tachiyomi: Mintmanga' pkgNameSuffix = 'ru.mintmanga' extClass = '.Mintmanga' - extVersionCode = 9 + extVersionCode = 10 libVersion = '1.2' } +dependencies { + implementation project(':lib-ratelimit') +} + apply from: "$rootDir/common.gradle" diff --git a/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/Mintmanga.kt b/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/Mintmanga.kt index 7541b8c43..af488a536 100644 --- a/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/Mintmanga.kt +++ b/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/Mintmanga.kt @@ -1,16 +1,14 @@ package eu.kanade.tachiyomi.extension.ru.mintmanga +import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.* import eu.kanade.tachiyomi.source.online.ParsedHttpSource -import okhttp3.Headers -import okhttp3.HttpUrl -import okhttp3.Request -import okhttp3.Response +import okhttp3.* import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import java.text.SimpleDateFormat import java.text.ParseException +import java.text.SimpleDateFormat import java.util.* import java.util.regex.Pattern @@ -26,6 +24,11 @@ class Mintmanga : ParsedHttpSource() { override val supportsLatest = true + private val rateLimitInterceptor = RateLimitInterceptor(2) + + override val client: OkHttpClient = network.client.newBuilder() + .addNetworkInterceptor(rateLimitInterceptor).build() + override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/list?sortType=rate&offset=${70 * (page - 1)}&max=70", headers) @@ -87,6 +90,7 @@ class Mintmanga : ParsedHttpSource() { val manga = SManga.create() manga.author = infoElement.select("span.elem_author").first()?.text() + manga.artist = infoElement.select("span.elem_illustrator").first()?.text() manga.genre = infoElement.select("span.elem_genre").text().replace(" ,", ",") manga.description = infoElement.select("div.manga-description").text() manga.status = parseStatus(infoElement.html()) @@ -101,7 +105,7 @@ class Mintmanga : ParsedHttpSource() { else -> SManga.UNKNOWN } - override fun chapterListSelector() = "div.chapters-link tbody tr" + override fun chapterListSelector() = "div.chapters-link > table > tbody > tr:has(td > a)" override fun chapterFromElement(element: Element): SChapter { val urlElement = element.select("a").first() diff --git a/src/ru/readmanga/build.gradle b/src/ru/readmanga/build.gradle index acb1333c0..0aa3367ff 100644 --- a/src/ru/readmanga/build.gradle +++ b/src/ru/readmanga/build.gradle @@ -5,8 +5,12 @@ ext { appName = 'Tachiyomi: Readmanga' pkgNameSuffix = 'ru.readmanga' extClass = '.Readmanga' - extVersionCode = 9 + extVersionCode = 10 libVersion = '1.2' } +dependencies { + implementation project(':lib-ratelimit') +} + apply from: "$rootDir/common.gradle" diff --git a/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/Readmanga.kt b/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/Readmanga.kt index f37718ea6..155addf04 100644 --- a/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/Readmanga.kt +++ b/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/Readmanga.kt @@ -1,16 +1,14 @@ package eu.kanade.tachiyomi.extension.ru.readmanga +import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.* import eu.kanade.tachiyomi.source.online.ParsedHttpSource -import okhttp3.Headers -import okhttp3.HttpUrl -import okhttp3.Request -import okhttp3.Response +import okhttp3.* import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import java.text.SimpleDateFormat import java.text.ParseException +import java.text.SimpleDateFormat import java.util.* import java.util.regex.Pattern @@ -26,6 +24,11 @@ class Readmanga : ParsedHttpSource() { override val supportsLatest = true + private val rateLimitInterceptor = RateLimitInterceptor(2) + + override val client: OkHttpClient = network.client.newBuilder() + .addNetworkInterceptor(rateLimitInterceptor).build() + override fun popularMangaSelector() = "div.tile" override fun latestUpdatesSelector() = "div.tile" @@ -87,6 +90,7 @@ class Readmanga : ParsedHttpSource() { val manga = SManga.create() manga.author = infoElement.select("span.elem_author").first()?.text() + manga.artist = infoElement.select("span.elem_illustrator").first()?.text() manga.genre = infoElement.select("span.elem_genre").text().replace(" ,", ",") manga.description = infoElement.select("div.manga-description").text() manga.status = parseStatus(infoElement.html()) @@ -101,7 +105,7 @@ class Readmanga : ParsedHttpSource() { else -> SManga.UNKNOWN } - override fun chapterListSelector() = "div.chapters-link tbody tr" + override fun chapterListSelector() = "div.chapters-link > table > tbody > tr:has(td > a)" override fun chapterFromElement(element: Element): SChapter { val urlElement = element.select("a").first()