Remove deprecated "getFavicon" method

pull/146/head
Koitharu 3 years ago
parent 1e1756aa17
commit 05d705ac03
No known key found for this signature in database
GPG Key ID: 8E861F8CE6E7CE27

@ -59,13 +59,13 @@ All functions in `MangaParser` class are documented. Pay attention to some pecul
- `sortOrders` set should not be empty. If your source is not support sorting, specify one most relevance value.
- If you cannot obtain direct links to pages images inside `getPages` method, it is ok to use an intermediate url
as `Page.url` and fetch a direct link at `getPageUrl` function.
- `getFaviconUrl` function is deprecated, but Kotatsu application before v4 still use it, so it is recommended to
override it too.
- You can use _asserts_ to check some optional fields. For example. `Manga.author` field is not required, but if your
source provide such information, add `assert(it != null)`. This will not have any effect on production but help to
find issues during unit testing.
- If your source website (or it's api) uses pages for pagination instead of offset you should extend `PagedMangaParser`
instead of `MangaParser`.
- Your parser may also implement the `Interceptor` interface for additional manipulation of all network requests and/or
responses, including image loading.
## Development process
@ -87,4 +87,4 @@ It is recommended to run unit tests before submitting a PR.
## Help
If you need a help or have some questions, ask a community in our [Discord server](https://discord.gg/NNJ5RgVBC5).
If you need a help or have some questions, ask a community in our [Discord server](https://discord.gg/NNJ5RgVBC5).

@ -112,15 +112,6 @@ abstract class MangaParser @InternalParsersApi constructor(
*/
abstract suspend fun getTags(): Set<MangaTag>
/**
* Returns direct link to the website favicon
*/
@Deprecated(
message = "Use parseFavicons() to get multiple favicons with different size",
replaceWith = ReplaceWith("parseFavicons()"),
)
open fun getFaviconUrl() = "https://${domain}/favicon.ico"
/**
* Parse favicons from the main page of the source`s website
*/

@ -26,10 +26,6 @@ internal class AnibelParser(context: MangaLoaderContext) : MangaParser(context,
SortOrder.NEWEST,
)
override fun getFaviconUrl(): String {
return "https://cdn.${domain}/favicons/favicon.png"
}
override suspend fun getList(
offset: Int,
query: String?,

@ -158,8 +158,6 @@ internal class BatoToParser(context: MangaLoaderContext) : PagedMangaParser(
throw ParseException("Cannot find gernes list", scripts[0].baseUri())
}
override fun getFaviconUrl(): String = "https://styles.amarkcdn.com/img/batoto/favicon.ico?v0"
private suspend fun search(page: Int, query: String): List<Manga> {
val url = buildString {
append("https://")

@ -21,10 +21,6 @@ internal class CloneMangaParser(context: MangaLoaderContext) : PagedMangaParser(
override val configKeyDomain = ConfigKey.Domain("manga.clone-army.org", null)
override fun getFaviconUrl(): String {
return "https://pbs.twimg.com/profile_images/458758466346029056/Ys93EANp_400x400.png"
}
override suspend fun getListPage(
page: Int,
query: String?,

@ -205,10 +205,6 @@ internal class NudeMoonParser(
}
}
override fun getFaviconUrl(): String {
return "https://${domain}/favicon.jpg"
}
private fun getSortKey(sortOrder: SortOrder) =
when (sortOrder) {
SortOrder.POPULARITY -> "views"

@ -15,7 +15,4 @@ internal class MintMangaParser(
arrayOf("mintmanga.live", "mintmanga.com"),
)
override fun getFaviconUrl(): String {
return "https://resmm.rmr.rocks/static/apple-touch-icon-8fff291039c140493adb0c7ba81065ad.png"
}
}

@ -15,7 +15,4 @@ internal class ReadmangaParser(
arrayOf("readmanga.io", "readmanga.live", "readmanga.me"),
)
override fun getFaviconUrl(): String {
return "https://resrm.rmr.rocks/static/apple-touch-icon-3162037c9df9f28dca0f9a4092cb0f65.png"
}
}

@ -12,7 +12,4 @@ internal class SelfMangaParser(
override val configKeyDomain = ConfigKey.Domain("selfmanga.live", null)
override fun getFaviconUrl(): String {
return "https://ressm.rmr.rocks/static/apple-touch-icon-a769ea533d811b73ac3eedde658bb1d3.png"
}
}

@ -182,6 +182,5 @@ abstract class Madara5Parser @InternalParsersApi constructor(
@MangaSourceParser("MANGAOWLS", "BeautyManga", "en")
class BeautyManga(context: MangaLoaderContext) : Madara5Parser(context, MangaSource.MANGAOWLS, "beautymanga.com") {
override fun getFaviconUrl() = "http://${domain}/frontend/images/favico.png"
}
}

@ -316,7 +316,7 @@ internal abstract class MadaraParser(
override val datePattern = "dd MMMM HH:mm"
}
@MangaSourceParser("HachiManga", "HACHIMANGA", "ja")
@MangaSourceParser("HACHIMANGA", "HachiManga", "ja")
class HachiManga(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.HACHIMANGA, "hachimanga.com") {
@ -340,17 +340,11 @@ internal abstract class MadaraParser(
@MangaSourceParser("AQUAMANGA", "AquaManga", "en")
class AquaManga(context: MangaLoaderContext) : MadaraParser(context, MangaSource.AQUAMANGA, "aquamanga.com") {
override fun getFaviconUrl(): String {
return "https://$domain/wp-content/uploads/2021/03/cropped-cropped-favicon-1-32x32.png"
}
}
@MangaSourceParser("MANGALEK", "MangaLek", "ar")
class MangaLek(context: MangaLoaderContext) : MadaraParser(context, MangaSource.MANGALEK, "mangalek.com") {
override fun getFaviconUrl(): String {
return "https://$domain/wp-content/logo192.png"
}
}
@MangaSourceParser("HARIMANGA", "HariManga", "en")
@ -384,9 +378,6 @@ internal abstract class MadaraParser(
@MangaSourceParser("MANHWAKOOL", "Manhwa Kool", "en")
class ManhwaKool(context: MangaLoaderContext) : MadaraParser(context, MangaSource.MANHWAKOOL, "manhwakool.com") {
override val datePattern: String = "MM/dd"
override fun getFaviconUrl(): String {
return "https://$domain/wp-content/uploads/2021/10/cropped-logo-kool-32x32.jpeg"
}
}
@MangaSourceParser("TOPMANHUA", "Top Manhua", "en")
@ -403,9 +394,6 @@ internal abstract class MadaraParser(
override val isNsfwSource = true
override fun getFaviconUrl(): String {
return "https://$domain/wp-content/uploads/cropped-sky-tv-1-32x32.png"
}
}
@MangaSourceParser("BAKAMAN", "BakaMan", "th")
@ -461,9 +449,6 @@ internal abstract class MadaraParser(
override val isNsfwSource = true
override fun getFaviconUrl(): String {
return "https://cdn.$domain/wp-content/uploads/2019/01/cropped-cropped-pcround-32x32.png"
}
}
@MangaSourceParser("CAT_300", "Cat300", "th")
@ -483,17 +468,11 @@ internal abstract class MadaraParser(
override val datePattern = "MM/dd/yyyy"
override fun getFaviconUrl(): String {
return "https://$domain/wp-content/uploads/2017/10/lgoo-treemanga-2-1.jpg"
}
}
@MangaSourceParser("MANGACV", "Manga Cv", "en")
class MangaCv(context: MangaLoaderContext) : MadaraParser(context, MangaSource.MANGACV, "mangacv.com") {
override fun getFaviconUrl(): String {
return "https://$domain/wp-content/uploads/2020/10/cropped-mangaCV-32x32.png"
}
}
@MangaSourceParser("MANGA_MANHUA", "Manga Manhua", "en")

@ -43,6 +43,4 @@ internal class MangalinkParser(context: MangaLoaderContext) :
)
}
override fun getFaviconUrl(): String =
"https://cdn.${domain}/wp-content/uploads/2020/05/cropped-mangalink-180x180.jpg"
}

@ -8,7 +8,6 @@ import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.model.MangaState
import org.koitharu.kotatsu.parsers.util.attrAsAbsoluteUrlOrNull
import org.koitharu.kotatsu.parsers.util.domain
import org.koitharu.kotatsu.parsers.util.mapToSet
import org.koitharu.kotatsu.parsers.util.selectFirstOrThrow
import java.util.*
@ -19,10 +18,6 @@ internal class MangasOriginesParser(context: MangaLoaderContext) :
override val tagPrefix = "catalogues-genre/"
override fun getFaviconUrl(): String {
return "https://${domain}/wp-content/uploads/2020/11/Mangas-150x150.png"
}
override fun parseDetails(manga: Manga, body: Element, chapters: List<MangaChapter>): Manga {
val root = body.selectFirstOrThrow(".site-content")
val postContent = root.selectFirstOrThrow(".post-content")

@ -8,7 +8,6 @@ import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.model.MangaState
import org.koitharu.kotatsu.parsers.util.attrAsAbsoluteUrlOrNull
import org.koitharu.kotatsu.parsers.util.domain
import org.koitharu.kotatsu.parsers.util.mapToSet
import org.koitharu.kotatsu.parsers.util.selectFirstOrThrow
import java.util.*
@ -20,10 +19,6 @@ internal class PrismaScansParser(context: MangaLoaderContext) :
override val tagPrefix = "manga-genre/"
override val datePattern = "MMM dd, yyyy"
override fun getFaviconUrl(): String {
return "https://${domain}/wp-content/uploads/2022/07/cropped-branca-1-192x192.png"
}
override fun parseDetails(manga: Manga, body: Element, chapters: List<MangaChapter>): Manga {
val root = body.selectFirstOrThrow(".site-content")
val postContent = root.selectFirstOrThrow(".post-content")

@ -83,6 +83,4 @@ internal class ReaperScansParser(context: MangaLoaderContext) :
}
}
override fun getFaviconUrl(): String =
"https://wuz.${domain}/wp-content/uploads/2022/03/20063242/cropped-ms-icon-310x310-2-192x192.png"
}

@ -8,7 +8,6 @@ import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.model.MangaState
import org.koitharu.kotatsu.parsers.util.attrAsAbsoluteUrlOrNull
import org.koitharu.kotatsu.parsers.util.domain
import org.koitharu.kotatsu.parsers.util.mapToSet
import org.koitharu.kotatsu.parsers.util.selectFirstOrThrow
import java.util.*
@ -48,8 +47,4 @@ internal class TatakaeScansParser(context: MangaLoaderContext) :
else -> null
}
override fun getFaviconUrl(): String {
return "https://${domain}/wp-content/uploads/2022/07/cropped-favicon-180x180.png"
}
}

Loading…
Cancel
Save