diff --git a/src/es/doujinshell/build.gradle b/src/es/doujinshell/build.gradle new file mode 100644 index 000000000..5393c9979 --- /dev/null +++ b/src/es/doujinshell/build.gradle @@ -0,0 +1,10 @@ +ext { + extName = 'DoujinsHell' + extClass = '.DoujinsHell' + themePkg = 'madara' + baseUrl = 'https://www.doujinshell.com' + overrideVersionCode = 0 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/es/doujinshell/res/mipmap-hdpi/ic_launcher.png b/src/es/doujinshell/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..5cbd8b6f9 Binary files /dev/null and b/src/es/doujinshell/res/mipmap-hdpi/ic_launcher.png differ diff --git a/src/es/doujinshell/res/mipmap-mdpi/ic_launcher.png b/src/es/doujinshell/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..8c68682d0 Binary files /dev/null and b/src/es/doujinshell/res/mipmap-mdpi/ic_launcher.png differ diff --git a/src/es/doujinshell/res/mipmap-xhdpi/ic_launcher.png b/src/es/doujinshell/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..35e4e0511 Binary files /dev/null and b/src/es/doujinshell/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/src/es/doujinshell/res/mipmap-xxhdpi/ic_launcher.png b/src/es/doujinshell/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..97941347b Binary files /dev/null and b/src/es/doujinshell/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/src/es/doujinshell/res/mipmap-xxxhdpi/ic_launcher.png b/src/es/doujinshell/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..ed5964ce5 Binary files /dev/null and b/src/es/doujinshell/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/src/es/doujinshell/src/eu/kanade/tachiyomi/extension/es/doujinshell/DoujinsHell.kt b/src/es/doujinshell/src/eu/kanade/tachiyomi/extension/es/doujinshell/DoujinsHell.kt new file mode 100644 index 000000000..125ef1ab0 --- /dev/null +++ b/src/es/doujinshell/src/eu/kanade/tachiyomi/extension/es/doujinshell/DoujinsHell.kt @@ -0,0 +1,44 @@ +package eu.kanade.tachiyomi.extension.es.doujinshell + +import eu.kanade.tachiyomi.multisrc.madara.Madara +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SChapter +import okhttp3.Response +import org.jsoup.nodes.Document +import java.text.SimpleDateFormat +import java.util.Locale + +class DoujinsHell : Madara( + "DoujinsHell", + "https://www.doujinshell.com", + "es", + dateFormat = SimpleDateFormat("d MMMM, yyyy", Locale("es")), +) { + override val useLoadMoreRequest = LoadMoreStrategy.Never + override val useNewChapterEndpoint = false + + override val mangaSubString = "doujin" + override val fetchGenres = false + + // A significant amount of entries are in the wrong category + override val filterNonMangaItems = false + + // .aligncenter: Next / Prev / PDF buttons + override val pageListParseSelector = ".reading-content noscript img:not(.aligncenter)" + + override fun chapterListSelector() = "div.listing-chapters_wrap li.wp-manga-chapter" + + override fun chapterListParse(response: Response): List { + return super.chapterListParse(response).apply { + if (size == 1) first().name = "Capítulo" + } + } + + override fun pageListParse(document: Document): List { + return super.pageListParse(document).also { pages -> + if (pages.isEmpty() && document.select(".reading-content iframe").isNotEmpty()) { + throw Exception("No se admiten vídeos") + } + } + } +}