From 7147360823f707bff4bec7aead3bcd8dc71be6b4 Mon Sep 17 00:00:00 2001 From: WebDitto Date: Thu, 19 Jun 2025 12:55:09 -0500 Subject: [PATCH] fix: Fixed Q1N source using UniversalExtractor as fallback (#1019) Checklist: - [ ] Updated `extVersionCode` value in `build.gradle` for individual extensions - [x] Updated `overrideVersionCode` or `baseVersionCode` as needed for all multisrc extensions - [ ] Referenced all related issues in the PR body (e.g. "Closes #xyz") - [ ] Added the `isNsfw = true` flag in `build.gradle` when appropriate - [ ] Have not changed source names - [ ] Have explicitly kept the `id` if a source's name or language were changed - [x] Have tested the modifications by compiling and running the extension through Android Studio - [ ] Have removed `web_hi_res_512.png` when adding a new extension - [ ] Have made sure all the icons are in png format Reviewed-on: https://kohiden.xyz/Kohi-den/extensions-source/pulls/1019 Co-authored-by: WebDitto Co-committed-by: WebDitto --- src/pt/animesgratis/build.gradle | 4 +- .../animeextension/pt/animesgratis/Q1N.kt | 8 +- .../extractors/UniversalExtractor.kt | 128 ++++++++++++++++++ 3 files changed, 138 insertions(+), 2 deletions(-) create mode 100644 src/pt/animesgratis/src/eu/kanade/tachiyomi/animeextension/pt/animesgratis/extractors/UniversalExtractor.kt diff --git a/src/pt/animesgratis/build.gradle b/src/pt/animesgratis/build.gradle index 208b539f..58f18c35 100644 --- a/src/pt/animesgratis/build.gradle +++ b/src/pt/animesgratis/build.gradle @@ -1,9 +1,10 @@ ext { + extKmkVersionCode = 1 extName = 'Q1N' extClass = '.Q1N' themePkg = 'dooplay' baseUrl = 'https://q1n.net' - overrideVersionCode = 20 + overrideVersionCode = 21 } apply from: "$rootDir/common.gradle" @@ -13,5 +14,6 @@ dependencies { implementation(project(":lib:filemoon-extractor")) implementation(project(":lib:streamwish-extractor")) implementation(project(":lib:mixdrop-extractor")) + implementation(project(":lib:playlist-utils")) implementation(project(":lib:streamtape-extractor")) } diff --git a/src/pt/animesgratis/src/eu/kanade/tachiyomi/animeextension/pt/animesgratis/Q1N.kt b/src/pt/animesgratis/src/eu/kanade/tachiyomi/animeextension/pt/animesgratis/Q1N.kt index 03e410bc..486ffcbc 100644 --- a/src/pt/animesgratis/src/eu/kanade/tachiyomi/animeextension/pt/animesgratis/Q1N.kt +++ b/src/pt/animesgratis/src/eu/kanade/tachiyomi/animeextension/pt/animesgratis/Q1N.kt @@ -1,7 +1,9 @@ package eu.kanade.tachiyomi.animeextension.pt.animesgratis +import android.util.Log import eu.kanade.tachiyomi.animeextension.pt.animesgratis.extractors.NoaExtractor import eu.kanade.tachiyomi.animeextension.pt.animesgratis.extractors.RuplayExtractor +import eu.kanade.tachiyomi.animeextension.pt.animesgratis.extractors.UniversalExtractor import eu.kanade.tachiyomi.animesource.model.SAnime import eu.kanade.tachiyomi.animesource.model.SEpisode import eu.kanade.tachiyomi.animesource.model.Video @@ -27,6 +29,8 @@ class Q1N : DooPlay( "https://q1n.net", ) { + private val tag by lazy { javaClass.simpleName } + override val id: Long = 2969482460524685571L override val dateFormatter by lazy { @@ -118,10 +122,12 @@ class Q1N : DooPlay( private val streamTapeExtractor by lazy { StreamTapeExtractor(client) } private val streamWishExtractor by lazy { StreamWishExtractor(client, headers) } private val mixDropExtractor by lazy { MixDropExtractor(client) } + private val universalExtractor by lazy { UniversalExtractor(client) } private fun getPlayerVideos(player: Element): List