Rename "Fansubs.cat - Hentai" as "Hentai.cat" (#3430)
Rename "Fansubs.cat - Hentai" as "Hentai.cat", update logos and use the new API endpoint
| @ -2,4 +2,4 @@ plugins { | |||||||
|     id("lib-multisrc") |     id("lib-multisrc") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| baseVersionCode = 4 | baseVersionCode = 5 | ||||||
|  | |||||||
| @ -30,11 +30,10 @@ abstract class FansubsCat( | |||||||
|     override val name: String, |     override val name: String, | ||||||
|     override val baseUrl: String, |     override val baseUrl: String, | ||||||
|     override val lang: String, |     override val lang: String, | ||||||
|  |     val apiBaseUrl: String, | ||||||
|     val isHentaiSite: Boolean, |     val isHentaiSite: Boolean, | ||||||
| ) : HttpSource() { | ) : HttpSource() { | ||||||
| 
 | 
 | ||||||
|     private val apiBaseUrl = "https://api.fansubs.cat" |  | ||||||
| 
 |  | ||||||
|     override val supportsLatest = true |     override val supportsLatest = true | ||||||
| 
 | 
 | ||||||
|     override fun headersBuilder(): Headers.Builder = Headers.Builder() |     override fun headersBuilder(): Headers.Builder = Headers.Builder() | ||||||
| @ -91,7 +90,7 @@ abstract class FansubsCat( | |||||||
|     // Popular |     // Popular | ||||||
| 
 | 
 | ||||||
|     override fun popularMangaRequest(page: Int): Request { |     override fun popularMangaRequest(page: Int): Request { | ||||||
|         return GET("$apiBaseUrl/manga/popular/$page?hentai=$isHentaiSite", headers) |         return GET("$apiBaseUrl/manga/popular/$page", headers) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     override fun popularMangaParse(response: Response): MangasPage = parseMangaFromJson(response) |     override fun popularMangaParse(response: Response): MangasPage = parseMangaFromJson(response) | ||||||
| @ -99,7 +98,7 @@ abstract class FansubsCat( | |||||||
|     // Latest |     // Latest | ||||||
| 
 | 
 | ||||||
|     override fun latestUpdatesRequest(page: Int): Request { |     override fun latestUpdatesRequest(page: Int): Request { | ||||||
|         return GET("$apiBaseUrl/manga/recent/$page?hentai=$isHentaiSite", headers) |         return GET("$apiBaseUrl/manga/recent/$page", headers) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     override fun latestUpdatesParse(response: Response): MangasPage = parseMangaFromJson(response) |     override fun latestUpdatesParse(response: Response): MangasPage = parseMangaFromJson(response) | ||||||
| @ -110,13 +109,15 @@ abstract class FansubsCat( | |||||||
|         val filterList = if (filters.isEmpty()) getFilterList() else filters |         val filterList = if (filters.isEmpty()) getFilterList() else filters | ||||||
|         val mangaTypeFilter = filterList.find { it is MangaTypeFilter } as MangaTypeFilter |         val mangaTypeFilter = filterList.find { it is MangaTypeFilter } as MangaTypeFilter | ||||||
|         val stateFilter = filterList.find { it is StateFilter } as StateFilter |         val stateFilter = filterList.find { it is StateFilter } as StateFilter | ||||||
|         val demographyFilter = filterList.find { it is DemographyFilter } as DemographyFilter |  | ||||||
|         val genreFilter = filterList.find { it is GenreTagFilter } as GenreTagFilter |         val genreFilter = filterList.find { it is GenreTagFilter } as GenreTagFilter | ||||||
|         val themeFilter = filterList.find { it is ThemeTagFilter } as ThemeTagFilter |         val themeFilter = filterList.find { it is ThemeTagFilter } as ThemeTagFilter | ||||||
|         val builder = "$apiBaseUrl/manga/search/$page?hentai=$isHentaiSite".toHttpUrl().newBuilder() |         val builder = "$apiBaseUrl/manga/search/$page".toHttpUrl().newBuilder() | ||||||
|         mangaTypeFilter.addQueryParameter(builder) |         mangaTypeFilter.addQueryParameter(builder) | ||||||
|         stateFilter.addQueryParameter(builder) |         stateFilter.addQueryParameter(builder) | ||||||
|  |         if (!isHentaiSite) { | ||||||
|  |             val demographyFilter = filterList.find { it is DemographyFilter } as DemographyFilter | ||||||
|             demographyFilter.addQueryParameter(builder) |             demographyFilter.addQueryParameter(builder) | ||||||
|  |         } | ||||||
|         genreFilter.addQueryParameter(builder) |         genreFilter.addQueryParameter(builder) | ||||||
|         themeFilter.addQueryParameter(builder) |         themeFilter.addQueryParameter(builder) | ||||||
|         if (query.isNotBlank()) { |         if (query.isNotBlank()) { | ||||||
| @ -131,7 +132,7 @@ abstract class FansubsCat( | |||||||
| 
 | 
 | ||||||
|     override fun mangaDetailsRequest(manga: SManga): Request { |     override fun mangaDetailsRequest(manga: SManga): Request { | ||||||
|         return GET( |         return GET( | ||||||
|             "$apiBaseUrl/manga/details/${manga.url.substringAfterLast('/')}?hentai=$isHentaiSite", |             "$apiBaseUrl/manga/details/${manga.url.substringAfterLast('/')}", | ||||||
|             headers, |             headers, | ||||||
|         ) |         ) | ||||||
|     } |     } | ||||||
| @ -166,7 +167,7 @@ abstract class FansubsCat( | |||||||
| 
 | 
 | ||||||
|     override fun chapterListRequest(manga: SManga): Request { |     override fun chapterListRequest(manga: SManga): Request { | ||||||
|         return GET( |         return GET( | ||||||
|             "$apiBaseUrl/manga/chapters/${manga.url.substringAfterLast('/')}?hentai=$isHentaiSite", |             "$apiBaseUrl/manga/chapters/${manga.url.substringAfterLast('/')}", | ||||||
|             headers, |             headers, | ||||||
|         ) |         ) | ||||||
|     } |     } | ||||||
| @ -178,7 +179,7 @@ abstract class FansubsCat( | |||||||
| 
 | 
 | ||||||
|     override fun pageListRequest(chapter: SChapter): Request { |     override fun pageListRequest(chapter: SChapter): Request { | ||||||
|         return GET( |         return GET( | ||||||
|             "$apiBaseUrl/manga/pages/${chapter.url.substringAfterLast('/')}?hentai=$isHentaiSite", |             "$apiBaseUrl/manga/pages/${chapter.url.substringAfterLast('/')}", | ||||||
|             headers, |             headers, | ||||||
|         ) |         ) | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| ext { | ext { | ||||||
|     extName = 'Fansubs.cat' |     extName = 'Fansubs.cat' | ||||||
|     extClass = '.FansubsCatMain' |     extClass = '.FansubsCat' | ||||||
|     themePkg = 'fansubscat' |     themePkg = 'fansubscat' | ||||||
|     baseUrl = 'https://manga.fansubs.cat' |     baseUrl = 'https://manga.fansubs.cat' | ||||||
|     overrideVersionCode = 0 |     overrideVersionCode = 0 | ||||||
|  | |||||||
| Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.5 KiB | 
| Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.7 KiB | 
| Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.7 KiB | 
| Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 5.8 KiB | 
| Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 8.6 KiB | 
| @ -2,9 +2,10 @@ package eu.kanade.tachiyomi.extension.ca.fansubscat | |||||||
| 
 | 
 | ||||||
| import eu.kanade.tachiyomi.multisrc.fansubscat.FansubsCat | import eu.kanade.tachiyomi.multisrc.fansubscat.FansubsCat | ||||||
| 
 | 
 | ||||||
| class FansubsCatMain : FansubsCat( | class FansubsCat : FansubsCat( | ||||||
|     "Fansubs.cat", |     "Fansubs.cat", | ||||||
|     "https://manga.fansubs.cat", |     "https://manga.fansubs.cat", | ||||||
|     "ca", |     "ca", | ||||||
|  |     "https://api.fansubs.cat", | ||||||
|     isHentaiSite = false, |     isHentaiSite = false, | ||||||
| ) | ) | ||||||
| @ -1,8 +1,8 @@ | |||||||
| ext { | ext { | ||||||
|     extName = 'Fansubs.cat - Hentai' |     extName = 'Hentai.cat' | ||||||
|     extClass = '.FansubsCatHentai' |     extClass = '.HentaiCat' | ||||||
|     themePkg = 'fansubscat' |     themePkg = 'fansubscat' | ||||||
|     baseUrl = 'https://hentai.fansubs.cat/manga' |     baseUrl = 'https://manga.hentai.cat' | ||||||
|     overrideVersionCode = 0 |     overrideVersionCode = 0 | ||||||
|     isNsfw = true |     isNsfw = true | ||||||
| } | } | ||||||
|  | |||||||
| Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.8 KiB | 
| Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.9 KiB | 
| Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 4.0 KiB | 
| Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.3 KiB | 
| Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 9.4 KiB | 
| @ -1,10 +0,0 @@ | |||||||
| package eu.kanade.tachiyomi.extension.ca.fansubscathentai |  | ||||||
| 
 |  | ||||||
| import eu.kanade.tachiyomi.multisrc.fansubscat.FansubsCat |  | ||||||
| 
 |  | ||||||
| class FansubsCatHentai : FansubsCat( |  | ||||||
|     "Fansubs.cat - Hentai", |  | ||||||
|     "https://hentai.fansubs.cat/manga", |  | ||||||
|     "ca", |  | ||||||
|     isHentaiSite = true, |  | ||||||
| ) |  | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | package eu.kanade.tachiyomi.extension.ca.fansubscathentai | ||||||
|  | 
 | ||||||
|  | import eu.kanade.tachiyomi.multisrc.fansubscat.FansubsCat | ||||||
|  | 
 | ||||||
|  | class HentaiCat : FansubsCat( | ||||||
|  |     "Hentai.cat", | ||||||
|  |     "https://manga.hentai.cat", | ||||||
|  |     "ca", | ||||||
|  |     "https://api.hentai.cat", | ||||||
|  |     isHentaiSite = true, | ||||||
|  | ) { | ||||||
|  |     override val id: Long = 7575385310756416449 | ||||||
|  | } | ||||||
 Fansubs.cat
						Fansubs.cat