From 476f15664355b11bd80361de4634dce7f3f08d81 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Tue, 16 Aug 2022 17:24:35 +0600 Subject: [PATCH] Merge WPMangaReader and WPMangaStream (#12918) --- ...run.xml => MangaThemesiaGenerator.run.xml} | 8 +- .run/WpMangaReaderGenerator.run.xml | 11 - .../acescans/res/mipmap-hdpi/ic_launcher.png | Bin .../acescans/res/mipmap-mdpi/ic_launcher.png | Bin .../acescans/res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../acescans/res/web_hi_res_512.png | Bin .../mangathemesia/acescans/src/AceScans.kt | 5 + .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../alphascans/res/web_hi_res_512.png | Bin .../alphascans/src/AlphaScans.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../res/web_hi_res_512.png | Bin .../src/AnimatedGlitchedScans.kt | 5 + .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../anitationarts/res/web_hi_res_512.png | Bin .../arcanescan/src/Arcanescan.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../asurascans/res/web_hi_res_512.png | Bin .../asurascans/src/AsuraScans.kt | 6 +- .../asurascans/src/AsuraScansFactory.kt | 46 ++ .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../azurescans/res/web_hi_res_512.png | Bin .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../batotoscans/res/web_hi_res_512.png | Bin .../batotoscans/src/BatotoScans.kt | 7 + .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../beastscans/res/web_hi_res_512.png | Bin .../boosei/res/mipmap-hdpi/ic_launcher.png | Bin .../boosei/res/mipmap-mdpi/ic_launcher.png | Bin .../boosei/res/mipmap-xhdpi/ic_launcher.png | Bin .../boosei/res/mipmap-xxhdpi/ic_launcher.png | Bin .../boosei/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../boosei/res/web_hi_res_512.png | Bin .../boosei/src/Boosei.kt | 4 +- .../default/AndroidManifest.xml | 2 +- .../default/res/mipmap-hdpi/ic_launcher.png | Bin .../default/res/mipmap-mdpi/ic_launcher.png | Bin .../default/res/mipmap-xhdpi/ic_launcher.png | Bin .../default/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../default/res/web_hi_res_512.png | Bin .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../flamescans/res/web_hi_res_512.png | Bin .../flamescans/src/FlameScans.kt | 4 +- .../flamescans/src/FlameScansFactory.kt | 7 +- .../franxxmangas/src/FranxxMangas.kt | 14 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../fusionscanlation/res/web_hi_res_512.png | Bin .../fusionscanlation/src/FusionScanlation.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../gabutscans/res/web_hi_res_512.png | Bin .../gabutscans/src/GabutScans.kt | 16 +- .../gogomanga/res/mipmap-hdpi/ic_launcher.png | Bin .../gogomanga/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../gogomanga/res/web_hi_res_512.png | Bin .../iimanga/res/mipmap-hdpi/ic_launcher.png | Bin .../iimanga/res/mipmap-mdpi/ic_launcher.png | Bin .../iimanga/res/mipmap-xhdpi/ic_launcher.png | Bin .../iimanga/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../iimanga/res/web_hi_res_512.png | Bin .../iimanga/src/ARESManga.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../imaginescan/res/web_hi_res_512.png | Bin .../imaginescan/src/ImagineScan.kt | 8 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../imperfectcomics/res/web_hi_res_512.png | Bin .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../inarimanga/res/web_hi_res_512.png | Bin .../inarimanga/src/InariManga.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../infernalvoidscans/res/web_hi_res_512.png | Bin .../src/InfernalVoidScans.kt | 5 + .../kiryuu/res/mipmap-hdpi/ic_launcher.png | Bin .../kiryuu/res/mipmap-mdpi/ic_launcher.png | Bin .../kiryuu/res/mipmap-xhdpi/ic_launcher.png | Bin .../kiryuu/res/mipmap-xxhdpi/ic_launcher.png | Bin .../kiryuu/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../kiryuu/res/web_hi_res_512.png | Bin .../mangathemesia/kiryuu/src/Kiryuu.kt | 27 + .../klankomik/res/mipmap-hdpi/ic_launcher.png | Bin .../klankomik/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../klankomik/res/web_hi_res_512.png | Bin .../klankomik/src/KlanKomik.kt | 4 +- .../komikav/res/mipmap-hdpi/ic_launcher.png | Bin .../komikav/res/mipmap-mdpi/ic_launcher.png | Bin .../komikav/res/mipmap-xhdpi/ic_launcher.png | Bin .../komikav/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../komikav/res/web_hi_res_512.png | Bin .../komikav/src/KomikAV.kt | 4 +- .../komikcast/res/mipmap-hdpi/ic_launcher.png | Bin .../komikcast/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../komikcast/res/web_hi_res_512.png | Bin .../mangathemesia/komikcast/src/KomikCast.kt | 89 +++ .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../komikindoco/res/web_hi_res_512.png | Bin .../komikindoco/src/KomikindoCo.kt | 23 + .../komiklab/res/mipmap-hdpi/ic_launcher.png | Bin .../komiklab/res/mipmap-mdpi/ic_launcher.png | Bin .../komiklab/res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../komiklab/res/web_hi_res_512.png | Bin .../mangathemesia/komiklab/src/KomikLab.kt | 9 + .../komikmama/res/mipmap-hdpi/ic_launcher.png | Bin .../komikmama/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../komikmama/res/web_hi_res_512.png | Bin .../komikmama/src/KomikMama.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../komikstation/res/web_hi_res_512.png | Bin .../komikstation/src/KomikStation.kt | 21 + .../komikucom/res/mipmap-hdpi/ic_launcher.png | Bin .../komikucom/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../komikucom/res/web_hi_res_512.png | Bin .../komikucom/src/KomikuCom.kt | 4 +- .../kumascans/res/mipmap-hdpi/ic_launcher.png | Bin .../kumascans/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../kumascans/res/web_hi_res_512.png | Bin .../kumascans/src/KumaScans.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../legionscan/res/web_hi_res_512.png | Bin .../legionscan/src/LegionScan.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../magusmanga/res/web_hi_res_512.png | Bin .../magusmanga/src/MagusManga.kt | 4 +- .../mangakita/res/mipmap-hdpi/ic_launcher.png | Bin .../mangakita/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../mangakita/res/web_hi_res_512.png | Bin .../mangathemesia/mangakita/src/MangaKita.kt | 7 + .../mangakyo/res/mipmap-hdpi/ic_launcher.png | Bin .../mangakyo/res/mipmap-mdpi/ic_launcher.png | Bin .../mangakyo/res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../mangakyo/res/web_hi_res_512.png | Bin .../mangakyo/src/Mangakyo.kt | 4 +- .../mangaproz/res/mipmap-hdpi/ic_launcher.png | Bin .../mangaproz/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../mangaproz/res/web_hi_res_512.png | Bin .../mangaproz/src/MangaPro.kt | 17 +- .../mangaraworg/src/MangaRawOrg.kt | 27 +- .../mangaschan/src/MangasChan.kt | 6 +- .../mangasusu/res/mipmap-hdpi/ic_launcher.png | Bin .../mangasusu/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../mangasusu/res/web_hi_res_512.png | Bin .../mangathemesia/mangasusu/src/Mangasusu.kt | 5 + .../mangaswat/res/mipmap-hdpi/ic_launcher.png | Bin .../mangaswat/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../mangaswat/res/web_hi_res_512.png | Bin .../mangathemesia/mangaswat/src/MangaSwat.kt | 57 ++ .../mangceh/res/mipmap-hdpi/ic_launcher.png | Bin .../mangceh/res/mipmap-mdpi/ic_launcher.png | Bin .../mangceh/res/mipmap-xhdpi/ic_launcher.png | Bin .../mangceh/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../mangceh/res/web_hi_res_512.png | Bin .../mangceh/src/Mareceh.kt | 4 +- .../mangkomik/res/mipmap-hdpi/ic_launcher.png | Bin .../mangkomik/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../mangkomik/res/web_hi_res_512.png | Bin .../mangkomik/src/MangKomik.kt | 4 +- .../manhuaraw/res/mipmap-hdpi/ic_launcher.png | Bin .../manhuaraw/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../manhuaraw/res/web_hi_res_512.png | Bin .../manhwaindo/CHANGELOG.md | 0 .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../manhwaindo/res/web_hi_res_512.png | Bin .../manhwaindo/src/ManhwaIndo.kt | 22 + .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../martialmanga/res/web_hi_res_512.png | Bin .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../masterkomik/res/web_hi_res_512.png | Bin .../masterkomik/src/MasterKomik.kt | 4 +- .../miauscan/res/mipmap-hdpi/ic_launcher.png | Bin .../miauscan/res/mipmap-mdpi/ic_launcher.png | Bin .../miauscan/res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../miauscan/res/web_hi_res_512.png | Bin .../miauscan/src/MiauScan.kt | 4 +- .../mihentai/res/mipmap-hdpi/ic_launcher.png | Bin .../mihentai/res/mipmap-mdpi/ic_launcher.png | Bin .../mihentai/res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../mihentai/res/web_hi_res_512.png | Bin .../mangathemesia/mihentai/src/Mihentai.kt | 74 +++ .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../modescanlator/res/web_hi_res_512.png | Bin .../modescanlator/src/ModeScanlator.kt | 6 +- .../ngomik/res/mipmap-hdpi/ic_launcher.png | Bin .../ngomik/res/mipmap-mdpi/ic_launcher.png | Bin .../ngomik/res/mipmap-xhdpi/ic_launcher.png | Bin .../ngomik/res/mipmap-xxhdpi/ic_launcher.png | Bin .../ngomik/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../ngomik/res/web_hi_res_512.png | Bin .../ngomik/src/Ngomik.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../nonstopscans/res/web_hi_res_512.png | Bin .../nonstopscans/src/NonStopScans.kt | 4 +- .../noxsubs/res/mipmap-hdpi/ic_launcher.png | Bin .../noxsubs/res/mipmap-mdpi/ic_launcher.png | Bin .../noxsubs/res/mipmap-xhdpi/ic_launcher.png | Bin .../noxsubs/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../noxsubs/res/web_hi_res_512.png | Bin .../mangathemesia/noxsubs/src/NoxSubs.kt | 7 + .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../omegascans/res/web_hi_res_512.png | Bin .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../origamiorpheans/res/web_hi_res_512.png | Bin .../origamiorpheans/src/OrigamiOrpheans.kt | 6 +- .../ozulscans/res/mipmap-hdpi/ic_launcher.png | Bin .../ozulscans/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../ozulscans/src/OzulScans.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../patatescans/res/web_hi_res_512.png | Bin .../patatescans/src/Patatescans.kt | 5 + .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../phantomscans/res/web_hi_res_512.png | Bin .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../phoenixfansub/res/web_hi_res_512.png | Bin .../phoenixfansub/src/PhoenixFansub.kt | 15 + .../pmscans/res/mipmap-hdpi/ic_launcher.png | Bin .../pmscans/res/mipmap-mdpi/ic_launcher.png | Bin .../pmscans/res/mipmap-xhdpi/ic_launcher.png | Bin .../pmscans/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../pmscans/res/web_hi_res_512.png | Bin .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../randomscans/res/web_hi_res_512.png | Bin .../rawkuma/res/mipmap-hdpi/ic_launcher.png | Bin .../rawkuma/res/mipmap-mdpi/ic_launcher.png | Bin .../rawkuma/res/mipmap-xhdpi/ic_launcher.png | Bin .../rawkuma/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../rawkuma/res/web_hi_res_512.png | Bin .../rawkuma/src/Rawkuma.kt | 4 +- .../readkomik/res/mipmap-hdpi/ic_launcher.png | Bin .../readkomik/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../readkomik/res/web_hi_res_512.png | Bin .../readkomik/src/ReadKomik.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../realmscans/res/web_hi_res_512.png | Bin .../realmscans/src/RealmScans.kt | 28 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../sekaikomik/res/web_hi_res_512.png | Bin .../sekaikomik/src/Sekaikomik.kt | 4 +- .../sektedoujin/src/SekteDoujin.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../sektekomik/res/web_hi_res_512.png | Bin .../sektekomik/src/SekteKomik.kt | 4 +- .../sheamanga/res/mipmap-hdpi/ic_launcher.png | Bin .../sheamanga/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../sheamanga/res/web_hi_res_512.png | Bin .../sheamanga/src/SheaManga.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../shootingstarscans/res/web_hi_res_512.png | Bin .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../silencescan/res/web_hi_res_512.png | Bin .../silencescan/src/SilenceScan.kt | 13 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../skullscans/res/web_hi_res_512.png | Bin .../summerfansub/src/SummerFansub.kt | 4 +- .../sushiscan/res/mipmap-hdpi/ic_launcher.png | Bin .../sushiscan/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../sushiscan/res/web_hi_res_512.png | Bin .../sushiscan/src/SushiScan.kt | 13 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../tempestmanga/res/web_hi_res_512.png | Bin .../tempestmanga/src/TempestManga.kt | 6 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../theapolloteam/res/web_hi_res_512.png | Bin .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../tsundokutraducoes/res/web_hi_res_512.png | Bin .../src/TsundokuTraducoes.kt | 6 +- .../turktoon/res/mipmap-hdpi/ic_launcher.png | Bin .../turktoon/res/mipmap-mdpi/ic_launcher.png | Bin .../turktoon/res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../turktoon/res/web_hi_res_512.png | Bin .../turktoon/src/TurkToon.kt | 4 +- .../westmanga/res/mipmap-hdpi/ic_launcher.png | Bin .../westmanga/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../westmanga/res/web_hi_res_512.png | Bin .../mangathemesia/westmanga/src/WestManga.kt | 22 + .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../res/web_hi_res_512.png | Bin .../src/WhiteCloudPavilion.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../res/web_hi_res_512.png | Bin .../src/WorldRomanceTranslation.kt | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../xcalibrscans/res/web_hi_res_512.png | Bin .../src/interceptor/MirrorImageInterceptor.kt | 0 .../interceptor/SplittedImageInterceptor.kt | 0 .../xcalibrscans/src/xCaliBRScans.kt | 41 +- .../wpmangareader/acescans/src/AceScans.kt | 22 - .../wpmangareader/default/AndroidManifest.xml | 33 - .../wpmangareader/kiryuu/src/Kiryuu.kt | 59 -- .../wpmangareader/komiklab/src/KomikLab.kt | 51 -- .../wpmangareader/mangakita/src/MangaKita.kt | 7 - .../wpmangareader/mangasusu/src/Mangasusu.kt | 5 - .../manhwaindo/src/ManhwaIndo.kt | 46 -- .../patatescans/src/Patatescans.kt | 5 - .../asurascans/src/AsuraScansFactory.kt | 83 --- .../batotoscans/src/BatotoScans.kt | 7 - .../default/res/mipmap-hdpi/ic_launcher.png | Bin 859 -> 0 bytes .../default/res/mipmap-mdpi/ic_launcher.png | Bin 527 -> 0 bytes .../default/res/mipmap-xhdpi/ic_launcher.png | Bin 1114 -> 0 bytes .../default/res/mipmap-xxhdpi/ic_launcher.png | Bin 2014 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 2910 -> 0 bytes .../default/res/web_hi_res_512.png | Bin 10941 -> 0 bytes .../src/InfernalVoidScans.kt | 20 - .../wpmangastream/komikcast/src/KomikCast.kt | 194 ------ .../komikindoco/src/KomikindoCo.kt | 81 --- .../komikstation/src/KomikStation.kt | 51 -- .../wpmangastream/mangaswat/src/MangaSwat.kt | 170 ----- .../wpmangastream/mihentai/src/Mihentai.kt | 179 ------ .../wpmangastream/noxsubs/src/NoxSubs.kt | 7 - .../phoenixfansub/src/PhoenixFansub.kt | 15 - .../wpmangastream/westmanga/src/WestManga.kt | 121 ---- .../multisrc/mangathemesia/MangaThemesia.kt | 476 ++++++++++++++ .../MangaThemesiaGenerator.kt} | 69 +- .../MangaThemesiaUrlActivity.kt} | 10 +- .../multisrc/mangathemesia/README.md | 1 + .../multisrc/wpmangareader/WPMangaReader.kt | 431 ------------- .../multisrc/wpmangastream/WPMangaStream.kt | 607 ------------------ .../wpmangastream/WPMangaStreamGenerator.kt | 65 -- .../wpmangastream/WPMangaStreamUrlActivity.kt | 35 - 549 files changed, 1159 insertions(+), 2511 deletions(-) rename .run/{WPMangaStreamGenerator.run.xml => MangaThemesiaGenerator.run.xml} (74%) delete mode 100644 .run/WpMangaReaderGenerator.run.xml rename multisrc/overrides/{wpmangareader => mangathemesia}/acescans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/acescans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/acescans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/acescans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/acescans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/acescans/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/acescans/src/AceScans.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/alphascans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/alphascans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/alphascans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/alphascans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/alphascans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/alphascans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/alphascans/src/AlphaScans.kt (97%) rename multisrc/overrides/{wpmangastream => mangathemesia}/animatedglitchedscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/animatedglitchedscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/animatedglitchedscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/animatedglitchedscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/animatedglitchedscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/animatedglitchedscans/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/animatedglitchedscans/src/AnimatedGlitchedScans.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/anitationarts/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/anitationarts/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/anitationarts/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/anitationarts/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/anitationarts/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/anitationarts/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/arcanescan/src/Arcanescan.kt (70%) rename multisrc/overrides/{wpmangastream => mangathemesia}/asurascans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/asurascans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/asurascans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/asurascans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/asurascans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/asurascans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/asurascans/src/AsuraScans.kt (97%) create mode 100644 multisrc/overrides/mangathemesia/asurascans/src/AsuraScansFactory.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/azurescans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/azurescans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/azurescans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/azurescans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/azurescans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/azurescans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/batotoscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/batotoscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/batotoscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/batotoscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/batotoscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/batotoscans/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/batotoscans/src/BatotoScans.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/beastscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/beastscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/beastscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/beastscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/beastscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/beastscans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/boosei/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/boosei/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/boosei/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/boosei/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/boosei/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/boosei/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/boosei/src/Boosei.kt (76%) rename multisrc/overrides/{wpmangastream => mangathemesia}/default/AndroidManifest.xml (93%) rename multisrc/overrides/{wpmangareader => mangathemesia}/default/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/default/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/default/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/default/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/default/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/default/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/flamescans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/flamescans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/flamescans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/flamescans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/flamescans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/flamescans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/flamescans/src/FlameScans.kt (99%) rename multisrc/overrides/{wpmangareader => mangathemesia}/flamescans/src/FlameScansFactory.kt (82%) rename multisrc/overrides/{wpmangareader => mangathemesia}/franxxmangas/src/FranxxMangas.kt (51%) rename multisrc/overrides/{wpmangareader => mangathemesia}/fusionscanlation/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/fusionscanlation/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/fusionscanlation/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/fusionscanlation/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/fusionscanlation/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/fusionscanlation/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/fusionscanlation/src/FusionScanlation.kt (81%) rename multisrc/overrides/{wpmangareader => mangathemesia}/gabutscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/gabutscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/gabutscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/gabutscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/gabutscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/gabutscans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/gabutscans/src/GabutScans.kt (64%) rename multisrc/overrides/{wpmangastream => mangathemesia}/gogomanga/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/gogomanga/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/gogomanga/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/gogomanga/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/gogomanga/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/gogomanga/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/iimanga/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/iimanga/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/iimanga/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/iimanga/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/iimanga/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/iimanga/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/iimanga/src/ARESManga.kt (68%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imaginescan/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imaginescan/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imaginescan/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imaginescan/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imaginescan/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imaginescan/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imaginescan/src/ImagineScan.kt (65%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imperfectcomics/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imperfectcomics/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imperfectcomics/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imperfectcomics/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imperfectcomics/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/imperfectcomics/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/inarimanga/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/inarimanga/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/inarimanga/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/inarimanga/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/inarimanga/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/inarimanga/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/inarimanga/src/InariManga.kt (70%) rename multisrc/overrides/{wpmangastream => mangathemesia}/infernalvoidscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/infernalvoidscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/infernalvoidscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/infernalvoidscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/infernalvoidscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/infernalvoidscans/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/infernalvoidscans/src/InfernalVoidScans.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/kiryuu/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/kiryuu/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/kiryuu/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/kiryuu/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/kiryuu/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/kiryuu/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/kiryuu/src/Kiryuu.kt rename multisrc/overrides/{wpmangastream => mangathemesia}/klankomik/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/klankomik/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/klankomik/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/klankomik/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/klankomik/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/klankomik/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/klankomik/src/KlanKomik.kt (77%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikav/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikav/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikav/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikav/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikav/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikav/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikav/src/KomikAV.kt (90%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikcast/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikcast/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikcast/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikcast/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikcast/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikcast/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/komikcast/src/KomikCast.kt rename multisrc/overrides/{wpmangastream => mangathemesia}/komikindoco/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikindoco/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikindoco/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikindoco/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikindoco/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikindoco/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/komikindoco/src/KomikindoCo.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/komiklab/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komiklab/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komiklab/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komiklab/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komiklab/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komiklab/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/komiklab/src/KomikLab.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/komikmama/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikmama/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikmama/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikmama/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikmama/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikmama/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikmama/src/KomikMama.kt (69%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikstation/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikstation/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikstation/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikstation/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikstation/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/komikstation/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/komikstation/src/KomikStation.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/komikucom/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikucom/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikucom/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikucom/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikucom/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikucom/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/komikucom/src/KomikuCom.kt (58%) rename multisrc/overrides/{wpmangastream => mangathemesia}/kumascans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/kumascans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/kumascans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/kumascans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/kumascans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/kumascans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/kumascans/src/KumaScans.kt (78%) rename multisrc/overrides/{wpmangareader => mangathemesia}/legionscan/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/legionscan/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/legionscan/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/legionscan/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/legionscan/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/legionscan/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/legionscan/src/LegionScan.kt (73%) rename multisrc/overrides/{wpmangareader => mangathemesia}/magusmanga/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/magusmanga/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/magusmanga/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/magusmanga/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/magusmanga/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/magusmanga/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/magusmanga/src/MagusManga.kt (59%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangakita/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangakita/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangakita/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangakita/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangakita/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangakita/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/mangakita/src/MangaKita.kt rename multisrc/overrides/{wpmangastream => mangathemesia}/mangakyo/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangakyo/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangakyo/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangakyo/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangakyo/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangakyo/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangakyo/src/Mangakyo.kt (75%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaproz/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaproz/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaproz/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaproz/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaproz/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaproz/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaproz/src/MangaPro.kt (75%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaraworg/src/MangaRawOrg.kt (86%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangaschan/src/MangasChan.kt (77%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangasusu/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangasusu/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangasusu/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangasusu/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangasusu/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangasusu/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/mangasusu/src/Mangasusu.kt rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaswat/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaswat/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaswat/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaswat/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaswat/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangaswat/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/mangaswat/src/MangaSwat.kt rename multisrc/overrides/{wpmangastream => mangathemesia}/mangceh/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangceh/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangceh/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangceh/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangceh/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangceh/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mangceh/src/Mareceh.kt (78%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangkomik/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangkomik/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangkomik/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangkomik/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangkomik/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangkomik/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/mangkomik/src/MangKomik.kt (85%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhuaraw/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhuaraw/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhuaraw/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhuaraw/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhuaraw/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhuaraw/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhwaindo/CHANGELOG.md (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhwaindo/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhwaindo/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhwaindo/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhwaindo/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhwaindo/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/manhwaindo/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/manhwaindo/src/ManhwaIndo.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/martialmanga/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/martialmanga/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/martialmanga/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/martialmanga/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/martialmanga/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/martialmanga/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/masterkomik/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/masterkomik/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/masterkomik/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/masterkomik/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/masterkomik/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/masterkomik/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/masterkomik/src/MasterKomik.kt (79%) rename multisrc/overrides/{wpmangareader => mangathemesia}/miauscan/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/miauscan/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/miauscan/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/miauscan/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/miauscan/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/miauscan/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/miauscan/src/MiauScan.kt (70%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mihentai/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mihentai/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mihentai/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mihentai/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mihentai/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/mihentai/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/mihentai/src/Mihentai.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/modescanlator/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/modescanlator/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/modescanlator/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/modescanlator/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/modescanlator/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/modescanlator/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/modescanlator/src/ModeScanlator.kt (80%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ngomik/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ngomik/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ngomik/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ngomik/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ngomik/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ngomik/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ngomik/src/Ngomik.kt (78%) rename multisrc/overrides/{wpmangastream => mangathemesia}/nonstopscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/nonstopscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/nonstopscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/nonstopscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/nonstopscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/nonstopscans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/nonstopscans/src/NonStopScans.kt (76%) rename multisrc/overrides/{wpmangastream => mangathemesia}/noxsubs/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/noxsubs/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/noxsubs/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/noxsubs/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/noxsubs/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/noxsubs/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/noxsubs/src/NoxSubs.kt rename multisrc/overrides/{wpmangastream => mangathemesia}/omegascans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/omegascans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/omegascans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/omegascans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/omegascans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/omegascans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/origamiorpheans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/origamiorpheans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/origamiorpheans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/origamiorpheans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/origamiorpheans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/origamiorpheans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/origamiorpheans/src/OrigamiOrpheans.kt (79%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ozulscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ozulscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ozulscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ozulscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ozulscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/ozulscans/src/OzulScans.kt (70%) rename multisrc/overrides/{wpmangareader => mangathemesia}/patatescans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/patatescans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/patatescans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/patatescans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/patatescans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/patatescans/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/patatescans/src/Patatescans.kt rename multisrc/overrides/{wpmangastream => mangathemesia}/phantomscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/phantomscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/phantomscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/phantomscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/phantomscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/phantomscans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/phoenixfansub/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/phoenixfansub/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/phoenixfansub/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/phoenixfansub/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/phoenixfansub/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/phoenixfansub/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/phoenixfansub/src/PhoenixFansub.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/pmscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/pmscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/pmscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/pmscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/pmscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/pmscans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/randomscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/randomscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/randomscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/randomscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/randomscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/randomscans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/rawkuma/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/rawkuma/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/rawkuma/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/rawkuma/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/rawkuma/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/rawkuma/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/rawkuma/src/Rawkuma.kt (75%) rename multisrc/overrides/{wpmangastream => mangathemesia}/readkomik/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/readkomik/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/readkomik/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/readkomik/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/readkomik/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/readkomik/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/readkomik/src/ReadKomik.kt (77%) rename multisrc/overrides/{wpmangareader => mangathemesia}/realmscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/realmscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/realmscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/realmscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/realmscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/realmscans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/realmscans/src/RealmScans.kt (59%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sekaikomik/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sekaikomik/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sekaikomik/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sekaikomik/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sekaikomik/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sekaikomik/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sekaikomik/src/Sekaikomik.kt (60%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sektedoujin/src/SekteDoujin.kt (66%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sektekomik/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sektekomik/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sektekomik/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sektekomik/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sektekomik/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sektekomik/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sektekomik/src/SekteKomik.kt (86%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sheamanga/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sheamanga/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sheamanga/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sheamanga/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sheamanga/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sheamanga/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/sheamanga/src/SheaManga.kt (87%) rename multisrc/overrides/{wpmangareader => mangathemesia}/shootingstarscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/shootingstarscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/shootingstarscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/shootingstarscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/shootingstarscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/shootingstarscans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/silencescan/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/silencescan/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/silencescan/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/silencescan/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/silencescan/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/silencescan/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/silencescan/src/SilenceScan.kt (67%) rename multisrc/overrides/{wpmangareader => mangathemesia}/skullscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/skullscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/skullscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/skullscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/skullscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/skullscans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/summerfansub/src/SummerFansub.kt (83%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sushiscan/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sushiscan/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sushiscan/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sushiscan/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sushiscan/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sushiscan/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/sushiscan/src/SushiScan.kt (50%) rename multisrc/overrides/{wpmangastream => mangathemesia}/tempestmanga/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/tempestmanga/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/tempestmanga/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/tempestmanga/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/tempestmanga/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/tempestmanga/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/tempestmanga/src/TempestManga.kt (75%) rename multisrc/overrides/{wpmangastream => mangathemesia}/theapolloteam/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/theapolloteam/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/theapolloteam/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/theapolloteam/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/theapolloteam/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/theapolloteam/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/tsundokutraducoes/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/tsundokutraducoes/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/tsundokutraducoes/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/tsundokutraducoes/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/tsundokutraducoes/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/tsundokutraducoes/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/tsundokutraducoes/src/TsundokuTraducoes.kt (81%) rename multisrc/overrides/{wpmangareader => mangathemesia}/turktoon/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/turktoon/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/turktoon/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/turktoon/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/turktoon/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/turktoon/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/turktoon/src/TurkToon.kt (69%) rename multisrc/overrides/{wpmangastream => mangathemesia}/westmanga/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/westmanga/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/westmanga/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/westmanga/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/westmanga/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/westmanga/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/mangathemesia/westmanga/src/WestManga.kt rename multisrc/overrides/{wpmangareader => mangathemesia}/whitecloudpavilionnew/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/whitecloudpavilionnew/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/whitecloudpavilionnew/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/whitecloudpavilionnew/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/whitecloudpavilionnew/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/whitecloudpavilionnew/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/whitecloudpavilionnew/src/WhiteCloudPavilion.kt (64%) rename multisrc/overrides/{wpmangareader => mangathemesia}/worldromancetranslation/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/worldromancetranslation/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/worldromancetranslation/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/worldromancetranslation/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/worldromancetranslation/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/worldromancetranslation/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangareader => mangathemesia}/worldromancetranslation/src/WorldRomanceTranslation.kt (90%) rename multisrc/overrides/{wpmangastream => mangathemesia}/xcalibrscans/res/mipmap-hdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/xcalibrscans/res/mipmap-mdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/xcalibrscans/res/mipmap-xhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/xcalibrscans/res/mipmap-xxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/xcalibrscans/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/xcalibrscans/res/web_hi_res_512.png (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/xcalibrscans/src/interceptor/MirrorImageInterceptor.kt (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/xcalibrscans/src/interceptor/SplittedImageInterceptor.kt (100%) rename multisrc/overrides/{wpmangastream => mangathemesia}/xcalibrscans/src/xCaliBRScans.kt (78%) delete mode 100644 multisrc/overrides/wpmangareader/acescans/src/AceScans.kt delete mode 100644 multisrc/overrides/wpmangareader/default/AndroidManifest.xml delete mode 100644 multisrc/overrides/wpmangareader/kiryuu/src/Kiryuu.kt delete mode 100644 multisrc/overrides/wpmangareader/komiklab/src/KomikLab.kt delete mode 100644 multisrc/overrides/wpmangareader/mangakita/src/MangaKita.kt delete mode 100644 multisrc/overrides/wpmangareader/mangasusu/src/Mangasusu.kt delete mode 100644 multisrc/overrides/wpmangareader/manhwaindo/src/ManhwaIndo.kt delete mode 100644 multisrc/overrides/wpmangareader/patatescans/src/Patatescans.kt delete mode 100644 multisrc/overrides/wpmangastream/asurascans/src/AsuraScansFactory.kt delete mode 100644 multisrc/overrides/wpmangastream/batotoscans/src/BatotoScans.kt delete mode 100644 multisrc/overrides/wpmangastream/default/res/mipmap-hdpi/ic_launcher.png delete mode 100644 multisrc/overrides/wpmangastream/default/res/mipmap-mdpi/ic_launcher.png delete mode 100644 multisrc/overrides/wpmangastream/default/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 multisrc/overrides/wpmangastream/default/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 multisrc/overrides/wpmangastream/default/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 multisrc/overrides/wpmangastream/default/res/web_hi_res_512.png delete mode 100644 multisrc/overrides/wpmangastream/infernalvoidscans/src/InfernalVoidScans.kt delete mode 100644 multisrc/overrides/wpmangastream/komikcast/src/KomikCast.kt delete mode 100644 multisrc/overrides/wpmangastream/komikindoco/src/KomikindoCo.kt delete mode 100644 multisrc/overrides/wpmangastream/komikstation/src/KomikStation.kt delete mode 100644 multisrc/overrides/wpmangastream/mangaswat/src/MangaSwat.kt delete mode 100644 multisrc/overrides/wpmangastream/mihentai/src/Mihentai.kt delete mode 100644 multisrc/overrides/wpmangastream/noxsubs/src/NoxSubs.kt delete mode 100644 multisrc/overrides/wpmangastream/phoenixfansub/src/PhoenixFansub.kt delete mode 100644 multisrc/overrides/wpmangastream/westmanga/src/WestManga.kt create mode 100644 multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesia.kt rename multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/{wpmangareader/WPMangaReaderGenerator.kt => mangathemesia/MangaThemesiaGenerator.kt} (51%) rename multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/{wpmangareader/WPMangaReaderUrlActivity.kt => mangathemesia/MangaThemesiaUrlActivity.kt} (72%) create mode 100644 multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/README.md delete mode 100644 multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReader.kt delete mode 100644 multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStream.kt delete mode 100644 multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamGenerator.kt delete mode 100644 multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamUrlActivity.kt diff --git a/.run/WPMangaStreamGenerator.run.xml b/.run/MangaThemesiaGenerator.run.xml similarity index 74% rename from .run/WPMangaStreamGenerator.run.xml rename to .run/MangaThemesiaGenerator.run.xml index 341c39572..ed0bb0584 100644 --- a/.run/WPMangaStreamGenerator.run.xml +++ b/.run/MangaThemesiaGenerator.run.xml @@ -1,11 +1,11 @@ - + - diff --git a/.run/WpMangaReaderGenerator.run.xml b/.run/WpMangaReaderGenerator.run.xml deleted file mode 100644 index b8da10d7e..000000000 --- a/.run/WpMangaReaderGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/multisrc/overrides/wpmangareader/acescans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/acescans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/acescans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/acescans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/acescans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/acescans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/acescans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/acescans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/acescans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/acescans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/acescans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/acescans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/acescans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/acescans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/acescans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/acescans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/acescans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/acescans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/acescans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/acescans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/acescans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/acescans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/acescans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/acescans/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/acescans/src/AceScans.kt b/multisrc/overrides/mangathemesia/acescans/src/AceScans.kt new file mode 100644 index 000000000..2611d16e2 --- /dev/null +++ b/multisrc/overrides/mangathemesia/acescans/src/AceScans.kt @@ -0,0 +1,5 @@ +package eu.kanade.tachiyomi.extension.en.acescans + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia + +class AceScans : MangaThemesia("Ace Scans", "https://acescans.xyz", "en") diff --git a/multisrc/overrides/wpmangareader/alphascans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/alphascans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/alphascans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/alphascans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/alphascans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/alphascans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/alphascans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/alphascans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/alphascans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/alphascans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/alphascans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/alphascans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/alphascans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/alphascans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/alphascans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/alphascans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/alphascans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/alphascans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/alphascans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/alphascans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/alphascans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/alphascans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/alphascans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/alphascans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/alphascans/src/AlphaScans.kt b/multisrc/overrides/mangathemesia/alphascans/src/AlphaScans.kt similarity index 97% rename from multisrc/overrides/wpmangareader/alphascans/src/AlphaScans.kt rename to multisrc/overrides/mangathemesia/alphascans/src/AlphaScans.kt index 20ba742f3..db5353763 100644 --- a/multisrc/overrides/wpmangareader/alphascans/src/AlphaScans.kt +++ b/multisrc/overrides/mangathemesia/alphascans/src/AlphaScans.kt @@ -4,7 +4,7 @@ import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage @@ -14,7 +14,7 @@ import rx.Observable import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -open class AlphaScans : WPMangaReader("Alpha Scans", "https://alpha-scans.org", "en"), ConfigurableSource { +open class AlphaScans : MangaThemesia("Alpha Scans", "https://alpha-scans.org", "en"), ConfigurableSource { private val preferences: SharedPreferences by lazy { Injekt.get().getSharedPreferences("source_$id", 0x0000) diff --git a/multisrc/overrides/wpmangastream/animatedglitchedscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/animatedglitchedscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/animatedglitchedscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/animatedglitchedscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/animatedglitchedscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/animatedglitchedscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/animatedglitchedscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/animatedglitchedscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/animatedglitchedscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/animatedglitchedscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/animatedglitchedscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/animatedglitchedscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/animatedglitchedscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/animatedglitchedscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/animatedglitchedscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/animatedglitchedscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/animatedglitchedscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/animatedglitchedscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/animatedglitchedscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/animatedglitchedscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/animatedglitchedscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/animatedglitchedscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/animatedglitchedscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/animatedglitchedscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/animatedglitchedscans/src/AnimatedGlitchedScans.kt b/multisrc/overrides/mangathemesia/animatedglitchedscans/src/AnimatedGlitchedScans.kt new file mode 100644 index 000000000..d70c658f1 --- /dev/null +++ b/multisrc/overrides/mangathemesia/animatedglitchedscans/src/AnimatedGlitchedScans.kt @@ -0,0 +1,5 @@ +package eu.kanade.tachiyomi.extension.en.animatedglitchedscans + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia + +class AnimatedGlitchedScans : MangaThemesia("Animated Glitched Scans", "https://anigliscans.com", "en", mangaUrlDirectory = "/series") diff --git a/multisrc/overrides/wpmangareader/anitationarts/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/anitationarts/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/anitationarts/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/anitationarts/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/anitationarts/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/anitationarts/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/anitationarts/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/anitationarts/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/anitationarts/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/anitationarts/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/anitationarts/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/anitationarts/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/anitationarts/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/anitationarts/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/anitationarts/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/anitationarts/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/anitationarts/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/anitationarts/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/anitationarts/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/anitationarts/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/anitationarts/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/anitationarts/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/anitationarts/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/anitationarts/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/arcanescan/src/Arcanescan.kt b/multisrc/overrides/mangathemesia/arcanescan/src/Arcanescan.kt similarity index 70% rename from multisrc/overrides/wpmangareader/arcanescan/src/Arcanescan.kt rename to multisrc/overrides/mangathemesia/arcanescan/src/Arcanescan.kt index 61fd960b8..853860a5e 100644 --- a/multisrc/overrides/wpmangareader/arcanescan/src/Arcanescan.kt +++ b/multisrc/overrides/mangathemesia/arcanescan/src/Arcanescan.kt @@ -1,10 +1,10 @@ package eu.kanade.tachiyomi.extension.fr.arcanescan -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import java.text.SimpleDateFormat import java.util.Locale -class Arcanescan : WPMangaReader( +class Arcanescan : MangaThemesia( "Arcane scan", "https://arcanescan.fr", "fr", diff --git a/multisrc/overrides/wpmangastream/asurascans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/asurascans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/asurascans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/asurascans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/asurascans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/asurascans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/asurascans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/asurascans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/asurascans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/asurascans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/asurascans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/asurascans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/asurascans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/asurascans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/asurascans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/asurascans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/asurascans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/asurascans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/asurascans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/asurascans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/asurascans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/asurascans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/asurascans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/asurascans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/asurascans/src/AsuraScans.kt b/multisrc/overrides/mangathemesia/asurascans/src/AsuraScans.kt similarity index 97% rename from multisrc/overrides/wpmangastream/asurascans/src/AsuraScans.kt rename to multisrc/overrides/mangathemesia/asurascans/src/AsuraScans.kt index dcd0c04e8..29b599102 100644 --- a/multisrc/overrides/wpmangastream/asurascans/src/AsuraScans.kt +++ b/multisrc/overrides/mangathemesia/asurascans/src/AsuraScans.kt @@ -4,7 +4,7 @@ import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.FilterList @@ -21,11 +21,11 @@ open class AsuraScans( override val baseUrl: String, override val lang: String, dateFormat: SimpleDateFormat -) : WPMangaStream( +) : MangaThemesia( "Asura Scans", baseUrl, lang, - dateFormat + dateFormat = dateFormat ), ConfigurableSource { diff --git a/multisrc/overrides/mangathemesia/asurascans/src/AsuraScansFactory.kt b/multisrc/overrides/mangathemesia/asurascans/src/AsuraScansFactory.kt new file mode 100644 index 000000000..179034132 --- /dev/null +++ b/multisrc/overrides/mangathemesia/asurascans/src/AsuraScansFactory.kt @@ -0,0 +1,46 @@ +package eu.kanade.tachiyomi.extension.all.asurascans + +import eu.kanade.tachiyomi.source.SourceFactory +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SManga +import org.jsoup.nodes.Document +import java.text.SimpleDateFormat +import java.util.Locale + +class AsuraScansFactory : SourceFactory { + override fun createSources() = listOf( + AsuraScansEn(), + AsuraScansTr() + ) +} + +class AsuraScansEn : AsuraScans("https://www.asurascans.com", "en", SimpleDateFormat("MMM d, yyyy", Locale.US)) { + + override val seriesDescriptionSelector = "div.desc p, div.entry-content p, div[itemprop=description]:not(:has(p))" + + override val pageSelector = "div.rdminimal > img, div.rdminimal > p > img, div.rdminimal > a > img, div.rdminimal > p > a > img" + + // Skip scriptPages + override fun pageListParse(document: Document): List { + return document.select(pageSelector) + .filterNot { it.attr("src").isNullOrEmpty() } + .mapIndexed { i, img -> Page(i, "", img.attr("src")) } + } +} + +class AsuraScansTr : AsuraScans("https://tr.asurascans.com", "tr", SimpleDateFormat("MMM d, yyyy", Locale("tr"))) { + + override val seriesArtistSelector = ".fmed b:contains(Çizer)+span" + override val seriesAuthorSelector = ".fmed b:contains(Yazar)+span" + override val seriesStatusSelector = ".imptdt:contains(Durum) i" + override val seriesTypeSelector = ".imptdt:contains(Tür) a" + + override val altNamePrefix: String = "Alternatif isim: " + + override fun String?.parseStatus(): Int = when { + this == null -> SManga.UNKNOWN + this.contains("Devam Ediyor", ignoreCase = true) -> SManga.ONGOING + this.contains("Tamamlandı", ignoreCase = true) -> SManga.COMPLETED + else -> SManga.UNKNOWN + } +} diff --git a/multisrc/overrides/wpmangareader/azurescans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/azurescans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/azurescans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/azurescans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/azurescans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/azurescans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/azurescans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/azurescans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/azurescans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/azurescans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/azurescans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/azurescans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/azurescans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/azurescans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/azurescans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/azurescans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/azurescans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/azurescans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/azurescans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/azurescans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/azurescans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/azurescans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/azurescans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/azurescans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/batotoscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/batotoscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/batotoscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/batotoscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/batotoscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/batotoscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/batotoscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/batotoscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/batotoscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/batotoscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/batotoscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/batotoscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/batotoscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/batotoscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/batotoscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/batotoscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/batotoscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/batotoscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/batotoscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/batotoscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/batotoscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/batotoscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/batotoscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/batotoscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/batotoscans/src/BatotoScans.kt b/multisrc/overrides/mangathemesia/batotoscans/src/BatotoScans.kt new file mode 100644 index 000000000..9e2a14c6a --- /dev/null +++ b/multisrc/overrides/mangathemesia/batotoscans/src/BatotoScans.kt @@ -0,0 +1,7 @@ +package eu.kanade.tachiyomi.extension.en.batotoscans + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia + +class BatotoScans : MangaThemesia("Snudae Scans", "https://snudaescans.com", "en") { + override val id = 4418350353197826372L +} diff --git a/multisrc/overrides/wpmangareader/beastscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/beastscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/beastscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/beastscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/beastscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/beastscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/beastscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/beastscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/beastscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/beastscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/beastscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/beastscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/beastscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/beastscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/beastscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/beastscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/beastscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/beastscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/beastscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/beastscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/beastscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/beastscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/beastscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/beastscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/boosei/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/boosei/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/boosei/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/boosei/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/boosei/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/boosei/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/boosei/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/boosei/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/boosei/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/boosei/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/boosei/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/boosei/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/boosei/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/boosei/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/boosei/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/boosei/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/boosei/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/boosei/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/boosei/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/boosei/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/boosei/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/boosei/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/boosei/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/boosei/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/boosei/src/Boosei.kt b/multisrc/overrides/mangathemesia/boosei/src/Boosei.kt similarity index 76% rename from multisrc/overrides/wpmangastream/boosei/src/Boosei.kt rename to multisrc/overrides/mangathemesia/boosei/src/Boosei.kt index 75a550927..025718bce 100644 --- a/multisrc/overrides/wpmangastream/boosei/src/Boosei.kt +++ b/multisrc/overrides/mangathemesia/boosei/src/Boosei.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.extension.id.boosei -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.util.concurrent.TimeUnit -class Boosei : WPMangaStream("Boosei", "https://boosei.com", "id") { +class Boosei : MangaThemesia("Boosei", "https://boosei.com", "id") { override val client: OkHttpClient = network.cloudflareClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) diff --git a/multisrc/overrides/wpmangastream/default/AndroidManifest.xml b/multisrc/overrides/mangathemesia/default/AndroidManifest.xml similarity index 93% rename from multisrc/overrides/wpmangastream/default/AndroidManifest.xml rename to multisrc/overrides/mangathemesia/default/AndroidManifest.xml index d408e9008..ded43d296 100644 --- a/multisrc/overrides/wpmangastream/default/AndroidManifest.xml +++ b/multisrc/overrides/mangathemesia/default/AndroidManifest.xml @@ -4,7 +4,7 @@ diff --git a/multisrc/overrides/wpmangareader/default/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/default/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/default/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/default/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/default/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/default/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/default/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/default/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/default/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/default/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/default/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/default/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/default/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/default/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/default/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/default/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/default/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/default/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/default/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/default/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/default/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/default/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/default/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/default/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/flamescans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/flamescans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/flamescans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/flamescans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/flamescans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/flamescans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/flamescans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/flamescans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/flamescans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/flamescans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/flamescans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/flamescans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/flamescans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/flamescans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/flamescans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/flamescans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/flamescans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/flamescans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/flamescans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/flamescans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/flamescans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/flamescans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/flamescans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/flamescans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/flamescans/src/FlameScans.kt b/multisrc/overrides/mangathemesia/flamescans/src/FlameScans.kt similarity index 99% rename from multisrc/overrides/wpmangareader/flamescans/src/FlameScans.kt rename to multisrc/overrides/mangathemesia/flamescans/src/FlameScans.kt index 929a17601..b581e18b4 100644 --- a/multisrc/overrides/wpmangareader/flamescans/src/FlameScans.kt +++ b/multisrc/overrides/mangathemesia/flamescans/src/FlameScans.kt @@ -8,7 +8,7 @@ import android.graphics.Canvas import android.graphics.Rect import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage @@ -35,7 +35,7 @@ open class FlameScans( override val lang: String, mangaUrlDirectory: String, dateFormat: SimpleDateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale.US) -) : WPMangaReader( +) : MangaThemesia( "Flame Scans", baseUrl, lang, diff --git a/multisrc/overrides/wpmangareader/flamescans/src/FlameScansFactory.kt b/multisrc/overrides/mangathemesia/flamescans/src/FlameScansFactory.kt similarity index 82% rename from multisrc/overrides/wpmangareader/flamescans/src/FlameScansFactory.kt rename to multisrc/overrides/mangathemesia/flamescans/src/FlameScansFactory.kt index 85a4e6f2a..dd7bb7c13 100644 --- a/multisrc/overrides/wpmangareader/flamescans/src/FlameScansFactory.kt +++ b/multisrc/overrides/mangathemesia/flamescans/src/FlameScansFactory.kt @@ -20,9 +20,10 @@ class FlameScansAr : FlameScans("https://ar.flamescans.org", "ar", "/series") { override val id: Long = 6053688312544266540 - override fun parseStatus(status: String) = when { - status.contains("مستمر") -> SManga.ONGOING - status.contains("مكتمل") -> SManga.COMPLETED + override fun String?.parseStatus() = when { + this == null -> SManga.UNKNOWN + this.contains("مستمر") -> SManga.ONGOING + this.contains("مكتمل") -> SManga.COMPLETED else -> SManga.UNKNOWN } } diff --git a/multisrc/overrides/wpmangareader/franxxmangas/src/FranxxMangas.kt b/multisrc/overrides/mangathemesia/franxxmangas/src/FranxxMangas.kt similarity index 51% rename from multisrc/overrides/wpmangareader/franxxmangas/src/FranxxMangas.kt rename to multisrc/overrides/mangathemesia/franxxmangas/src/FranxxMangas.kt index ecd79f2df..2ecb426bd 100644 --- a/multisrc/overrides/wpmangareader/franxxmangas/src/FranxxMangas.kt +++ b/multisrc/overrides/mangathemesia/franxxmangas/src/FranxxMangas.kt @@ -1,15 +1,13 @@ package eu.kanade.tachiyomi.extension.pt.franxxmangas -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit -import eu.kanade.tachiyomi.source.model.SManga import okhttp3.OkHttpClient -import org.jsoup.nodes.Element import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class FranxxMangas : WPMangaReader( +class FranxxMangas : MangaThemesia( "Franxx Mangás", "https://franxxmangas.net", "pt-BR", @@ -20,11 +18,5 @@ class FranxxMangas : WPMangaReader( .rateLimit(1, 2, TimeUnit.SECONDS) .build() - override val altName = "Nomes alternativos: " - - override fun searchMangaFromElement(element: Element) = SManga.create().apply { - thumbnail_url = element.select("img").attr("abs:data-src") - title = element.select("a").attr("title") - setUrlWithoutDomain(element.select("a").attr("href")) - } + override val altNamePrefix = "Nomes alternativos: " } diff --git a/multisrc/overrides/wpmangareader/fusionscanlation/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/fusionscanlation/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/fusionscanlation/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/fusionscanlation/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/fusionscanlation/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/fusionscanlation/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/fusionscanlation/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/fusionscanlation/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/fusionscanlation/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/fusionscanlation/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/fusionscanlation/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/fusionscanlation/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/fusionscanlation/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/fusionscanlation/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/fusionscanlation/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/fusionscanlation/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/fusionscanlation/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/fusionscanlation/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/fusionscanlation/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/fusionscanlation/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/fusionscanlation/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/fusionscanlation/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/fusionscanlation/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/fusionscanlation/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/fusionscanlation/src/FusionScanlation.kt b/multisrc/overrides/mangathemesia/fusionscanlation/src/FusionScanlation.kt similarity index 81% rename from multisrc/overrides/wpmangareader/fusionscanlation/src/FusionScanlation.kt rename to multisrc/overrides/mangathemesia/fusionscanlation/src/FusionScanlation.kt index 5cad1c76f..49aa928f4 100644 --- a/multisrc/overrides/wpmangareader/fusionscanlation/src/FusionScanlation.kt +++ b/multisrc/overrides/mangathemesia/fusionscanlation/src/FusionScanlation.kt @@ -1,13 +1,13 @@ package eu.kanade.tachiyomi.extension.es.fusionscanlation -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class FusionScanlation : WPMangaReader("Fusion Scanlation", "https://fusionscanlation.com", "es", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("es"))) { +class FusionScanlation : MangaThemesia("Fusion Scanlation", "https://fusionscanlation.com", "es", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("es"))) { override val client: OkHttpClient = network.cloudflareClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) diff --git a/multisrc/overrides/wpmangareader/gabutscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/gabutscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/gabutscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/gabutscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/gabutscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/gabutscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/gabutscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/gabutscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/gabutscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/gabutscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/gabutscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/gabutscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/gabutscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/gabutscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/gabutscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/gabutscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/gabutscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/gabutscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/gabutscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/gabutscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/gabutscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/gabutscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/gabutscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/gabutscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/gabutscans/src/GabutScans.kt b/multisrc/overrides/mangathemesia/gabutscans/src/GabutScans.kt similarity index 64% rename from multisrc/overrides/wpmangareader/gabutscans/src/GabutScans.kt rename to multisrc/overrides/mangathemesia/gabutscans/src/GabutScans.kt index 9ade9db66..2140b2ecf 100644 --- a/multisrc/overrides/wpmangareader/gabutscans/src/GabutScans.kt +++ b/multisrc/overrides/mangathemesia/gabutscans/src/GabutScans.kt @@ -1,37 +1,27 @@ package eu.kanade.tachiyomi.extension.id.gabutscans -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.source.model.Page import kotlinx.serialization.json.jsonArray import kotlinx.serialization.json.jsonPrimitive import org.jsoup.nodes.Document -import org.jsoup.nodes.Element import java.text.SimpleDateFormat import java.util.Locale -class GabutScans : WPMangaReader( +class GabutScans : MangaThemesia( "Gabut Scans", "https://gabutscans.com", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id")) ) { override val hasProjectPage = true - override fun searchMangaFromElement(element: Element) = - super.searchMangaFromElement(element).apply { - thumbnail_url = element.select("img").attr("abs:data-src") - } - - override fun mangaDetailsParse(document: Document) = super.mangaDetailsParse(document).apply { - thumbnail_url = document.select(seriesThumbnailSelector).attr("abs:data-src") - } - override fun pageListParse(document: Document): List { // Prefer using sources loaded from javascript // because current CDN (Statically) can't load old images. // Example: https://gabutscans.com/cinderella-wa-sagasanai-chapter-41-end-bahasa-indonesia/ val docString = document.toString() - val imageListRegex = Regex("""\"images.*?:.*?(\[.*?])""") + val imageListRegex = Regex("\"images.*?:.*?(\\[.*?])") val (imageListJson) = imageListRegex.find(docString)!!.destructured val imageList = json.parseToJsonElement(imageListJson).jsonArray diff --git a/multisrc/overrides/wpmangastream/gogomanga/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/gogomanga/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/gogomanga/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/gogomanga/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/gogomanga/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/gogomanga/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/gogomanga/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/gogomanga/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/gogomanga/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/gogomanga/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/gogomanga/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/gogomanga/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/gogomanga/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/gogomanga/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/gogomanga/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/gogomanga/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/gogomanga/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/gogomanga/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/gogomanga/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/gogomanga/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/gogomanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/gogomanga/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/gogomanga/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/gogomanga/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/iimanga/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/iimanga/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/iimanga/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/iimanga/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/iimanga/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/iimanga/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/iimanga/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/iimanga/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/iimanga/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/iimanga/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/iimanga/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/iimanga/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/iimanga/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/iimanga/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/iimanga/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/iimanga/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/iimanga/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/iimanga/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/iimanga/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/iimanga/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/iimanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/iimanga/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/iimanga/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/iimanga/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/iimanga/src/ARESManga.kt b/multisrc/overrides/mangathemesia/iimanga/src/ARESManga.kt similarity index 68% rename from multisrc/overrides/wpmangareader/iimanga/src/ARESManga.kt rename to multisrc/overrides/mangathemesia/iimanga/src/ARESManga.kt index 7c2bdc8aa..1b7eafc7e 100644 --- a/multisrc/overrides/wpmangareader/iimanga/src/ARESManga.kt +++ b/multisrc/overrides/mangathemesia/iimanga/src/ARESManga.kt @@ -1,10 +1,10 @@ package eu.kanade.tachiyomi.extension.ar.iimanga -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import java.text.SimpleDateFormat import java.util.Locale -class ARESManga : WPMangaReader("ARESManga", "https://aresmanga.com", "ar", dateFormat = SimpleDateFormat("MMMMM dd, yyyy", Locale("ar"))) { +class ARESManga : MangaThemesia("ARESManga", "https://aresmanga.com", "ar", dateFormat = SimpleDateFormat("MMMMM dd, yyyy", Locale("ar"))) { // The scanlator changed their name. override val id: Long = 230017529540228175 } diff --git a/multisrc/overrides/wpmangastream/imaginescan/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/imaginescan/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/imaginescan/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/imaginescan/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/imaginescan/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/imaginescan/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/imaginescan/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/imaginescan/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/imaginescan/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/imaginescan/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/imaginescan/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/imaginescan/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/imaginescan/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/imaginescan/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/imaginescan/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/imaginescan/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/imaginescan/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/imaginescan/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/imaginescan/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/imaginescan/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/imaginescan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/imaginescan/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/imaginescan/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/imaginescan/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/imaginescan/src/ImagineScan.kt b/multisrc/overrides/mangathemesia/imaginescan/src/ImagineScan.kt similarity index 65% rename from multisrc/overrides/wpmangastream/imaginescan/src/ImagineScan.kt rename to multisrc/overrides/mangathemesia/imaginescan/src/ImagineScan.kt index c8fc4a9c1..1b06da15e 100644 --- a/multisrc/overrides/wpmangastream/imaginescan/src/ImagineScan.kt +++ b/multisrc/overrides/mangathemesia/imaginescan/src/ImagineScan.kt @@ -1,22 +1,22 @@ package eu.kanade.tachiyomi.extension.pt.imaginescan -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class ImagineScan : WPMangaStream( +class ImagineScan : MangaThemesia( "Imagine Scan", "https://imaginescan.com.br", "pt-BR", - SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")) + dateFormat = SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")) ) { override val client: OkHttpClient = super.client.newBuilder() .rateLimit(1, 2, TimeUnit.SECONDS) .build() - override val altName: String = "Nome alternativo: " + override val altNamePrefix: String = "Nome alternativo: " } diff --git a/multisrc/overrides/wpmangastream/imperfectcomics/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/imperfectcomics/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/imperfectcomics/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/imperfectcomics/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/imperfectcomics/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/imperfectcomics/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/imperfectcomics/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/imperfectcomics/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/imperfectcomics/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/imperfectcomics/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/imperfectcomics/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/imperfectcomics/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/imperfectcomics/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/imperfectcomics/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/imperfectcomics/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/imperfectcomics/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/imperfectcomics/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/imperfectcomics/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/imperfectcomics/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/imperfectcomics/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/imperfectcomics/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/imperfectcomics/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/imperfectcomics/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/imperfectcomics/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/inarimanga/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/inarimanga/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/inarimanga/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/inarimanga/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/inarimanga/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/inarimanga/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/inarimanga/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/inarimanga/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/inarimanga/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/inarimanga/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/inarimanga/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/inarimanga/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/inarimanga/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/inarimanga/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/inarimanga/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/inarimanga/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/inarimanga/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/inarimanga/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/inarimanga/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/inarimanga/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/inarimanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/inarimanga/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/inarimanga/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/inarimanga/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/inarimanga/src/InariManga.kt b/multisrc/overrides/mangathemesia/inarimanga/src/InariManga.kt similarity index 70% rename from multisrc/overrides/wpmangareader/inarimanga/src/InariManga.kt rename to multisrc/overrides/mangathemesia/inarimanga/src/InariManga.kt index 6150796f9..51dbd9c5e 100644 --- a/multisrc/overrides/wpmangareader/inarimanga/src/InariManga.kt +++ b/multisrc/overrides/mangathemesia/inarimanga/src/InariManga.kt @@ -1,10 +1,10 @@ package eu.kanade.tachiyomi.extension.es.inarimanga -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import java.text.SimpleDateFormat import java.util.Locale -class InariManga : WPMangaReader( +class InariManga : MangaThemesia( "InariManga", "https://inarimanga.com", "es", diff --git a/multisrc/overrides/wpmangastream/infernalvoidscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/infernalvoidscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/infernalvoidscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/infernalvoidscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/infernalvoidscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/infernalvoidscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/infernalvoidscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/infernalvoidscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/infernalvoidscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/infernalvoidscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/infernalvoidscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/infernalvoidscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/infernalvoidscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/infernalvoidscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/infernalvoidscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/infernalvoidscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/infernalvoidscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/infernalvoidscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/infernalvoidscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/infernalvoidscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/infernalvoidscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/infernalvoidscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/infernalvoidscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/infernalvoidscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/infernalvoidscans/src/InfernalVoidScans.kt b/multisrc/overrides/mangathemesia/infernalvoidscans/src/InfernalVoidScans.kt new file mode 100644 index 000000000..7eba18895 --- /dev/null +++ b/multisrc/overrides/mangathemesia/infernalvoidscans/src/InfernalVoidScans.kt @@ -0,0 +1,5 @@ +package eu.kanade.tachiyomi.extension.en.infernalvoidscans + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia + +class InfernalVoidScans : MangaThemesia("Infernal Void Scans", "https://void-scans.com", "en") diff --git a/multisrc/overrides/wpmangareader/kiryuu/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/kiryuu/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/kiryuu/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/kiryuu/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/kiryuu/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/kiryuu/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/kiryuu/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/kiryuu/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/kiryuu/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/kiryuu/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/kiryuu/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/kiryuu/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/kiryuu/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/kiryuu/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/kiryuu/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/kiryuu/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/kiryuu/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/kiryuu/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/kiryuu/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/kiryuu/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/kiryuu/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/kiryuu/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/kiryuu/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/kiryuu/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/kiryuu/src/Kiryuu.kt b/multisrc/overrides/mangathemesia/kiryuu/src/Kiryuu.kt new file mode 100644 index 000000000..1159acd18 --- /dev/null +++ b/multisrc/overrides/mangathemesia/kiryuu/src/Kiryuu.kt @@ -0,0 +1,27 @@ +package eu.kanade.tachiyomi.extension.id.kiryuu + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import okhttp3.OkHttpClient +import org.jsoup.nodes.Document +import java.text.SimpleDateFormat +import java.util.Locale +import java.util.concurrent.TimeUnit + +class Kiryuu : MangaThemesia("Kiryuu", "https://kiryuu.id", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id"))) { + // Formerly "Kiryuu (WP Manga Stream)" + override val id = 3639673976007021338 + + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .connectTimeout(10, TimeUnit.SECONDS) + .readTimeout(30, TimeUnit.SECONDS) + .rateLimit(4) + .build() + + // manga details + override fun mangaDetailsParse(document: Document) = super.mangaDetailsParse(document).apply { + title = document.selectFirst(seriesThumbnailSelector).attr("title") + } + + override val hasProjectPage = true +} diff --git a/multisrc/overrides/wpmangastream/klankomik/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/klankomik/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/klankomik/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/klankomik/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/klankomik/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/klankomik/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/klankomik/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/klankomik/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/klankomik/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/klankomik/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/klankomik/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/klankomik/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/klankomik/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/klankomik/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/klankomik/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/klankomik/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/klankomik/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/klankomik/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/klankomik/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/klankomik/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/klankomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/klankomik/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/klankomik/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/klankomik/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/klankomik/src/KlanKomik.kt b/multisrc/overrides/mangathemesia/klankomik/src/KlanKomik.kt similarity index 77% rename from multisrc/overrides/wpmangastream/klankomik/src/KlanKomik.kt rename to multisrc/overrides/mangathemesia/klankomik/src/KlanKomik.kt index 1743f75f5..d33db8a4f 100644 --- a/multisrc/overrides/wpmangastream/klankomik/src/KlanKomik.kt +++ b/multisrc/overrides/mangathemesia/klankomik/src/KlanKomik.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.extension.id.klankomik -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.util.concurrent.TimeUnit -class KlanKomik : WPMangaStream("KlanKomik", "https://klankomik.com", "id") { +class KlanKomik : MangaThemesia("KlanKomik", "https://klankomik.com", "id") { override val client: OkHttpClient = network.cloudflareClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) diff --git a/multisrc/overrides/wpmangastream/komikav/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikav/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikav/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikav/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikav/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikav/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikav/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikav/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikav/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikav/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikav/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikav/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikav/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikav/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikav/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikav/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikav/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikav/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikav/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikav/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikav/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikav/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikav/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/komikav/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/komikav/src/KomikAV.kt b/multisrc/overrides/mangathemesia/komikav/src/KomikAV.kt similarity index 90% rename from multisrc/overrides/wpmangastream/komikav/src/KomikAV.kt rename to multisrc/overrides/mangathemesia/komikav/src/KomikAV.kt index 61c7dc985..e31f5f527 100644 --- a/multisrc/overrides/wpmangastream/komikav/src/KomikAV.kt +++ b/multisrc/overrides/mangathemesia/komikav/src/KomikAV.kt @@ -1,6 +1,6 @@ package eu.kanade.tachiyomi.extension.id.komikav -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.model.Page @@ -10,7 +10,7 @@ import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class KomikAV : WPMangaStream( +class KomikAV : MangaThemesia( "Komik AV (WP Manga Stream)", "https://komikav.com", "id", diff --git a/multisrc/overrides/wpmangastream/komikcast/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikcast/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikcast/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikcast/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikcast/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikcast/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikcast/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikcast/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikcast/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikcast/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikcast/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikcast/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikcast/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikcast/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikcast/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikcast/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikcast/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikcast/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikcast/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikcast/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikcast/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikcast/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikcast/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/komikcast/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/komikcast/src/KomikCast.kt b/multisrc/overrides/mangathemesia/komikcast/src/KomikCast.kt new file mode 100644 index 000000000..08583c65f --- /dev/null +++ b/multisrc/overrides/mangathemesia/komikcast/src/KomikCast.kt @@ -0,0 +1,89 @@ +package eu.kanade.tachiyomi.extension.id.komikcast + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import eu.kanade.tachiyomi.source.model.Page +import kotlinx.serialization.decodeFromString +import kotlinx.serialization.json.jsonArray +import kotlinx.serialization.json.jsonObject +import okhttp3.Headers +import okhttp3.OkHttpClient +import okhttp3.Request +import org.jsoup.Jsoup +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import java.util.concurrent.TimeUnit + +class KomikCast : MangaThemesia( + "Komik Cast", + "https://komikcast.me", + "id", + mangaUrlDirectory = "/daftar-komik" +) { + // Formerly "Komik Cast (WP Manga Stream)" + override val id = 972717448578983812 + + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .connectTimeout(10, TimeUnit.SECONDS) + .readTimeout(30, TimeUnit.SECONDS) + .rateLimit(3) + .build() + + override fun headersBuilder(): Headers.Builder = Headers.Builder() + .add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9") + .add("Accept-language", "en-US,en;q=0.9,id;q=0.8") + .add("Referer", baseUrl) + .add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0") + + override fun imageRequest(page: Page): Request { + val newHeaders = headersBuilder() + .set("Accept", "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8") + .set("Referer", baseUrl) + .build() + + return GET(page.imageUrl!!, newHeaders) + } + + override fun searchMangaSelector() = "div.list-update_item" + + override fun searchMangaFromElement(element: Element) = super.searchMangaFromElement(element).apply { + title = element.selectFirst("h3.title").ownText() + } + + override val seriesDetailsSelector = "div.komik_info:has(.komik_info-content)" + override val seriesTitleSelector = "h1.komik_info-content-body-title" + override val seriesDescriptionSelector = ".komik_info-description-sinopsis" + override val seriesAltNameSelector = ".komik_info-content-native" + override val seriesGenreSelector = ".komik_info-content-genre a" + override val seriesThumbnailSelector = ".komik_info-content-thumbnail img" + + override fun chapterListSelector() = "div.komik_info-chapters li" + + override fun chapterFromElement(element: Element) = super.chapterFromElement(element).apply { + date_upload = element.selectFirst(".chapter-link-time")?.text().parseChapterDate() + } + + override fun pageListParse(document: Document): List { + var doc = document + var cssQuery = "div#chapter_body .main-reading-area img.size-full" + val imageListRegex = Regex("chapterImages = (.*) \\|\\|") + val imageListMatchResult = imageListRegex.find(document.toString()) + + if (imageListMatchResult != null) { + val imageListJson = imageListMatchResult.destructured.toList()[0] + val imageList = json.parseToJsonElement(imageListJson).jsonObject + + var imageServer = "cdn" + if (!imageList.containsKey(imageServer)) imageServer = imageList.keys.first() + val imageElement = imageList[imageServer]!!.jsonArray.joinToString("") + doc = Jsoup.parse(json.decodeFromString(imageElement)) + cssQuery = "img.size-full" + } + + return doc.select(cssQuery) + .mapIndexed { i, img -> Page(i, "", img.imgAttr()) } + } + + override val hasProjectPage: Boolean = true +} diff --git a/multisrc/overrides/wpmangastream/komikindoco/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikindoco/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikindoco/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikindoco/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikindoco/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikindoco/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikindoco/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikindoco/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikindoco/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikindoco/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikindoco/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikindoco/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikindoco/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikindoco/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikindoco/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikindoco/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikindoco/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikindoco/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikindoco/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikindoco/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikindoco/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikindoco/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikindoco/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/komikindoco/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/komikindoco/src/KomikindoCo.kt b/multisrc/overrides/mangathemesia/komikindoco/src/KomikindoCo.kt new file mode 100644 index 000000000..9a6c96240 --- /dev/null +++ b/multisrc/overrides/mangathemesia/komikindoco/src/KomikindoCo.kt @@ -0,0 +1,23 @@ +package eu.kanade.tachiyomi.extension.id.komikindoco + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import okhttp3.OkHttpClient +import java.text.SimpleDateFormat +import java.util.Locale +import java.util.concurrent.TimeUnit + +class KomikindoCo : MangaThemesia("KomikIndo.co", "https://komikindo.co", "id", dateFormat = SimpleDateFormat("MMM dd, yyyy", Locale("id"))) { + // Formerly "Komikindo.co" + override val id = 734619124437406170 + + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .connectTimeout(10, TimeUnit.SECONDS) + .readTimeout(30, TimeUnit.SECONDS) + .rateLimit(4) + .build() + + override val hasProjectPage = true + + override val seriesDetailsSelector = ".seriestucon" +} diff --git a/multisrc/overrides/wpmangareader/komiklab/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komiklab/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komiklab/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komiklab/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komiklab/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komiklab/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komiklab/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komiklab/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komiklab/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komiklab/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komiklab/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komiklab/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komiklab/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komiklab/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komiklab/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komiklab/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komiklab/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komiklab/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komiklab/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komiklab/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komiklab/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komiklab/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/komiklab/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/komiklab/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/komiklab/src/KomikLab.kt b/multisrc/overrides/mangathemesia/komiklab/src/KomikLab.kt new file mode 100644 index 000000000..27e6701ba --- /dev/null +++ b/multisrc/overrides/mangathemesia/komiklab/src/KomikLab.kt @@ -0,0 +1,9 @@ +package eu.kanade.tachiyomi.extension.id.komiklab + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia + +class KomikLab : MangaThemesia("Komik Lab", "https://komiklab.com", "id") { + override val hasProjectPage = true + + override val seriesDetailsSelector = ".seriestucon" +} diff --git a/multisrc/overrides/wpmangareader/komikmama/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikmama/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikmama/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikmama/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komikmama/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikmama/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikmama/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikmama/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komikmama/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikmama/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikmama/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikmama/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komikmama/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikmama/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikmama/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikmama/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komikmama/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikmama/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikmama/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikmama/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komikmama/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikmama/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikmama/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/komikmama/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/komikmama/src/KomikMama.kt b/multisrc/overrides/mangathemesia/komikmama/src/KomikMama.kt similarity index 69% rename from multisrc/overrides/wpmangareader/komikmama/src/KomikMama.kt rename to multisrc/overrides/mangathemesia/komikmama/src/KomikMama.kt index 1bd5f9159..10dd420a8 100644 --- a/multisrc/overrides/wpmangareader/komikmama/src/KomikMama.kt +++ b/multisrc/overrides/mangathemesia/komikmama/src/KomikMama.kt @@ -1,10 +1,10 @@ package eu.kanade.tachiyomi.extension.id.komikmama -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import java.text.SimpleDateFormat import java.util.Locale -class KomikMama : WPMangaReader( +class KomikMama : MangaThemesia( "KomikMama", "https://komikmama.co", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id")) ) diff --git a/multisrc/overrides/wpmangastream/komikstation/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikstation/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikstation/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikstation/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikstation/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikstation/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikstation/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikstation/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikstation/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikstation/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikstation/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikstation/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikstation/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikstation/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikstation/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikstation/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikstation/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikstation/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikstation/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikstation/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/komikstation/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikstation/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/komikstation/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/komikstation/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/komikstation/src/KomikStation.kt b/multisrc/overrides/mangathemesia/komikstation/src/KomikStation.kt new file mode 100644 index 000000000..51437f642 --- /dev/null +++ b/multisrc/overrides/mangathemesia/komikstation/src/KomikStation.kt @@ -0,0 +1,21 @@ +package eu.kanade.tachiyomi.extension.id.komikstation + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import okhttp3.OkHttpClient +import java.util.concurrent.TimeUnit + +class KomikStation : MangaThemesia("Komik Station", "https://komikstation.co", "id") { + // Formerly "Komik Station (WP Manga Stream)" + override val id = 6148605743576635261 + + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .connectTimeout(10, TimeUnit.SECONDS) + .readTimeout(30, TimeUnit.SECONDS) + .rateLimit(4) + .build() + + override val projectPageString = "/project-list" + + override val hasProjectPage = true +} diff --git a/multisrc/overrides/wpmangareader/komikucom/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikucom/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikucom/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikucom/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komikucom/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikucom/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikucom/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikucom/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komikucom/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikucom/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikucom/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikucom/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komikucom/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikucom/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikucom/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikucom/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komikucom/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/komikucom/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikucom/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/komikucom/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/komikucom/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikucom/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/komikucom/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/komikucom/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/komikucom/src/KomikuCom.kt b/multisrc/overrides/mangathemesia/komikucom/src/KomikuCom.kt similarity index 58% rename from multisrc/overrides/wpmangareader/komikucom/src/KomikuCom.kt rename to multisrc/overrides/mangathemesia/komikucom/src/KomikuCom.kt index fa066e922..68b8f87d5 100644 --- a/multisrc/overrides/wpmangareader/komikucom/src/KomikuCom.kt +++ b/multisrc/overrides/mangathemesia/komikucom/src/KomikuCom.kt @@ -1,7 +1,7 @@ package eu.kanade.tachiyomi.extension.id.komikucom -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import java.text.SimpleDateFormat import java.util.Locale -class KomikuCom : WPMangaReader("Komiku.com", "https://komiku.com", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id"))) +class KomikuCom : MangaThemesia("Komiku.com", "https://komiku.com", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id"))) diff --git a/multisrc/overrides/wpmangastream/kumascans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/kumascans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/kumascans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/kumascans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/kumascans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/kumascans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/kumascans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/kumascans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/kumascans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/kumascans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/kumascans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/kumascans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/kumascans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/kumascans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/kumascans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/kumascans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/kumascans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/kumascans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/kumascans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/kumascans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/kumascans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/kumascans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/kumascans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/kumascans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/kumascans/src/KumaScans.kt b/multisrc/overrides/mangathemesia/kumascans/src/KumaScans.kt similarity index 78% rename from multisrc/overrides/wpmangastream/kumascans/src/KumaScans.kt rename to multisrc/overrides/mangathemesia/kumascans/src/KumaScans.kt index 985b1a75b..4a0bde580 100644 --- a/multisrc/overrides/wpmangastream/kumascans/src/KumaScans.kt +++ b/multisrc/overrides/mangathemesia/kumascans/src/KumaScans.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.extension.en.kumascans -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.util.concurrent.TimeUnit -class KumaScans : WPMangaStream("Kuma Scans (Kuma Translation)", "https://kumascans.com", "en") { +class KumaScans : MangaThemesia("Kuma Scans (Kuma Translation)", "https://kumascans.com", "en") { override val client: OkHttpClient = network.cloudflareClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) diff --git a/multisrc/overrides/wpmangareader/legionscan/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/legionscan/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/legionscan/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/legionscan/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/legionscan/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/legionscan/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/legionscan/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/legionscan/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/legionscan/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/legionscan/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/legionscan/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/legionscan/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/legionscan/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/legionscan/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/legionscan/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/legionscan/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/legionscan/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/legionscan/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/legionscan/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/legionscan/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/legionscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/legionscan/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/legionscan/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/legionscan/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/legionscan/src/LegionScan.kt b/multisrc/overrides/mangathemesia/legionscan/src/LegionScan.kt similarity index 73% rename from multisrc/overrides/wpmangareader/legionscan/src/LegionScan.kt rename to multisrc/overrides/mangathemesia/legionscan/src/LegionScan.kt index 442383486..8d9560618 100644 --- a/multisrc/overrides/wpmangareader/legionscan/src/LegionScan.kt +++ b/multisrc/overrides/mangathemesia/legionscan/src/LegionScan.kt @@ -1,10 +1,10 @@ package eu.kanade.tachiyomi.extension.es.legionscan -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import java.text.SimpleDateFormat import java.util.Locale -class LegionScan : WPMangaReader("Legion Scan", "https://legionscans.com", "es", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("es"))) { +class LegionScan : MangaThemesia("Legion Scan", "https://legionscans.com", "es", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("es"))) { override val seriesTypeSelector = ".imptdt:contains(Tipo) :last-child" override val seriesStatusSelector = ".tsinfo .imptdt:contains(Estado) i" diff --git a/multisrc/overrides/wpmangareader/magusmanga/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/magusmanga/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/magusmanga/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/magusmanga/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/magusmanga/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/magusmanga/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/magusmanga/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/magusmanga/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/magusmanga/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/magusmanga/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/magusmanga/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/magusmanga/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/magusmanga/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/magusmanga/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/magusmanga/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/magusmanga/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/magusmanga/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/magusmanga/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/magusmanga/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/magusmanga/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/magusmanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/magusmanga/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/magusmanga/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/magusmanga/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/magusmanga/src/MagusManga.kt b/multisrc/overrides/mangathemesia/magusmanga/src/MagusManga.kt similarity index 59% rename from multisrc/overrides/wpmangareader/magusmanga/src/MagusManga.kt rename to multisrc/overrides/mangathemesia/magusmanga/src/MagusManga.kt index beb6f9601..2c7f38e54 100644 --- a/multisrc/overrides/wpmangareader/magusmanga/src/MagusManga.kt +++ b/multisrc/overrides/mangathemesia/magusmanga/src/MagusManga.kt @@ -1,7 +1,7 @@ package eu.kanade.tachiyomi.extension.ar.magusmanga -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import java.text.SimpleDateFormat import java.util.Locale -class MagusManga : WPMangaReader("Magus Manga", "https://magusmanga.com", "ar", dateFormat = SimpleDateFormat("MMMMM dd, yyyy", Locale("ar"))) +class MagusManga : MangaThemesia("Magus Manga", "https://magusmanga.com", "ar", dateFormat = SimpleDateFormat("MMMMM dd, yyyy", Locale("ar"))) diff --git a/multisrc/overrides/wpmangareader/mangakita/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangakita/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangakita/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangakita/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangakita/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangakita/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangakita/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangakita/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangakita/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangakita/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangakita/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangakita/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangakita/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangakita/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangakita/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangakita/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangakita/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangakita/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangakita/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangakita/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangakita/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangakita/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangakita/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/mangakita/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/mangakita/src/MangaKita.kt b/multisrc/overrides/mangathemesia/mangakita/src/MangaKita.kt new file mode 100644 index 000000000..5b26a5b24 --- /dev/null +++ b/multisrc/overrides/mangathemesia/mangakita/src/MangaKita.kt @@ -0,0 +1,7 @@ +package eu.kanade.tachiyomi.extension.id.mangakita + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia + +class MangaKita : MangaThemesia("MangaKita", "https://mangakita.net", "id") { + override val hasProjectPage = true +} diff --git a/multisrc/overrides/wpmangastream/mangakyo/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangakyo/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangakyo/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangakyo/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangakyo/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangakyo/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangakyo/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangakyo/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangakyo/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangakyo/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangakyo/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangakyo/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangakyo/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangakyo/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangakyo/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangakyo/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangakyo/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangakyo/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangakyo/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangakyo/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangakyo/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangakyo/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangakyo/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/mangakyo/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/mangakyo/src/Mangakyo.kt b/multisrc/overrides/mangathemesia/mangakyo/src/Mangakyo.kt similarity index 75% rename from multisrc/overrides/wpmangastream/mangakyo/src/Mangakyo.kt rename to multisrc/overrides/mangathemesia/mangakyo/src/Mangakyo.kt index 1c75baf2a..bbb28d792 100644 --- a/multisrc/overrides/wpmangastream/mangakyo/src/Mangakyo.kt +++ b/multisrc/overrides/mangathemesia/mangakyo/src/Mangakyo.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.extension.id.mangakyo -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.util.concurrent.TimeUnit -class Mangakyo : WPMangaStream("Mangakyo", "https://www.mangakyo.me", "id") { +class Mangakyo : MangaThemesia("Mangakyo", "https://www.mangakyo.me", "id") { override val client: OkHttpClient = network.cloudflareClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) diff --git a/multisrc/overrides/wpmangastream/mangaproz/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaproz/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaproz/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangaproz/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangaproz/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaproz/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaproz/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangaproz/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangaproz/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaproz/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaproz/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangaproz/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangaproz/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaproz/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaproz/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangaproz/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangaproz/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaproz/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaproz/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangaproz/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangaproz/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangaproz/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaproz/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/mangaproz/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/mangaproz/src/MangaPro.kt b/multisrc/overrides/mangathemesia/mangaproz/src/MangaPro.kt similarity index 75% rename from multisrc/overrides/wpmangastream/mangaproz/src/MangaPro.kt rename to multisrc/overrides/mangathemesia/mangaproz/src/MangaPro.kt index c1fb207f0..3995a1b8f 100644 --- a/multisrc/overrides/wpmangastream/mangaproz/src/MangaPro.kt +++ b/multisrc/overrides/mangathemesia/mangaproz/src/MangaPro.kt @@ -1,6 +1,6 @@ package eu.kanade.tachiyomi.extension.ar.mangaproz -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga @@ -10,7 +10,7 @@ import org.jsoup.nodes.Document import org.jsoup.nodes.Element import java.util.concurrent.TimeUnit -class MangaPro : WPMangaStream("Manga Pro", "https://mangaprotm.com", "ar") { +class MangaPro : MangaThemesia("Manga Pro", "https://mangaprotm.com", "ar") { override val id: Long = 964048798769065340 override val client: OkHttpClient = network.cloudflareClient.newBuilder() @@ -20,7 +20,7 @@ class MangaPro : WPMangaStream("Manga Pro", "https://mangaprotm.com", "ar") { .build() override fun chapterListParse(response: Response): List = - super.chapterListParse(response).filter { !it.url.isNullOrEmpty() } + super.chapterListParse(response).filter { it.url.isNotEmpty() } override fun chapterFromElement(element: Element): SChapter { val urlElement = element.select(".lchx > a, span.leftoff a, div.eph-num > a").first() @@ -38,17 +38,14 @@ class MangaPro : WPMangaStream("Manga Pro", "https://mangaprotm.com", "ar") { chapter.name = chapter.name.replace("-*free".toRegex(RegexOption.IGNORE_CASE), "") chapter.date_upload = element.select("span.rightoff, time, span.chapterdate").firstOrNull()?.text() - ?.let { parseChapterDate(it) } - ?: 0 + .parseChapterDate() return chapter } override fun mangaDetailsParse(document: Document): SManga = super.mangaDetailsParse(document).apply { - document.select("div.bigcontent, div.animefull, div.main-info").firstOrNull() - ?.let { infoElement -> - thumbnail_url = - infoElement.select(mangaDetailsSelectorThumbnail).attr("abs:data-lazy-src") - } + document.selectFirst(seriesDetailsSelector)?.let { infoElement -> + thumbnail_url = infoElement.select(seriesThumbnailSelector).attr("abs:data-lazy-src") + } } } diff --git a/multisrc/overrides/wpmangastream/mangaraworg/src/MangaRawOrg.kt b/multisrc/overrides/mangathemesia/mangaraworg/src/MangaRawOrg.kt similarity index 86% rename from multisrc/overrides/wpmangastream/mangaraworg/src/MangaRawOrg.kt rename to multisrc/overrides/mangathemesia/mangaraworg/src/MangaRawOrg.kt index 6d6c0b776..5e7932f57 100644 --- a/multisrc/overrides/wpmangastream/mangaraworg/src/MangaRawOrg.kt +++ b/multisrc/overrides/mangathemesia/mangaraworg/src/MangaRawOrg.kt @@ -1,6 +1,6 @@ package eu.kanade.tachiyomi.extension.ja.mangaraworg -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.asObservableSuccess import eu.kanade.tachiyomi.network.interceptor.rateLimit @@ -17,8 +17,7 @@ import org.jsoup.nodes.Element import rx.Observable import java.util.concurrent.TimeUnit -class MangaRawOrg : WPMangaStream("Manga Raw.org", "https://mangaraw.org", "ja") { - // Formerly "Manga Raw" from WPMangaStream +class MangaRawOrg : MangaThemesia("Manga Raw.org", "https://mangaraw.org", "ja") { override val id = 6223520752496636410 override val client: OkHttpClient = network.cloudflareClient.newBuilder() @@ -28,8 +27,15 @@ class MangaRawOrg : WPMangaStream("Manga Raw.org", "https://mangaraw.org", "ja") .build() override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/search?order=popular&page=$page", headers) - override fun popularMangaSelector() = "div.bsx" - override fun popularMangaFromElement(element: Element): SManga { + + override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/search?order=update&page=$page", headers) + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request = + GET("$baseUrl/search?s=$query&page=$page") + + override fun searchMangaSelector() = "div.bsx" + + override fun searchMangaFromElement(element: Element): SManga { return SManga.create().apply { element.select("div.bigor > a").let { setUrlWithoutDomain(it.attr("href")) @@ -38,13 +44,12 @@ class MangaRawOrg : WPMangaStream("Manga Raw.org", "https://mangaraw.org", "ja") thumbnail_url = element.select("img").attr("abs:src") } } - override fun popularMangaNextPageSelector() = "a[rel=next]" - override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/search?order=update&page=$page", headers) - override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request = - GET("$baseUrl/search?s=$query&page=$page") - override fun searchMangaFromElement(element: Element): SManga = popularMangaFromElement(element) + + override fun searchMangaNextPageSelector() = "a[rel=next]" + override fun mangaDetailsParse(document: Document): SManga = super.mangaDetailsParse(document) .apply { description = document.select("div.bottom").firstOrNull()?.ownText() } + override fun fetchPageList(chapter: SChapter): Observable> { return client.newCall(pageListRequest(chapter)) .asObservableSuccess() @@ -52,11 +57,13 @@ class MangaRawOrg : WPMangaStream("Manga Raw.org", "https://mangaraw.org", "ja") pageListParse(response, baseUrl + chapter.url.removeSuffix("/")) } } + private fun pageListParse(response: Response, chapterUrl: String): List { return response.asJsoup().select("span.page-link").first().ownText().substringAfterLast(" ").toInt() .let { lastNum -> IntRange(1, lastNum) } .map { num -> Page(num, "$chapterUrl/$num") } } + override fun imageUrlParse(document: Document): String = document.select("a.img-block img").attr("abs:src") override fun getFilterList(): FilterList = FilterList() } diff --git a/multisrc/overrides/wpmangareader/mangaschan/src/MangasChan.kt b/multisrc/overrides/mangathemesia/mangaschan/src/MangasChan.kt similarity index 77% rename from multisrc/overrides/wpmangareader/mangaschan/src/MangasChan.kt rename to multisrc/overrides/mangathemesia/mangaschan/src/MangasChan.kt index 315fb39bc..18206471d 100644 --- a/multisrc/overrides/wpmangareader/mangaschan/src/MangasChan.kt +++ b/multisrc/overrides/mangathemesia/mangaschan/src/MangasChan.kt @@ -1,13 +1,13 @@ package eu.kanade.tachiyomi.extension.pt.mangaschan -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class MangasChan : WPMangaReader( +class MangasChan : MangaThemesia( "Mangás Chan", "https://mangaschan.com", "pt-BR", @@ -18,5 +18,5 @@ class MangasChan : WPMangaReader( .rateLimit(1, 2, TimeUnit.SECONDS) .build() - override val altName = "Nome alternativo: " + override val altNamePrefix = "Nome alternativo: " } diff --git a/multisrc/overrides/wpmangareader/mangasusu/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangasusu/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangasusu/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangasusu/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangasusu/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangasusu/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangasusu/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangasusu/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangasusu/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangasusu/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangasusu/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangasusu/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangasusu/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangasusu/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangasusu/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangasusu/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangasusu/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangasusu/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangasusu/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangasusu/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangasusu/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangasusu/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangasusu/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/mangasusu/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/mangasusu/src/Mangasusu.kt b/multisrc/overrides/mangathemesia/mangasusu/src/Mangasusu.kt new file mode 100644 index 000000000..9e74d0f07 --- /dev/null +++ b/multisrc/overrides/mangathemesia/mangasusu/src/Mangasusu.kt @@ -0,0 +1,5 @@ +package eu.kanade.tachiyomi.extension.id.mangasusu + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia + +class Mangasusu : MangaThemesia("Mangasusu", "https://mangasusu.co.in", "id", "/komik") diff --git a/multisrc/overrides/wpmangastream/mangaswat/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaswat/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaswat/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangaswat/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangaswat/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaswat/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaswat/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangaswat/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangaswat/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaswat/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaswat/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangaswat/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangaswat/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaswat/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaswat/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangaswat/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangaswat/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaswat/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaswat/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangaswat/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangaswat/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangaswat/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangaswat/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/mangaswat/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/mangaswat/src/MangaSwat.kt b/multisrc/overrides/mangathemesia/mangaswat/src/MangaSwat.kt new file mode 100644 index 000000000..166c192c5 --- /dev/null +++ b/multisrc/overrides/mangathemesia/mangaswat/src/MangaSwat.kt @@ -0,0 +1,57 @@ +package eu.kanade.tachiyomi.extension.ar.mangaswat + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.source.model.Page +import okhttp3.Headers +import okhttp3.Request +import org.json.JSONObject +import org.jsoup.nodes.Document +import java.text.SimpleDateFormat +import java.util.Locale + +class MangaSwat : MangaThemesia( + "MangaSwat", + "https://swatmanga.co", + "ar", + dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US) +) { + + override fun headersBuilder(): Headers.Builder = Headers.Builder() + .add( + "Accept", + "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" + ) + .add("Accept-language", "en-US,en;q=0.9") + .add("Referer", baseUrl) + + override fun imageRequest(page: Page): Request { + val newHeaders = headersBuilder() + .set("Accept", "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8") + .set("Referer", baseUrl) + .build() + return GET(page.imageUrl!!, newHeaders) + } + + override val seriesArtistSelector = "span:contains(الناشر) i" + override val seriesAuthorSelector = "span:contains(المؤلف) i" + override val seriesGenreSelector = "span:contains(التصنيف) a, .mgen a" + override val seriesTypeSelector = "span:contains(النوع) a" + override val seriesStatusSelector = "span:contains(الحالة)" + + override val pageSelector = "div#readerarea img" + + override fun pageListParse(document: Document): List { + var page: List? = null + val scriptContent = document.selectFirst("script:containsData(ts_reader)").data() + val removeHead = scriptContent.replace("ts_reader.run(", "").replace(");", "") + val jsonObject = JSONObject(removeHead) + val sourcesArray = jsonObject.getJSONArray("sources") + val imagesArray = sourcesArray.getJSONObject(0).getJSONArray("images") + page = List(imagesArray.length()) { i -> + Page(i, "", imagesArray[i].toString()) + } + + return page + } +} diff --git a/multisrc/overrides/wpmangastream/mangceh/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangceh/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangceh/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangceh/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangceh/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangceh/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangceh/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangceh/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangceh/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangceh/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangceh/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangceh/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangceh/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangceh/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangceh/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangceh/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangceh/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangceh/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangceh/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangceh/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mangceh/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangceh/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/mangceh/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/mangceh/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/mangceh/src/Mareceh.kt b/multisrc/overrides/mangathemesia/mangceh/src/Mareceh.kt similarity index 78% rename from multisrc/overrides/wpmangastream/mangceh/src/Mareceh.kt rename to multisrc/overrides/mangathemesia/mangceh/src/Mareceh.kt index 73c554d79..891845d19 100644 --- a/multisrc/overrides/wpmangastream/mangceh/src/Mareceh.kt +++ b/multisrc/overrides/mangathemesia/mangceh/src/Mareceh.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.extension.id.mangceh -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.util.concurrent.TimeUnit -class Mareceh : WPMangaStream("Mareceh", "https://mareceh.com", "id") { +class Mareceh : MangaThemesia("Mareceh", "https://mareceh.com", "id") { override val versionId = 2 diff --git a/multisrc/overrides/wpmangareader/mangkomik/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangkomik/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangkomik/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangkomik/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangkomik/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangkomik/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangkomik/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangkomik/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangkomik/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangkomik/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangkomik/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangkomik/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangkomik/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangkomik/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangkomik/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangkomik/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangkomik/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangkomik/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangkomik/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mangkomik/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/mangkomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangkomik/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/mangkomik/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/mangkomik/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/mangkomik/src/MangKomik.kt b/multisrc/overrides/mangathemesia/mangkomik/src/MangKomik.kt similarity index 85% rename from multisrc/overrides/wpmangareader/mangkomik/src/MangKomik.kt rename to multisrc/overrides/mangathemesia/mangkomik/src/MangKomik.kt index 7de002c06..ad7c38dee 100644 --- a/multisrc/overrides/wpmangareader/mangkomik/src/MangKomik.kt +++ b/multisrc/overrides/mangathemesia/mangkomik/src/MangKomik.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.extension.id.mangkomik -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.Page import org.jsoup.nodes.Document -class MangKomik : WPMangaReader("MangKomik", "https://mangkomik.com", "id") { +class MangKomik : MangaThemesia("MangKomik", "https://mangkomik.com", "id") { override val hasProjectPage = true override fun pageListParse(document: Document): List { diff --git a/multisrc/overrides/wpmangareader/manhuaraw/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/manhuaraw/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhuaraw/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/manhuaraw/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/manhuaraw/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/manhuaraw/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhuaraw/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/manhuaraw/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/manhuaraw/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/manhuaraw/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhuaraw/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/manhuaraw/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/manhuaraw/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/manhuaraw/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhuaraw/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/manhuaraw/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/manhuaraw/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/manhuaraw/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhuaraw/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/manhuaraw/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/manhuaraw/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/manhuaraw/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhuaraw/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/manhuaraw/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/manhwaindo/CHANGELOG.md b/multisrc/overrides/mangathemesia/manhwaindo/CHANGELOG.md similarity index 100% rename from multisrc/overrides/wpmangareader/manhwaindo/CHANGELOG.md rename to multisrc/overrides/mangathemesia/manhwaindo/CHANGELOG.md diff --git a/multisrc/overrides/wpmangareader/manhwaindo/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/manhwaindo/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhwaindo/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/manhwaindo/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/manhwaindo/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/manhwaindo/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhwaindo/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/manhwaindo/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/manhwaindo/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/manhwaindo/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhwaindo/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/manhwaindo/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/manhwaindo/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/manhwaindo/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhwaindo/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/manhwaindo/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/manhwaindo/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/manhwaindo/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhwaindo/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/manhwaindo/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/manhwaindo/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/manhwaindo/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/manhwaindo/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/manhwaindo/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/manhwaindo/src/ManhwaIndo.kt b/multisrc/overrides/mangathemesia/manhwaindo/src/ManhwaIndo.kt new file mode 100644 index 000000000..53a391e2c --- /dev/null +++ b/multisrc/overrides/mangathemesia/manhwaindo/src/ManhwaIndo.kt @@ -0,0 +1,22 @@ +package eu.kanade.tachiyomi.extension.id.manhwaindo + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import okhttp3.Headers +import org.jsoup.nodes.Document +import java.text.SimpleDateFormat +import java.util.Locale + +class ManhwaIndo : MangaThemesia( + "Manhwa Indo", "https://manhwaindo.id", "id", "/series", + SimpleDateFormat("MMMM dd, yyyy", Locale("id")) +) { + + override fun headersBuilder(): Headers.Builder = Headers.Builder() + .add("Referer", baseUrl) + + override fun mangaDetailsParse(document: Document) = super.mangaDetailsParse(document).apply { + thumbnail_url = document.select(seriesThumbnailSelector).attr("abs:src") + } + + override val hasProjectPage = true +} diff --git a/multisrc/overrides/wpmangareader/martialmanga/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/martialmanga/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/martialmanga/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/martialmanga/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/martialmanga/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/martialmanga/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/martialmanga/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/martialmanga/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/martialmanga/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/martialmanga/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/martialmanga/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/martialmanga/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/martialmanga/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/martialmanga/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/martialmanga/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/martialmanga/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/martialmanga/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/martialmanga/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/martialmanga/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/martialmanga/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/martialmanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/martialmanga/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/martialmanga/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/martialmanga/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/masterkomik/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/masterkomik/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/masterkomik/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/masterkomik/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/masterkomik/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/masterkomik/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/masterkomik/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/masterkomik/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/masterkomik/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/masterkomik/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/masterkomik/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/masterkomik/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/masterkomik/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/masterkomik/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/masterkomik/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/masterkomik/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/masterkomik/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/masterkomik/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/masterkomik/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/masterkomik/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/masterkomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/masterkomik/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/masterkomik/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/masterkomik/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/masterkomik/src/MasterKomik.kt b/multisrc/overrides/mangathemesia/masterkomik/src/MasterKomik.kt similarity index 79% rename from multisrc/overrides/wpmangastream/masterkomik/src/MasterKomik.kt rename to multisrc/overrides/mangathemesia/masterkomik/src/MasterKomik.kt index 98f94a82a..e9082ffb6 100644 --- a/multisrc/overrides/wpmangastream/masterkomik/src/MasterKomik.kt +++ b/multisrc/overrides/mangathemesia/masterkomik/src/MasterKomik.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.extension.id.masterkomik -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.util.concurrent.TimeUnit -class MasterKomik : WPMangaStream("MasterKomik", "https://masterkomik.com", "id") { +class MasterKomik : MangaThemesia("MasterKomik", "https://masterkomik.com", "id") { override val client: OkHttpClient = network.cloudflareClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) diff --git a/multisrc/overrides/wpmangareader/miauscan/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/miauscan/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/miauscan/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/miauscan/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/miauscan/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/miauscan/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/miauscan/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/miauscan/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/miauscan/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/miauscan/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/miauscan/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/miauscan/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/miauscan/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/miauscan/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/miauscan/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/miauscan/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/miauscan/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/miauscan/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/miauscan/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/miauscan/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/miauscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/miauscan/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/miauscan/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/miauscan/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/miauscan/src/MiauScan.kt b/multisrc/overrides/mangathemesia/miauscan/src/MiauScan.kt similarity index 70% rename from multisrc/overrides/wpmangareader/miauscan/src/MiauScan.kt rename to multisrc/overrides/mangathemesia/miauscan/src/MiauScan.kt index f6f0f3323..466ca04d0 100644 --- a/multisrc/overrides/wpmangareader/miauscan/src/MiauScan.kt +++ b/multisrc/overrides/mangathemesia/miauscan/src/MiauScan.kt @@ -1,10 +1,10 @@ package eu.kanade.tachiyomi.extension.es.miauscan -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import java.text.SimpleDateFormat import java.util.Locale -class MiauScan : WPMangaReader( +class MiauScan : MangaThemesia( "Miau Scan", "https://miauscan.com", "es", diff --git a/multisrc/overrides/wpmangastream/mihentai/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mihentai/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mihentai/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mihentai/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mihentai/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mihentai/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mihentai/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mihentai/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mihentai/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mihentai/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mihentai/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mihentai/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mihentai/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mihentai/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mihentai/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mihentai/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mihentai/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mihentai/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/mihentai/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/mihentai/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/mihentai/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mihentai/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/mihentai/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/mihentai/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/mihentai/src/Mihentai.kt b/multisrc/overrides/mangathemesia/mihentai/src/Mihentai.kt new file mode 100644 index 000000000..e16f1253e --- /dev/null +++ b/multisrc/overrides/mangathemesia/mihentai/src/Mihentai.kt @@ -0,0 +1,74 @@ +package eu.kanade.tachiyomi.extension.all.mihentai + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.Page +import kotlinx.serialization.json.jsonArray +import kotlinx.serialization.json.jsonPrimitive +import okhttp3.HttpUrl.Companion.toHttpUrl +import org.jsoup.nodes.Document +import java.lang.IllegalArgumentException + +class Mihentai : MangaThemesia("Mihentai", "https://mihentai.com", "all") { + override fun pageListParse(document: Document): List { + val htmlPages = document.select(pageSelector) + .filterNot { it.attr("abs:src").isNullOrEmpty() } + .mapIndexed { i, img -> + val pageUrl = img.attr("abs:src").substringAfter(baseUrl).prependIndent(baseUrl) + Page(i, "", pageUrl) + } + .toMutableList() + + countViews(document) + + if (htmlPages.isNotEmpty()) { return htmlPages } + + val docString = document.toString() + val imageListJson = JSON_IMAGE_LIST_REGEX.find(docString)?.destructured?.toList()?.get(0).orEmpty() + val imageList = try { + json.parseToJsonElement(imageListJson).jsonArray + } catch (_: IllegalArgumentException) { + emptyList() + } + val baseResolver = baseUrl.toHttpUrl() + + val scriptPages = imageList.mapIndexed { i, jsonEl -> + val imageUrl = jsonEl.jsonPrimitive.content + Page(i, "", baseResolver.resolve(imageUrl).toString()) + } + + return scriptPages + } + + private class StatusFilter : SelectFilter( + "Status", + arrayOf( + Pair("All", ""), + Pair("Publishing", "publishing"), + Pair("Finished", "finished"), + Pair("Dropped", "drop") + ) + ) + + private class TypeFilter : SelectFilter( + "Type", + arrayOf( + Pair("Default", ""), + Pair("Manga", "Manga"), + Pair("Manhwa", "Manhwa"), + Pair("Manhua", "Manhua"), + Pair("Webtoon", "webtoon"), + Pair("One-Shot", "One-Shot"), + Pair("Doujin", "doujin") + ) + ) + + override fun getFilterList(): FilterList = FilterList( + listOf( + StatusFilter(), + TypeFilter(), + OrderByFilter(), + GenreListFilter(getGenreList()) + ) + ) +} diff --git a/multisrc/overrides/wpmangareader/modescanlator/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/modescanlator/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/modescanlator/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/modescanlator/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/modescanlator/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/modescanlator/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/modescanlator/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/modescanlator/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/modescanlator/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/modescanlator/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/modescanlator/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/modescanlator/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/modescanlator/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/modescanlator/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/modescanlator/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/modescanlator/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/modescanlator/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/modescanlator/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/modescanlator/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/modescanlator/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/modescanlator/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/modescanlator/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/modescanlator/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/modescanlator/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/modescanlator/src/ModeScanlator.kt b/multisrc/overrides/mangathemesia/modescanlator/src/ModeScanlator.kt similarity index 80% rename from multisrc/overrides/wpmangareader/modescanlator/src/ModeScanlator.kt rename to multisrc/overrides/mangathemesia/modescanlator/src/ModeScanlator.kt index b14c19439..56c4215be 100644 --- a/multisrc/overrides/wpmangareader/modescanlator/src/ModeScanlator.kt +++ b/multisrc/overrides/mangathemesia/modescanlator/src/ModeScanlator.kt @@ -1,13 +1,13 @@ package eu.kanade.tachiyomi.extension.pt.modescanlator -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class ModeScanlator : WPMangaReader( +class ModeScanlator : MangaThemesia( "Mode Scanlator", "https://modescanlator.com", "pt-BR", @@ -22,5 +22,5 @@ class ModeScanlator : WPMangaReader( .rateLimit(1, 2, TimeUnit.SECONDS) .build() - override val altName = "Nome alternativo: " + override val altNamePrefix = "Nome alternativo: " } diff --git a/multisrc/overrides/wpmangareader/ngomik/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/ngomik/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/ngomik/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/ngomik/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/ngomik/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/ngomik/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/ngomik/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/ngomik/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/ngomik/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/ngomik/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/ngomik/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/ngomik/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/ngomik/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/ngomik/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/ngomik/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/ngomik/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/ngomik/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/ngomik/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/ngomik/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/ngomik/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/ngomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/ngomik/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/ngomik/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/ngomik/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/ngomik/src/Ngomik.kt b/multisrc/overrides/mangathemesia/ngomik/src/Ngomik.kt similarity index 78% rename from multisrc/overrides/wpmangareader/ngomik/src/Ngomik.kt rename to multisrc/overrides/mangathemesia/ngomik/src/Ngomik.kt index 87d911b7d..645f8baca 100644 --- a/multisrc/overrides/wpmangareader/ngomik/src/Ngomik.kt +++ b/multisrc/overrides/mangathemesia/ngomik/src/Ngomik.kt @@ -1,9 +1,9 @@ package eu.kanade.tachiyomi.extension.id.ngomik -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import okhttp3.Headers -class Ngomik : WPMangaReader("Ngomik", "https://ngomik.net", "id", "/all-komik") { +class Ngomik : MangaThemesia("Ngomik", "https://ngomik.net", "id", "/all-komik") { private val userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36" override fun headersBuilder(): Headers.Builder = Headers.Builder() diff --git a/multisrc/overrides/wpmangastream/nonstopscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/nonstopscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/nonstopscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/nonstopscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/nonstopscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/nonstopscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/nonstopscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/nonstopscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/nonstopscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/nonstopscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/nonstopscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/nonstopscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/nonstopscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/nonstopscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/nonstopscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/nonstopscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/nonstopscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/nonstopscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/nonstopscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/nonstopscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/nonstopscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/nonstopscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/nonstopscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/nonstopscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/nonstopscans/src/NonStopScans.kt b/multisrc/overrides/mangathemesia/nonstopscans/src/NonStopScans.kt similarity index 76% rename from multisrc/overrides/wpmangastream/nonstopscans/src/NonStopScans.kt rename to multisrc/overrides/mangathemesia/nonstopscans/src/NonStopScans.kt index 39d43335b..a51427b77 100644 --- a/multisrc/overrides/wpmangastream/nonstopscans/src/NonStopScans.kt +++ b/multisrc/overrides/mangathemesia/nonstopscans/src/NonStopScans.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.extension.en.nonstopscans -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.util.concurrent.TimeUnit -class NonStopScans : WPMangaStream("Non-Stop Scans", "https://www.nonstopscans.com", "en") { +class NonStopScans : MangaThemesia("Non-Stop Scans", "https://www.nonstopscans.com", "en") { override val client: OkHttpClient = network.cloudflareClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) diff --git a/multisrc/overrides/wpmangastream/noxsubs/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/noxsubs/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/noxsubs/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/noxsubs/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/noxsubs/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/noxsubs/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/noxsubs/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/noxsubs/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/noxsubs/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/noxsubs/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/noxsubs/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/noxsubs/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/noxsubs/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/noxsubs/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/noxsubs/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/noxsubs/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/noxsubs/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/noxsubs/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/noxsubs/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/noxsubs/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/noxsubs/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/noxsubs/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/noxsubs/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/noxsubs/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/noxsubs/src/NoxSubs.kt b/multisrc/overrides/mangathemesia/noxsubs/src/NoxSubs.kt new file mode 100644 index 000000000..184128c0c --- /dev/null +++ b/multisrc/overrides/mangathemesia/noxsubs/src/NoxSubs.kt @@ -0,0 +1,7 @@ +package eu.kanade.tachiyomi.extension.tr.noxsubs + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import java.text.SimpleDateFormat +import java.util.Locale + +class NoxSubs : MangaThemesia("NoxSubs", "https://noxsubs.com", "tr", dateFormat = SimpleDateFormat("MMM d, yyyy", Locale("tr"))) diff --git a/multisrc/overrides/wpmangastream/omegascans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/omegascans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/omegascans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/omegascans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/omegascans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/omegascans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/omegascans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/omegascans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/omegascans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/omegascans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/omegascans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/omegascans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/omegascans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/omegascans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/omegascans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/omegascans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/omegascans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/omegascans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/omegascans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/omegascans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/omegascans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/omegascans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/omegascans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/omegascans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/origamiorpheans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/origamiorpheans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/origamiorpheans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/origamiorpheans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/origamiorpheans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/origamiorpheans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/origamiorpheans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/origamiorpheans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/origamiorpheans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/origamiorpheans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/origamiorpheans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/origamiorpheans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/origamiorpheans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/origamiorpheans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/origamiorpheans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/origamiorpheans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/origamiorpheans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/origamiorpheans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/origamiorpheans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/origamiorpheans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/origamiorpheans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/origamiorpheans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/origamiorpheans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/origamiorpheans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/origamiorpheans/src/OrigamiOrpheans.kt b/multisrc/overrides/mangathemesia/origamiorpheans/src/OrigamiOrpheans.kt similarity index 79% rename from multisrc/overrides/wpmangareader/origamiorpheans/src/OrigamiOrpheans.kt rename to multisrc/overrides/mangathemesia/origamiorpheans/src/OrigamiOrpheans.kt index 265603789..039c4f207 100644 --- a/multisrc/overrides/wpmangareader/origamiorpheans/src/OrigamiOrpheans.kt +++ b/multisrc/overrides/mangathemesia/origamiorpheans/src/OrigamiOrpheans.kt @@ -1,13 +1,13 @@ package eu.kanade.tachiyomi.extension.pt.origamiorpheans -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class OrigamiOrpheans : WPMangaReader( +class OrigamiOrpheans : MangaThemesia( "Origami Orpheans", "https://origami-orpheans.com.br", "pt-BR", @@ -21,5 +21,5 @@ class OrigamiOrpheans : WPMangaReader( .rateLimit(1, 2, TimeUnit.SECONDS) .build() - override val altName = "Nomes alternativos: " + override val altNamePrefix = "Nomes alternativos: " } diff --git a/multisrc/overrides/wpmangareader/ozulscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/ozulscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/ozulscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/ozulscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/ozulscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/ozulscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/ozulscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/ozulscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/ozulscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/ozulscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/ozulscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/ozulscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/ozulscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/ozulscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/ozulscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/ozulscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/ozulscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/ozulscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/ozulscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/ozulscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/ozulscans/src/OzulScans.kt b/multisrc/overrides/mangathemesia/ozulscans/src/OzulScans.kt similarity index 70% rename from multisrc/overrides/wpmangareader/ozulscans/src/OzulScans.kt rename to multisrc/overrides/mangathemesia/ozulscans/src/OzulScans.kt index 3c947b19d..7c3d8b75d 100644 --- a/multisrc/overrides/wpmangareader/ozulscans/src/OzulScans.kt +++ b/multisrc/overrides/mangathemesia/ozulscans/src/OzulScans.kt @@ -1,10 +1,10 @@ package eu.kanade.tachiyomi.extension.ar.ozulscans -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import java.text.SimpleDateFormat import java.util.Locale -class OzulScans : WPMangaReader( +class OzulScans : MangaThemesia( "Ozul Scans", "https://ozulscans.com", "ar", diff --git a/multisrc/overrides/wpmangareader/patatescans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/patatescans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/patatescans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/patatescans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/patatescans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/patatescans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/patatescans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/patatescans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/patatescans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/patatescans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/patatescans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/patatescans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/patatescans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/patatescans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/patatescans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/patatescans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/patatescans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/patatescans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/patatescans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/patatescans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/patatescans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/patatescans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/patatescans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/patatescans/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/patatescans/src/Patatescans.kt b/multisrc/overrides/mangathemesia/patatescans/src/Patatescans.kt new file mode 100644 index 000000000..8f96ffc4c --- /dev/null +++ b/multisrc/overrides/mangathemesia/patatescans/src/Patatescans.kt @@ -0,0 +1,5 @@ +package eu.kanade.tachiyomi.extension.fr.patatescans + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia + +class Patatescans : MangaThemesia("Patatescans", "https://patatescans.com", "fr") diff --git a/multisrc/overrides/wpmangastream/phantomscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/phantomscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/phantomscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/phantomscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/phantomscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/phantomscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/phantomscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/phantomscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/phantomscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/phantomscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/phantomscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/phantomscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/phantomscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/phantomscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/phantomscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/phantomscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/phantomscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/phantomscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/phantomscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/phantomscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/phantomscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/phantomscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/phantomscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/phantomscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/phoenixfansub/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/phoenixfansub/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/phoenixfansub/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/phoenixfansub/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/phoenixfansub/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/phoenixfansub/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/phoenixfansub/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/phoenixfansub/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/phoenixfansub/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/phoenixfansub/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/phoenixfansub/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/phoenixfansub/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/phoenixfansub/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/phoenixfansub/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/phoenixfansub/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/phoenixfansub/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/phoenixfansub/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/phoenixfansub/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/phoenixfansub/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/phoenixfansub/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/phoenixfansub/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/phoenixfansub/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/phoenixfansub/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/phoenixfansub/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/phoenixfansub/src/PhoenixFansub.kt b/multisrc/overrides/mangathemesia/phoenixfansub/src/PhoenixFansub.kt new file mode 100644 index 000000000..5b2fdbf33 --- /dev/null +++ b/multisrc/overrides/mangathemesia/phoenixfansub/src/PhoenixFansub.kt @@ -0,0 +1,15 @@ +package eu.kanade.tachiyomi.extension.es.phoenixfansub + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import java.text.SimpleDateFormat +import java.util.Locale + +class PhoenixFansub : MangaThemesia( + "Phoenix Fansub", + "https://phoenixfansub.com", + "es", + dateFormat = SimpleDateFormat("MMM d, yyyy", Locale("es")) +) { + + override val altNamePrefix: String = "Nombre alternativo: " +} diff --git a/multisrc/overrides/wpmangareader/pmscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/pmscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/pmscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/pmscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/pmscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/pmscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/pmscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/pmscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/pmscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/pmscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/pmscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/pmscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/pmscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/pmscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/pmscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/pmscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/pmscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/pmscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/pmscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/pmscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/pmscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/pmscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/pmscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/pmscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/randomscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/randomscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/randomscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/randomscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/randomscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/randomscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/randomscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/randomscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/randomscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/randomscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/randomscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/randomscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/randomscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/randomscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/randomscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/randomscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/randomscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/randomscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/randomscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/randomscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/randomscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/randomscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/randomscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/randomscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/rawkuma/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/rawkuma/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/rawkuma/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/rawkuma/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/rawkuma/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/rawkuma/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/rawkuma/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/rawkuma/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/rawkuma/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/rawkuma/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/rawkuma/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/rawkuma/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/rawkuma/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/rawkuma/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/rawkuma/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/rawkuma/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/rawkuma/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/rawkuma/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/rawkuma/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/rawkuma/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/rawkuma/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/rawkuma/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/rawkuma/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/rawkuma/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/rawkuma/src/Rawkuma.kt b/multisrc/overrides/mangathemesia/rawkuma/src/Rawkuma.kt similarity index 75% rename from multisrc/overrides/wpmangastream/rawkuma/src/Rawkuma.kt rename to multisrc/overrides/mangathemesia/rawkuma/src/Rawkuma.kt index 25d4b8f73..bce788723 100644 --- a/multisrc/overrides/wpmangastream/rawkuma/src/Rawkuma.kt +++ b/multisrc/overrides/mangathemesia/rawkuma/src/Rawkuma.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.extension.ja.rawkuma -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.util.concurrent.TimeUnit -class Rawkuma : WPMangaStream("Rawkuma", "https://rawkuma.com/", "ja") { +class Rawkuma : MangaThemesia("Rawkuma", "https://rawkuma.com/", "ja") { override val client: OkHttpClient = network.cloudflareClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) diff --git a/multisrc/overrides/wpmangastream/readkomik/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/readkomik/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/readkomik/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/readkomik/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/readkomik/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/readkomik/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/readkomik/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/readkomik/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/readkomik/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/readkomik/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/readkomik/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/readkomik/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/readkomik/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/readkomik/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/readkomik/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/readkomik/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/readkomik/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/readkomik/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/readkomik/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/readkomik/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/readkomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/readkomik/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/readkomik/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/readkomik/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/readkomik/src/ReadKomik.kt b/multisrc/overrides/mangathemesia/readkomik/src/ReadKomik.kt similarity index 77% rename from multisrc/overrides/wpmangastream/readkomik/src/ReadKomik.kt rename to multisrc/overrides/mangathemesia/readkomik/src/ReadKomik.kt index c7a2b6963..98a881a7f 100644 --- a/multisrc/overrides/wpmangastream/readkomik/src/ReadKomik.kt +++ b/multisrc/overrides/mangathemesia/readkomik/src/ReadKomik.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.extension.en.readkomik -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.util.concurrent.TimeUnit -class ReadKomik : WPMangaStream("Readkomik", "https://readkomik.com", "en") { +class ReadKomik : MangaThemesia("Readkomik", "https://readkomik.com", "en") { override val client: OkHttpClient = network.cloudflareClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) diff --git a/multisrc/overrides/wpmangareader/realmscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/realmscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/realmscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/realmscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/realmscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/realmscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/realmscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/realmscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/realmscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/realmscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/realmscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/realmscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/realmscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/realmscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/realmscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/realmscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/realmscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/realmscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/realmscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/realmscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/realmscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/realmscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/realmscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/realmscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/realmscans/src/RealmScans.kt b/multisrc/overrides/mangathemesia/realmscans/src/RealmScans.kt similarity index 59% rename from multisrc/overrides/wpmangareader/realmscans/src/RealmScans.kt rename to multisrc/overrides/mangathemesia/realmscans/src/RealmScans.kt index 63c0b9d78..db08abf09 100644 --- a/multisrc/overrides/wpmangareader/realmscans/src/RealmScans.kt +++ b/multisrc/overrides/mangathemesia/realmscans/src/RealmScans.kt @@ -1,15 +1,16 @@ package eu.kanade.tachiyomi.extension.en.realmscans -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.model.Page import kotlinx.serialization.json.jsonArray import kotlinx.serialization.json.jsonPrimitive import okhttp3.OkHttpClient import org.jsoup.nodes.Document +import java.lang.IllegalArgumentException import java.util.concurrent.TimeUnit -class RealmScans : WPMangaReader( +class RealmScans : MangaThemesia( "Realm Scans", "https://realmscans.com", "en", @@ -21,31 +22,30 @@ class RealmScans : WPMangaReader( .build() override fun pageListParse(document: Document): List { - val pages = document.select(pageSelector) + val htmlPages = document.select(pageSelector) .mapIndexed { i, img -> val url = img.attr("data-wpfc-original-src") .ifEmpty { img.attr("abs:src") } Page(i, "", url) } - .toMutableList() countViews(document) - if (pages.isNotEmpty()) { - return pages - } + // Some sites also loads pages via javascript + if (htmlPages.isNotEmpty()) { return htmlPages } val docString = document.toString() - val imageListRegex = "\\\"images.*?:.*?(\\[.*?\\])".toRegex() - val imageListJson = imageListRegex.find(docString)!!.destructured.toList()[0] - - val imageList = json.parseToJsonElement(imageListJson).jsonArray - - pages += imageList.mapIndexed { i, jsonEl -> + val imageListJson = JSON_IMAGE_LIST_REGEX.find(docString)?.destructured?.toList()?.get(0).orEmpty() + val imageList = try { + json.parseToJsonElement(imageListJson).jsonArray + } catch (_: IllegalArgumentException) { + emptyList() + } + val scriptPages = imageList.mapIndexed { i, jsonEl -> Page(i, "", jsonEl.jsonPrimitive.content) } - return pages + return scriptPages } } diff --git a/multisrc/overrides/wpmangareader/sekaikomik/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sekaikomik/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/sekaikomik/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sekaikomik/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/sekaikomik/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sekaikomik/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/sekaikomik/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sekaikomik/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/sekaikomik/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sekaikomik/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/sekaikomik/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sekaikomik/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/sekaikomik/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sekaikomik/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/sekaikomik/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sekaikomik/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/sekaikomik/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sekaikomik/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/sekaikomik/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sekaikomik/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/sekaikomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/sekaikomik/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/sekaikomik/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/sekaikomik/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/sekaikomik/src/Sekaikomik.kt b/multisrc/overrides/mangathemesia/sekaikomik/src/Sekaikomik.kt similarity index 60% rename from multisrc/overrides/wpmangareader/sekaikomik/src/Sekaikomik.kt rename to multisrc/overrides/mangathemesia/sekaikomik/src/Sekaikomik.kt index 683d84dd0..b07a83af1 100644 --- a/multisrc/overrides/wpmangareader/sekaikomik/src/Sekaikomik.kt +++ b/multisrc/overrides/mangathemesia/sekaikomik/src/Sekaikomik.kt @@ -1,7 +1,7 @@ package eu.kanade.tachiyomi.extension.id.sekaikomik -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import java.text.SimpleDateFormat import java.util.Locale -class Sekaikomik : WPMangaReader("Sekaikomik", "https://www.sekaikomik.live", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id"))) +class Sekaikomik : MangaThemesia("Sekaikomik", "https://www.sekaikomik.live", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id"))) diff --git a/multisrc/overrides/wpmangastream/sektedoujin/src/SekteDoujin.kt b/multisrc/overrides/mangathemesia/sektedoujin/src/SekteDoujin.kt similarity index 66% rename from multisrc/overrides/wpmangastream/sektedoujin/src/SekteDoujin.kt rename to multisrc/overrides/mangathemesia/sektedoujin/src/SekteDoujin.kt index f7d36b154..4d7af6f7e 100644 --- a/multisrc/overrides/wpmangastream/sektedoujin/src/SekteDoujin.kt +++ b/multisrc/overrides/mangathemesia/sektedoujin/src/SekteDoujin.kt @@ -1,13 +1,13 @@ package eu.kanade.tachiyomi.extension.id.sektedoujin -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class SekteDoujin : WPMangaStream("Sekte Doujin", "https://sektedoujin.club", "id", SimpleDateFormat("MMMM dd, yyyy", Locale.forLanguageTag("id"))) { +class SekteDoujin : MangaThemesia("Sekte Doujin", "https://sektedoujin.club", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale.forLanguageTag("id"))) { override val client: OkHttpClient = network.cloudflareClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) diff --git a/multisrc/overrides/wpmangastream/sektekomik/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sektekomik/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/sektekomik/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sektekomik/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/sektekomik/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sektekomik/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/sektekomik/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sektekomik/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/sektekomik/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sektekomik/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/sektekomik/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sektekomik/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/sektekomik/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sektekomik/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/sektekomik/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sektekomik/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/sektekomik/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sektekomik/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/sektekomik/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sektekomik/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/sektekomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/sektekomik/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/sektekomik/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/sektekomik/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/sektekomik/src/SekteKomik.kt b/multisrc/overrides/mangathemesia/sektekomik/src/SekteKomik.kt similarity index 86% rename from multisrc/overrides/wpmangastream/sektekomik/src/SekteKomik.kt rename to multisrc/overrides/mangathemesia/sektekomik/src/SekteKomik.kt index 26e325a8e..885d79ab7 100644 --- a/multisrc/overrides/wpmangastream/sektekomik/src/SekteKomik.kt +++ b/multisrc/overrides/mangathemesia/sektekomik/src/SekteKomik.kt @@ -1,6 +1,6 @@ package eu.kanade.tachiyomi.extension.id.sektekomik -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.model.Page @@ -11,7 +11,7 @@ import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class SekteKomik : WPMangaStream("Sekte Komik", "https://sektekomik.com", "id", SimpleDateFormat("MMMM dd, yyyy", Locale("id"))) { +class SekteKomik : MangaThemesia("Sekte Komik", "https://sektekomik.com", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id"))) { // Formerly "Sekte Komik (WP Manga Stream)" override val id = 7866629035053218469 diff --git a/multisrc/overrides/wpmangastream/sheamanga/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sheamanga/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/sheamanga/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sheamanga/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/sheamanga/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sheamanga/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/sheamanga/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sheamanga/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/sheamanga/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sheamanga/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/sheamanga/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sheamanga/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/sheamanga/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sheamanga/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/sheamanga/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sheamanga/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/sheamanga/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sheamanga/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/sheamanga/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sheamanga/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/sheamanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/sheamanga/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/sheamanga/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/sheamanga/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/sheamanga/src/SheaManga.kt b/multisrc/overrides/mangathemesia/sheamanga/src/SheaManga.kt similarity index 87% rename from multisrc/overrides/wpmangastream/sheamanga/src/SheaManga.kt rename to multisrc/overrides/mangathemesia/sheamanga/src/SheaManga.kt index d935a39a8..341f6cff7 100644 --- a/multisrc/overrides/wpmangastream/sheamanga/src/SheaManga.kt +++ b/multisrc/overrides/mangathemesia/sheamanga/src/SheaManga.kt @@ -1,6 +1,6 @@ package eu.kanade.tachiyomi.extension.id.sheamanga -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.Dns import okhttp3.OkHttpClient @@ -8,7 +8,7 @@ import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class SheaManga : WPMangaStream( +class SheaManga : MangaThemesia( "Shea Manga", "https://sheakomik.com", "id", diff --git a/multisrc/overrides/wpmangareader/shootingstarscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/shootingstarscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/shootingstarscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/shootingstarscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/shootingstarscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/shootingstarscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/shootingstarscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/shootingstarscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/shootingstarscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/shootingstarscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/shootingstarscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/shootingstarscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/shootingstarscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/shootingstarscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/shootingstarscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/shootingstarscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/shootingstarscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/shootingstarscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/shootingstarscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/shootingstarscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/shootingstarscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/shootingstarscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/shootingstarscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/shootingstarscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/silencescan/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/silencescan/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/silencescan/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/silencescan/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/silencescan/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/silencescan/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/silencescan/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/silencescan/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/silencescan/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/silencescan/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/silencescan/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/silencescan/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/silencescan/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/silencescan/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/silencescan/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/silencescan/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/silencescan/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/silencescan/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/silencescan/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/silencescan/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/silencescan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/silencescan/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/silencescan/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/silencescan/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/silencescan/src/SilenceScan.kt b/multisrc/overrides/mangathemesia/silencescan/src/SilenceScan.kt similarity index 67% rename from multisrc/overrides/wpmangareader/silencescan/src/SilenceScan.kt rename to multisrc/overrides/mangathemesia/silencescan/src/SilenceScan.kt index d4442ab6d..37f3f80c4 100644 --- a/multisrc/overrides/wpmangareader/silencescan/src/SilenceScan.kt +++ b/multisrc/overrides/mangathemesia/silencescan/src/SilenceScan.kt @@ -1,6 +1,6 @@ package eu.kanade.tachiyomi.extension.pt.silencescan -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.model.SManga import okhttp3.OkHttpClient @@ -8,7 +8,7 @@ import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class SilenceScan : WPMangaReader( +class SilenceScan : MangaThemesia( "Silence Scan", "https://silencescan.com.br", "pt-BR", @@ -23,11 +23,12 @@ class SilenceScan : WPMangaReader( .rateLimit(1, 2, TimeUnit.SECONDS) .build() - override val altName = "Nome alternativo: " + override val altNamePrefix = "Nome alternativo: " - override fun parseStatus(status: String) = when { - status.contains("Em Andamento") -> SManga.ONGOING - status.contains("Completo") -> SManga.COMPLETED + override fun String?.parseStatus() = when { + this == null -> SManga.UNKNOWN + this.contains("Em Andamento") -> SManga.ONGOING + this.contains("Completo") -> SManga.COMPLETED else -> SManga.UNKNOWN } } diff --git a/multisrc/overrides/wpmangareader/skullscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/skullscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/skullscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/skullscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/skullscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/skullscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/skullscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/skullscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/skullscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/skullscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/skullscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/skullscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/skullscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/skullscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/skullscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/skullscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/skullscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/skullscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/skullscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/skullscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/skullscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/skullscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/skullscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/skullscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/summerfansub/src/SummerFansub.kt b/multisrc/overrides/mangathemesia/summerfansub/src/SummerFansub.kt similarity index 83% rename from multisrc/overrides/wpmangastream/summerfansub/src/SummerFansub.kt rename to multisrc/overrides/mangathemesia/summerfansub/src/SummerFansub.kt index 169344c87..ee9375c8f 100644 --- a/multisrc/overrides/wpmangastream/summerfansub/src/SummerFansub.kt +++ b/multisrc/overrides/mangathemesia/summerfansub/src/SummerFansub.kt @@ -1,13 +1,13 @@ package eu.kanade.tachiyomi.extension.pt.summerfansub -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class SummerFansub : WPMangaStream( +class SummerFansub : MangaThemesia( "Summer Fansub", "https://smmr.in", "pt-BR", diff --git a/multisrc/overrides/wpmangareader/sushiscan/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sushiscan/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/sushiscan/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sushiscan/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/sushiscan/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sushiscan/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/sushiscan/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sushiscan/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/sushiscan/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sushiscan/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/sushiscan/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sushiscan/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/sushiscan/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sushiscan/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/sushiscan/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sushiscan/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/sushiscan/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/sushiscan/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/sushiscan/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/sushiscan/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/sushiscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/sushiscan/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/sushiscan/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/sushiscan/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/sushiscan/src/SushiScan.kt b/multisrc/overrides/mangathemesia/sushiscan/src/SushiScan.kt similarity index 50% rename from multisrc/overrides/wpmangareader/sushiscan/src/SushiScan.kt rename to multisrc/overrides/mangathemesia/sushiscan/src/SushiScan.kt index 0207ad436..3dfc0d873 100644 --- a/multisrc/overrides/wpmangareader/sushiscan/src/SushiScan.kt +++ b/multisrc/overrides/mangathemesia/sushiscan/src/SushiScan.kt @@ -1,18 +1,19 @@ package eu.kanade.tachiyomi.extension.fr.sushiscan -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.source.model.SManga import java.text.SimpleDateFormat import java.util.Locale -class SushiScan : WPMangaReader("Sushi-Scan", "https://sushiscan.su", "fr", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale.FRENCH)) { - override val altName = "Nom alternatif : " +class SushiScan : MangaThemesia("Sushi-Scan", "https://sushiscan.su", "fr", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale.FRENCH)) { + override val altNamePrefix = "Nom alternatif : " override val seriesStatusSelector = ".tsinfo .imptdt:contains(Statut)" override val seriesArtistSelector = ".tsinfo .imptdt:contains(Dessinateur) i" - override fun parseStatus(status: String) = when { - status.contains("En Cours") -> SManga.ONGOING - status.contains("Terminé") -> SManga.COMPLETED + override fun String?.parseStatus(): Int = when { + this == null -> SManga.UNKNOWN + this.contains("En Cours", ignoreCase = true) -> SManga.ONGOING + this.contains("Terminé", ignoreCase = true) -> SManga.COMPLETED else -> SManga.UNKNOWN } } diff --git a/multisrc/overrides/wpmangastream/tempestmanga/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/tempestmanga/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/tempestmanga/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/tempestmanga/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/tempestmanga/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/tempestmanga/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/tempestmanga/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/tempestmanga/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/tempestmanga/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/tempestmanga/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/tempestmanga/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/tempestmanga/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/tempestmanga/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/tempestmanga/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/tempestmanga/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/tempestmanga/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/tempestmanga/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/tempestmanga/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/tempestmanga/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/tempestmanga/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/tempestmanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/tempestmanga/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/tempestmanga/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/tempestmanga/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/tempestmanga/src/TempestManga.kt b/multisrc/overrides/mangathemesia/tempestmanga/src/TempestManga.kt similarity index 75% rename from multisrc/overrides/wpmangastream/tempestmanga/src/TempestManga.kt rename to multisrc/overrides/mangathemesia/tempestmanga/src/TempestManga.kt index 3c79e3398..1402f3bfa 100644 --- a/multisrc/overrides/wpmangastream/tempestmanga/src/TempestManga.kt +++ b/multisrc/overrides/mangathemesia/tempestmanga/src/TempestManga.kt @@ -1,15 +1,15 @@ package eu.kanade.tachiyomi.extension.tr.tempestmanga -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class TempestManga : WPMangaStream( +class TempestManga : MangaThemesia( "Tempest Manga", "https://manga.tempestfansub.com", "tr", - SimpleDateFormat("MMMM dd, yyyy", Locale("tr")) + dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("tr")) ) { override val client: OkHttpClient = network.cloudflareClient.newBuilder() diff --git a/multisrc/overrides/wpmangastream/theapolloteam/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/theapolloteam/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/theapolloteam/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/theapolloteam/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/theapolloteam/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/theapolloteam/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/theapolloteam/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/theapolloteam/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/theapolloteam/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/theapolloteam/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/theapolloteam/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/theapolloteam/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/theapolloteam/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/theapolloteam/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/theapolloteam/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/theapolloteam/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/theapolloteam/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/theapolloteam/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/theapolloteam/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/theapolloteam/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/theapolloteam/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/theapolloteam/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/theapolloteam/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/theapolloteam/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/tsundokutraducoes/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/tsundokutraducoes/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/tsundokutraducoes/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/tsundokutraducoes/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/tsundokutraducoes/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/tsundokutraducoes/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/tsundokutraducoes/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/tsundokutraducoes/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/tsundokutraducoes/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/tsundokutraducoes/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/tsundokutraducoes/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/tsundokutraducoes/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/tsundokutraducoes/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/tsundokutraducoes/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/tsundokutraducoes/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/tsundokutraducoes/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/tsundokutraducoes/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/tsundokutraducoes/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/tsundokutraducoes/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/tsundokutraducoes/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/tsundokutraducoes/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/tsundokutraducoes/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/tsundokutraducoes/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/tsundokutraducoes/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/tsundokutraducoes/src/TsundokuTraducoes.kt b/multisrc/overrides/mangathemesia/tsundokutraducoes/src/TsundokuTraducoes.kt similarity index 81% rename from multisrc/overrides/wpmangareader/tsundokutraducoes/src/TsundokuTraducoes.kt rename to multisrc/overrides/mangathemesia/tsundokutraducoes/src/TsundokuTraducoes.kt index 260486674..01f514367 100644 --- a/multisrc/overrides/wpmangareader/tsundokutraducoes/src/TsundokuTraducoes.kt +++ b/multisrc/overrides/mangathemesia/tsundokutraducoes/src/TsundokuTraducoes.kt @@ -1,13 +1,13 @@ package eu.kanade.tachiyomi.extension.pt.tsundokutraducoes -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.OkHttpClient import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit -class TsundokuTraducoes : WPMangaReader( +class TsundokuTraducoes : MangaThemesia( "Tsundoku Traduções", "https://tsundoku.com.br", "pt-BR", @@ -18,7 +18,7 @@ class TsundokuTraducoes : WPMangaReader( .rateLimit(1, 2, TimeUnit.SECONDS) .build() - override val altName = "Nome alternativo: " + override val altNamePrefix = "Nome alternativo: " override fun searchMangaSelector() = ".utao .uta .imgu, .listupd .bs .bsx:not(:has(span.novelabel)), .listo .bs .bsx:not(:has(span.novelabel))" } diff --git a/multisrc/overrides/wpmangareader/turktoon/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/turktoon/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/turktoon/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/turktoon/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/turktoon/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/turktoon/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/turktoon/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/turktoon/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/turktoon/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/turktoon/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/turktoon/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/turktoon/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/turktoon/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/turktoon/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/turktoon/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/turktoon/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/turktoon/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/turktoon/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/turktoon/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/turktoon/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/turktoon/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/turktoon/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/turktoon/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/turktoon/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/turktoon/src/TurkToon.kt b/multisrc/overrides/mangathemesia/turktoon/src/TurkToon.kt similarity index 69% rename from multisrc/overrides/wpmangareader/turktoon/src/TurkToon.kt rename to multisrc/overrides/mangathemesia/turktoon/src/TurkToon.kt index 7ed32f486..625cee0a7 100644 --- a/multisrc/overrides/wpmangareader/turktoon/src/TurkToon.kt +++ b/multisrc/overrides/mangathemesia/turktoon/src/TurkToon.kt @@ -1,10 +1,10 @@ package eu.kanade.tachiyomi.extension.tr.turktoon -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import java.text.SimpleDateFormat import java.util.Locale -class TurkToon : WPMangaReader( +class TurkToon : MangaThemesia( "TurkToon", "https://turktoon.com", "tr", dateFormat = SimpleDateFormat("MMM d, yyyy", Locale("tr")) ) diff --git a/multisrc/overrides/wpmangastream/westmanga/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/westmanga/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/westmanga/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/westmanga/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/westmanga/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/westmanga/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/westmanga/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/westmanga/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/westmanga/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/westmanga/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/westmanga/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/westmanga/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/westmanga/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/westmanga/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/westmanga/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/westmanga/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/westmanga/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/westmanga/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/westmanga/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/westmanga/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/westmanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/westmanga/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/westmanga/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/westmanga/res/web_hi_res_512.png diff --git a/multisrc/overrides/mangathemesia/westmanga/src/WestManga.kt b/multisrc/overrides/mangathemesia/westmanga/src/WestManga.kt new file mode 100644 index 000000000..2d460ba15 --- /dev/null +++ b/multisrc/overrides/mangathemesia/westmanga/src/WestManga.kt @@ -0,0 +1,22 @@ +package eu.kanade.tachiyomi.extension.id.westmanga + +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import okhttp3.OkHttpClient +import java.util.concurrent.TimeUnit + +class WestManga : MangaThemesia("West Manga", "https://westmanga.info", "id") { + // Formerly "West Manga (WP Manga Stream)" + override val id = 8883916630998758688 + + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .connectTimeout(10, TimeUnit.SECONDS) + .readTimeout(30, TimeUnit.SECONDS) + .rateLimit(4) + .build() + + override val seriesDetailsSelector = ".seriestucontent" + override val seriesTypeSelector = ".infotable tr:contains(Type) td:last-child" + + override val hasProjectPage = true +} diff --git a/multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/whitecloudpavilionnew/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/whitecloudpavilionnew/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/whitecloudpavilionnew/src/WhiteCloudPavilion.kt b/multisrc/overrides/mangathemesia/whitecloudpavilionnew/src/WhiteCloudPavilion.kt similarity index 64% rename from multisrc/overrides/wpmangareader/whitecloudpavilionnew/src/WhiteCloudPavilion.kt rename to multisrc/overrides/mangathemesia/whitecloudpavilionnew/src/WhiteCloudPavilion.kt index 26694c638..47b868ace 100644 --- a/multisrc/overrides/wpmangareader/whitecloudpavilionnew/src/WhiteCloudPavilion.kt +++ b/multisrc/overrides/mangathemesia/whitecloudpavilionnew/src/WhiteCloudPavilion.kt @@ -1,8 +1,8 @@ package eu.kanade.tachiyomi.extension.en.whitecloudpavilionnew -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia -class WhiteCloudPavilion : WPMangaReader( +class WhiteCloudPavilion : MangaThemesia( "White Cloud Pavilion (New)", "https://www.whitecloudpavilion.com", lang = "en", diff --git a/multisrc/overrides/wpmangareader/worldromancetranslation/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/worldromancetranslation/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/worldromancetranslation/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/worldromancetranslation/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/worldromancetranslation/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/worldromancetranslation/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/worldromancetranslation/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/worldromancetranslation/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/worldromancetranslation/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/worldromancetranslation/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/worldromancetranslation/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/worldromancetranslation/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/worldromancetranslation/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/worldromancetranslation/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/worldromancetranslation/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/worldromancetranslation/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/worldromancetranslation/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/worldromancetranslation/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangareader/worldromancetranslation/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/worldromancetranslation/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangareader/worldromancetranslation/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/worldromancetranslation/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangareader/worldromancetranslation/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/worldromancetranslation/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangareader/worldromancetranslation/src/WorldRomanceTranslation.kt b/multisrc/overrides/mangathemesia/worldromancetranslation/src/WorldRomanceTranslation.kt similarity index 90% rename from multisrc/overrides/wpmangareader/worldromancetranslation/src/WorldRomanceTranslation.kt rename to multisrc/overrides/mangathemesia/worldromancetranslation/src/WorldRomanceTranslation.kt index c01075e42..8bfdd991d 100644 --- a/multisrc/overrides/wpmangareader/worldromancetranslation/src/WorldRomanceTranslation.kt +++ b/multisrc/overrides/mangathemesia/worldromancetranslation/src/WorldRomanceTranslation.kt @@ -1,13 +1,13 @@ package eu.kanade.tachiyomi.extension.id.worldromancetranslation -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.source.model.SManga import okhttp3.Headers import org.jsoup.nodes.Document import java.text.SimpleDateFormat import java.util.Locale -class WorldRomanceTranslation : WPMangaReader( +class WorldRomanceTranslation : MangaThemesia( "World Romance Translation", "https://wrt.my.id", "id", diff --git a/multisrc/overrides/wpmangastream/xcalibrscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/xcalibrscans/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/xcalibrscans/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/xcalibrscans/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/xcalibrscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/xcalibrscans/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/xcalibrscans/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/xcalibrscans/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/xcalibrscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/xcalibrscans/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/xcalibrscans/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/xcalibrscans/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/xcalibrscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/xcalibrscans/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/xcalibrscans/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/xcalibrscans/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/xcalibrscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/xcalibrscans/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/wpmangastream/xcalibrscans/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangathemesia/xcalibrscans/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/wpmangastream/xcalibrscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/xcalibrscans/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/wpmangastream/xcalibrscans/res/web_hi_res_512.png rename to multisrc/overrides/mangathemesia/xcalibrscans/res/web_hi_res_512.png diff --git a/multisrc/overrides/wpmangastream/xcalibrscans/src/interceptor/MirrorImageInterceptor.kt b/multisrc/overrides/mangathemesia/xcalibrscans/src/interceptor/MirrorImageInterceptor.kt similarity index 100% rename from multisrc/overrides/wpmangastream/xcalibrscans/src/interceptor/MirrorImageInterceptor.kt rename to multisrc/overrides/mangathemesia/xcalibrscans/src/interceptor/MirrorImageInterceptor.kt diff --git a/multisrc/overrides/wpmangastream/xcalibrscans/src/interceptor/SplittedImageInterceptor.kt b/multisrc/overrides/mangathemesia/xcalibrscans/src/interceptor/SplittedImageInterceptor.kt similarity index 100% rename from multisrc/overrides/wpmangastream/xcalibrscans/src/interceptor/SplittedImageInterceptor.kt rename to multisrc/overrides/mangathemesia/xcalibrscans/src/interceptor/SplittedImageInterceptor.kt diff --git a/multisrc/overrides/wpmangastream/xcalibrscans/src/xCaliBRScans.kt b/multisrc/overrides/mangathemesia/xcalibrscans/src/xCaliBRScans.kt similarity index 78% rename from multisrc/overrides/wpmangastream/xcalibrscans/src/xCaliBRScans.kt rename to multisrc/overrides/mangathemesia/xcalibrscans/src/xCaliBRScans.kt index 0552ae929..3e9e2f508 100644 --- a/multisrc/overrides/wpmangastream/xcalibrscans/src/xCaliBRScans.kt +++ b/multisrc/overrides/mangathemesia/xcalibrscans/src/xCaliBRScans.kt @@ -4,20 +4,17 @@ import eu.kanade.tachiyomi.extension.en.xcalibrscans.interceptor.MirrorImageInte import eu.kanade.tachiyomi.extension.en.xcalibrscans.interceptor.SplittedImageInterceptor import eu.kanade.tachiyomi.extension.en.xcalibrscans.interceptor.prepareMirrorImageForInterceptor import eu.kanade.tachiyomi.extension.en.xcalibrscans.interceptor.prepareSplittedImageForInterceptor -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream +import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.model.Page -import kotlinx.serialization.json.Json import kotlinx.serialization.json.jsonArray import kotlinx.serialization.json.jsonPrimitive -import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient import org.jsoup.nodes.Document -import uy.kohesive.injekt.injectLazy +import java.lang.IllegalArgumentException import java.util.concurrent.TimeUnit -class xCaliBRScans : WPMangaStream("xCaliBR Scans", "https://xcalibrscans.com", "en") { - private val json: Json by injectLazy() +class xCaliBRScans : MangaThemesia("xCaliBR Scans", "https://xcalibrscans.com", "en") { override val client: OkHttpClient = network.cloudflareClient.newBuilder() .connectTimeout(10, TimeUnit.SECONDS) @@ -69,24 +66,22 @@ class xCaliBRScans : WPMangaStream("xCaliBR Scans", "https://xcalibrscans.com", } } - val docString = document.toString() - val imageListRegex = Regex("\\\"images.*?:.*?(\\[.*?\\])") - val imageListJson = imageListRegex.find(docString)!!.destructured.toList()[0] - - val imageList = json.parseToJsonElement(imageListJson).jsonArray - val baseResolver = baseUrl.toHttpUrl() - - val scriptPages = imageList.mapIndexed { i, jsonEl -> - val imageUrl = jsonEl.jsonPrimitive.content - Page(i, "", baseResolver.resolve(imageUrl).toString()) - } - - if (htmlPages.size < scriptPages.size) { - htmlPages += scriptPages - } - countViews(document) - return htmlPages.distinctBy { it.imageUrl } + // Some sites also loads pages via javascript + if (htmlPages.isNotEmpty()) { return htmlPages } + + val docString = document.toString() + val imageListJson = JSON_IMAGE_LIST_REGEX.find(docString)?.destructured?.toList()?.get(0).orEmpty() + val imageList = try { + json.parseToJsonElement(imageListJson).jsonArray + } catch (_: IllegalArgumentException) { + emptyList() + } + val scriptPages = imageList.mapIndexed { i, jsonEl -> + Page(i, "", jsonEl.jsonPrimitive.content) + } + + return scriptPages } } diff --git a/multisrc/overrides/wpmangareader/acescans/src/AceScans.kt b/multisrc/overrides/wpmangareader/acescans/src/AceScans.kt deleted file mode 100644 index 5c1b0e47b..000000000 --- a/multisrc/overrides/wpmangareader/acescans/src/AceScans.kt +++ /dev/null @@ -1,22 +0,0 @@ -package eu.kanade.tachiyomi.extension.en.acescans - -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader -import eu.kanade.tachiyomi.source.model.Page -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element - -class AceScans : WPMangaReader("Ace Scans", "https://acescans.xyz", "en") { - override fun searchMangaFromElement(element: Element) = - super.searchMangaFromElement(element).apply { - thumbnail_url = element.select("img").attr("abs:data-src") - } - - override fun mangaDetailsParse(document: Document) = super.mangaDetailsParse(document).apply { - thumbnail_url = document.select(seriesThumbnailSelector).attr("abs:data-src") - } - - override fun pageListParse(document: Document): List = - document.select(pageSelector).filterNot { - it.attr("abs:data-src").isNullOrEmpty() - }.mapIndexed { i, img -> Page(i, "", img.attr("abs:data-src")) } -} diff --git a/multisrc/overrides/wpmangareader/default/AndroidManifest.xml b/multisrc/overrides/wpmangareader/default/AndroidManifest.xml deleted file mode 100644 index 490d1a53d..000000000 --- a/multisrc/overrides/wpmangareader/default/AndroidManifest.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/multisrc/overrides/wpmangareader/kiryuu/src/Kiryuu.kt b/multisrc/overrides/wpmangareader/kiryuu/src/Kiryuu.kt deleted file mode 100644 index 0e0d784fc..000000000 --- a/multisrc/overrides/wpmangareader/kiryuu/src/Kiryuu.kt +++ /dev/null @@ -1,59 +0,0 @@ -package eu.kanade.tachiyomi.extension.id.kiryuu - -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader -import eu.kanade.tachiyomi.network.interceptor.rateLimit -import eu.kanade.tachiyomi.source.model.SManga -import okhttp3.OkHttpClient -import org.jsoup.nodes.Document -import java.text.SimpleDateFormat -import java.util.Locale -import java.util.concurrent.TimeUnit - -class Kiryuu : WPMangaReader("Kiryuu", "https://kiryuu.id", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id"))) { - // Formerly "Kiryuu (WP Manga Stream)" - override val id = 3639673976007021338 - - override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .connectTimeout(10, TimeUnit.SECONDS) - .readTimeout(30, TimeUnit.SECONDS) - .rateLimit(4) - .build() - - // manga details - override fun mangaDetailsParse(document: Document) = SManga.create().apply { - author = document.select(".listinfo li:contains(Author), .tsinfo .imptdt:nth-child(4) i, .infotable tr:contains(author) td:last-child") - .firstOrNull()?.ownText() - - artist = document.select(".infotable tr:contains(artist) td:last-child, .tsinfo .imptdt:contains(artist) i") - .firstOrNull()?.ownText() - - genre = document.select("div.gnr a, .mgen a, .seriestugenre a").joinToString { it.text() } - status = parseStatus( - document.select("div.listinfo li:contains(Status), .tsinfo .imptdt:contains(status), .tsinfo .imptdt:contains(الحالة), .infotable tr:contains(status) td") - .text() - ) - - title = document.selectFirst(".thumb img").attr("title") - thumbnail_url = document.select(".thumb img").attr("src") - description = document.select(".desc, .entry-content[itemprop=description]").joinToString("\n") { it.text() } - - // add series type(manga/manhwa/manhua/other) thinggy to genre - document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not() && genre!!.contains(it, true).not()) { - genre += if (genre!!.isEmpty()) it else ", $it" - } - } - - // add alternative name to manga description - document.select(altNameSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not()) { - description += when { - description!!.isEmpty() -> altName + it - else -> "\n\n$altName" + it - } - } - } - } - - override val hasProjectPage = true -} diff --git a/multisrc/overrides/wpmangareader/komiklab/src/KomikLab.kt b/multisrc/overrides/wpmangareader/komiklab/src/KomikLab.kt deleted file mode 100644 index 7e4f523e1..000000000 --- a/multisrc/overrides/wpmangareader/komiklab/src/KomikLab.kt +++ /dev/null @@ -1,51 +0,0 @@ -package eu.kanade.tachiyomi.extension.id.komiklab - -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader -import eu.kanade.tachiyomi.source.model.SManga -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element - -class KomikLab : WPMangaReader("Komik Lab", "https://komiklab.com", "id") { - override val hasProjectPage = true - - override fun mangaDetailsParse(document: Document) = SManga.create().apply { - author = document.select(".listinfo li:contains(Author), .tsinfo .imptdt:nth-child(4) i, .infotable tr:contains(author) td:last-child") - .firstOrNull()?.ownText() - - artist = document.select(".infotable tr:contains(artist) td:last-child, .tsinfo .imptdt:contains(artist) i") - .firstOrNull()?.ownText() - - genre = document.select("div.gnr a, .mgen a, .seriestugenre a").joinToString { it.text() } - status = parseStatus( - document.select("div.listinfo li:contains(Status), .tsinfo .imptdt:contains(status), .tsinfo .imptdt:contains(الحالة), .infotable tr:contains(status) td") - .text() - ) - - title = document.selectFirst("h1.entry-title").text() - thumbnail_url = document.select(".infomanga > div[itemprop=image] img, .thumb img").attr("abs:data-src") - description = document.select(".desc, .entry-content[itemprop=description]").joinToString("\n") { it.text() } - - // add series type(manga/manhwa/manhua/other) thinggy to genre - document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not() && genre!!.contains(it, true).not()) { - genre += if (genre!!.isEmpty()) it else ", $it" - } - } - - // add alternative name to manga description - document.select(altNameSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not()) { - description += when { - description!!.isEmpty() -> altName + it - else -> "\n\n$altName" + it - } - } - } - } - - override fun searchMangaFromElement(element: Element) = SManga.create().apply { - thumbnail_url = element.select("img").attr("abs:data-src") - title = element.select("a").attr("title") - setUrlWithoutDomain(element.select("a").attr("href")) - } -} diff --git a/multisrc/overrides/wpmangareader/mangakita/src/MangaKita.kt b/multisrc/overrides/wpmangareader/mangakita/src/MangaKita.kt deleted file mode 100644 index 3224b3921..000000000 --- a/multisrc/overrides/wpmangareader/mangakita/src/MangaKita.kt +++ /dev/null @@ -1,7 +0,0 @@ -package eu.kanade.tachiyomi.extension.id.mangakita - -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader - -class MangaKita : WPMangaReader("MangaKita", "https://mangakita.net", "id") { - override val hasProjectPage = true -} diff --git a/multisrc/overrides/wpmangareader/mangasusu/src/Mangasusu.kt b/multisrc/overrides/wpmangareader/mangasusu/src/Mangasusu.kt deleted file mode 100644 index c143658b8..000000000 --- a/multisrc/overrides/wpmangareader/mangasusu/src/Mangasusu.kt +++ /dev/null @@ -1,5 +0,0 @@ -package eu.kanade.tachiyomi.extension.id.mangasusu - -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader - -class Mangasusu : WPMangaReader("Mangasusu", "https://mangasusu.co.in", "id", "/komik") diff --git a/multisrc/overrides/wpmangareader/manhwaindo/src/ManhwaIndo.kt b/multisrc/overrides/wpmangareader/manhwaindo/src/ManhwaIndo.kt deleted file mode 100644 index 17420cdb2..000000000 --- a/multisrc/overrides/wpmangareader/manhwaindo/src/ManhwaIndo.kt +++ /dev/null @@ -1,46 +0,0 @@ -package eu.kanade.tachiyomi.extension.id.manhwaindo - -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader -import eu.kanade.tachiyomi.source.model.SManga -import okhttp3.Headers -import org.jsoup.nodes.Document -import java.text.SimpleDateFormat -import java.util.Locale - -class ManhwaIndo : WPMangaReader( - "Manhwa Indo", "https://manhwaindo.id", "id", "/series", - SimpleDateFormat("MMMM dd, yyyy", Locale("id")) -) { - - override fun headersBuilder(): Headers.Builder = Headers.Builder() - .add("Referer", baseUrl) - - // manga details - override fun mangaDetailsParse(document: Document) = SManga.create().apply { - author = document.select(seriesAuthorSelector).firstOrNull()?.ownText() - artist = document.select(seriesArtistSelector).firstOrNull()?.ownText() - genre = document.select(seriesGenreSelector).joinToString { it.text() } - status = parseStatus(document.select(seriesStatusSelector).text()) - thumbnail_url = document.select(seriesThumbnailSelector).attr("abs:src") - description = document.select(seriesDescriptionSelector).joinToString("\n") { it.text() } - - // add series type(manga/manhwa/manhua/other) thinggy to genre - document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not() && genre!!.contains(it, true).not()) { - genre += if (genre!!.isEmpty()) it else ", $it" - } - } - - // add alternative name to manga description - document.select(altNameSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not()) { - description += when { - description!!.isEmpty() -> altName + it - else -> "\n\n$altName" + it - } - } - } - } - - override val hasProjectPage = true -} diff --git a/multisrc/overrides/wpmangareader/patatescans/src/Patatescans.kt b/multisrc/overrides/wpmangareader/patatescans/src/Patatescans.kt deleted file mode 100644 index fb87a7d7b..000000000 --- a/multisrc/overrides/wpmangareader/patatescans/src/Patatescans.kt +++ /dev/null @@ -1,5 +0,0 @@ -package eu.kanade.tachiyomi.extension.fr.patatescans - -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader - -class Patatescans : WPMangaReader("Patatescans", "https://patatescans.com", "fr") diff --git a/multisrc/overrides/wpmangastream/asurascans/src/AsuraScansFactory.kt b/multisrc/overrides/wpmangastream/asurascans/src/AsuraScansFactory.kt deleted file mode 100644 index fd2edd353..000000000 --- a/multisrc/overrides/wpmangastream/asurascans/src/AsuraScansFactory.kt +++ /dev/null @@ -1,83 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.asurascans - -import eu.kanade.tachiyomi.source.SourceFactory -import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SManga -import org.jsoup.nodes.Document -import java.text.SimpleDateFormat -import java.util.Locale - -class AsuraScansFactory : SourceFactory { - override fun createSources() = listOf( - AsuraScansEn(), - AsuraScansTr() - ) -} - -class AsuraScansEn : AsuraScans("https://www.asurascans.com", "en", SimpleDateFormat("MMM d, yyyy", Locale.US)) { - - override val mangaDetailsSelectorDescription = "div.desc p, div.entry-content p, div[itemprop=description]:not(:has(p))" - - override val pageSelector = "div.rdminimal > img, div.rdminimal > p > img, div.rdminimal > a > img, div.rdminimal > p > a > img" - - // Skip scriptPages - override fun pageListParse(document: Document): List { - return document.select(pageSelector) - .filterNot { it.attr("src").isNullOrEmpty() } - .mapIndexed { i, img -> Page(i, "", img.attr("src")) } - } -} - -class AsuraScansTr : AsuraScans("https://tr.asurascans.com", "tr", SimpleDateFormat("MMM d, yyyy", Locale("tr"))) { - override fun mangaDetailsParse(document: Document): SManga { - return SManga.create().apply { - document.select("div.bigcontent").firstOrNull()?.let { infoElement -> - status = parseStatus(infoElement.select(".imptdt:contains(Durum) i").firstOrNull()?.ownText()) - infoElement.select(".fmed b:contains(Yazar)+span").firstOrNull()?.ownText().let { - if (it.isNullOrBlank().not() && it != "N/A" && it != "-") { - author = it - } - } - infoElement.select(".fmed b:contains(Çizer)+span").firstOrNull()?.ownText().let { - if (it.isNullOrBlank().not() && it != "N/A" && it != "-") { - artist = it - } - } - description = infoElement.select("div.desc p, div.entry-content p").joinToString("\n") { it.text() } - thumbnail_url = infoElement.select("div.thumb img").imgAttr() - - val genres = infoElement.select(".mgen a") - .map { element -> element.text().lowercase(Locale.ROOT) } - .toMutableSet() - - // add series type(manga/manhwa/manhua/other) thinggy to genre - document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not() && genres.contains(it).not()) { - genres.add(it.lowercase(Locale.ROOT)) - } - } - - genre = genres.toList().map { it.capitalize(Locale.ROOT) }.joinToString(", ") - - // add alternative name to manga description - document.select(altNameSelector).firstOrNull()?.ownText()?.let { - if (it.isBlank().not() && it != "N/A" && it != "-") { - description = when { - description.isNullOrBlank() -> altName + it - else -> description + "\n\n$altName" + it - } - } - } - } - } - } - override val seriesTypeSelector = ".imptdt:contains(Tür) a" - override val altName: String = "Alternatif isim: " - - override fun parseStatus(element: String?): Int = when { - element == null -> SManga.UNKNOWN - listOf("Devam Ediyor").any { it.contains(element, ignoreCase = true) } -> SManga.ONGOING - listOf("Tamamlandı").any { it.contains(element, ignoreCase = true) } -> SManga.COMPLETED - else -> SManga.UNKNOWN - } -} diff --git a/multisrc/overrides/wpmangastream/batotoscans/src/BatotoScans.kt b/multisrc/overrides/wpmangastream/batotoscans/src/BatotoScans.kt deleted file mode 100644 index 66f68c265..000000000 --- a/multisrc/overrides/wpmangastream/batotoscans/src/BatotoScans.kt +++ /dev/null @@ -1,7 +0,0 @@ -package eu.kanade.tachiyomi.extension.en.batotoscans - -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream - -class BatotoScans : WPMangaStream("Snudae Scans", "https://snudaescans.com", "en") { - override val id = 4418350353197826372L -} diff --git a/multisrc/overrides/wpmangastream/default/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/wpmangastream/default/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index fa71abc5dd505c10a640b3121841bfe95714f4ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 859 zcmV-h1El@Q6B84SjEz4( zKmPsx0002)?e5{=-~s{y#>U1jE-p||P@bNiczAedXlSvpu?6Ty2><{940KXXQveuU z!zi5o4vm7#H`!*Ud;kCfp-DtRRCr$P*I92GF%$*h3`tFad%exR!2kc5)%6k^yOuG1 z=u6H>L_FlvnFHe}AC#Z`5+|hJL@c3#5%i29*mT@-j5%P+q9Mbpa|ZL}`XXpZLyr z(aE8-Pi3JhloukZ6>?qZRkLg$f{5m*O97UbpDWTQ(uR; zUB@@-`{^z*o*Lyb_68EQMm%oR_oE^yIQ!T;C^$m~xpjP0PkF4N(7KSl%Nj&A0!57| z%jP7$P2?P@lS9sk8;v~;Wue2o**G~Bh^NrBEmTS|M7EoHD*&J`REA^))W zj^3UMz1D~$Q|6AsJoibpL1-c5cS7t|0JM|}P8C8#?jYoLsE0-Xko1L&`xKzSpld{- zfp!Ma3L#y{0|atc+&Ji=xeB3+-^fZF!R8qnN{|84M&1aGEK`OI6G9Lska&WIBIJ(w z0C~n~!jA2oBE+*s4v@-@EkpzjWymK$)>(J@_{o8PfzW>;LBx%Q257vK^Zkfy5J5u& zG;IhVkMPjmxr2gJhX6JWfb0HzjI=>O)0h|S4mJRHuxWxUQ-{DuZlk#)T3Nth-t;d* z5Jf6-mJNjoZf>n{Q{E;a4@jYld0aLR6VLB#H_-O;DX_hvw92 zhX_fSMhKkJ=*%f};&Yy%9yle?*R@@tT)zm4(%r6Hv@!y(xAed4b9cM^YR=`>QK3ZY lzM9kJ4pDF9P)t-sM{rC4 z000320UjP61qB5g8yf%s00II60000D4GsSN{t*!o0RaID3JL}W23J;BK|w)lYHP&A z#Pjm=l#`U@`F2000SeQchC$#g;7pa!Ha6A;&#!Mvu6@&p=i zn+-%I3gGes$qTfvG(SugNCe!=D-+;mgE`kF^JD<0`{}0v z*yxzR{RX&Pw}5Wjpi6Z#T>)d`K1eebaBe#D{N|iM7Q^|=%E0|1?415=z5z-wNNz6c Rl%W6s002ovPDHLkV1kBk(#`+? diff --git a/multisrc/overrides/wpmangastream/default/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/wpmangastream/default/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index c994c12ccdea7889e06fd25757e7e73c2c334e0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1114 zcmV-g1f~0lP)K|s;o<=S0RaI40RaI3003rD!B7AI03LKwPE!B`4Sv}F z|0Vzb|NsC08~@q=|NsC0|NsC0kucvly%(oU000A#Nkl%>PK1fV)BG>tf-QouOS0AR>W$9?0|jGdnHr$Ja|gF583xl=GGr0_T?k zj0psIgoQwo@cLCS5FB6#IE!-@17yJgFo6jLn9Lu+3+NY)fWiSeL3jWVAJFRqgg3M) z;0<8n1JWNH0KorRKt~M_4(L4tgaZLT28a)6;n%AJAb^b96<}*o&adBJQCY|Vf&nf4 zrmCAKCt#YoLO}T2wSboXA<%V2x^@C-(RCI4F9d`ge$9cdSA*U^flJ>-1dPE1%vX7{ z%R>3pAwX_x0D4Tog~mHz+teKb{s6&%0hoX(QY%RD50%;;fF2VdQ1{Bt7}n3!g!$%*6j1?d$AGpby^9elX@IAx+#vyLG(I!2{_%K+Xd(RD z0+zjFz*xrMAg1-(bQr4gum80GZhH_IF-<-H>?aiy80fev_XDtp1F#F81e_OWp9e-e zCXfNC2M&R`KM+`*V5U#?@#4F;`T8EP>hj3q#ILwd#TZq+0?ccs!7BBXr+ay(1v?a{c5GFh~wmLL3f|M6Q1V zOWPVCiCn*Sb1b@>0<=UW)(>*VVRP{TtY7*$fP*+9&?~72xAhhAfkJzF6w>N|3H zv@IV*g=)pGva)h7XXgT=(Nlpua?C&>L z5C5MW03^xv@B5cx_3rok?>Y@2M@X{k&tEh@*DMhOh(dOaCX;?q;KUJNKg$h{+`jGn g=``^1=FOq}2M=jvA&`%_SO5S307*qoM6N<$f0P)ZS-T>kz3fq;SY^78=!0RsaA000010RaF200000sPVIV0000WbW%=J z00RgUQ>wxL|NsC0|NsC0|K=b6|NsC0|NrA=F2Hj;>pBO(000LKNklX&LJZu$W z59P(ZA*75b3~uglE>2r)F+73oF^UwIz}TAeXRAnWxH zCWCnCs)cIx?9}+hH)$a5Q5V9}bqm#Y1Txkx*PPh8)9j930JsRxFQzV( zrG>D5D~M}k5L~~|10bY)X%_vj$gfOUsN`}bNVzZ!K6o<|B-d3Kiq>o}gHvTp?EP=_ ze-%wGaugnI#eLsA_NgO@so&FI6=g$LfCyxC=KCE4LkghTf`yOR_`U%>fKil;^mHpW zZYUN-Izxr$Y)Ihg8bZZXhOqoFq)xqDf98YS(&Iovv1B00klfSPfe1t<5^)9$MTMc6 zzREmK6g1#Rn6jG3fT4;rRIkF~`an8ED3={+pi739VW2`H>LH#p6i1O7$oYa2_{STVcdL7@G5z2q-8F5sqB10`yFIe(8Z95yn}chv#=d4tfAoa%@JJ z`4T^E&zfX)s@)IP-0AF&Z2*Nd+}*6c^)qUa$?3}6UfG35Gr0ePEK z(=DFbng2!%#NsF0^`ivx0P-`Nr`hJ?S+h=o5~H_!GB*Nw*8sV>Ez!QWO%+H_h_oi% z0)+D+fc}rO4Ml6K`k^&|fW!vU8{$9|hh2;J6D86X0w6(<))0jOk)vrlPD^)q@zmX3 z#8Cm^v|52?|C4!I+2&?mH$#(d1|mfqsDv7+*}O)99tt30p*RUB1Xmkr%O00`0D(sh zgjf2i2te53y`8qQ`uLX~W=LA2H9)=^5_+f*IJ+LlZrN*x1cY1#Dkyjs4=oUm^xm5t zJcJ_{T6BgyFIEkJ0)Qwp+PSlxS>S>RNZ*6h=xAk)GyqS z%rgR1X}BN?Hzd+0-X$5F^5+y?8&4vJ!Rug3$0*cdm+zS-T*I0p$jCK}ZeeHhSZ79-E7oa2MAnQRwPPYKz zN{T0q@`+1X58|io`#=#7P}PvM8ZOX-D>JP~1Z2N#2rEq}uTW|Cap~0y2Sm3gJrLJJ zfgu9gvKykI1e=o{DAupIsY8)rejq)K4(LL${vHTprEh0F5Gtjo(Eu&HQu<=4c6%^&^HAr%cJ4rfVHgPG z_?Dxnts#KqE`9&ET)qRS-EAaMH_O-CO%11q0{}pc z;qJU+Nd^A|f?DEzP|@Zk3GnswcX5mLTuLDbvbMIiu&{7-b*0g0mX?-gW@bbpQC(df zhr_9;sGv|N5CoT;OF*O1OUz_4Ic!dCO|3$%xOwwt*N3jjiAflS|6jFvaw%xZv@&jo z_pboXI`M^4c|rLvv>J{6&Cc$+wpYIU4FKQ@8P1OW3E)H*)p zO?ac|^dx6x{tpdYeXDNvX-1#F`GqZ)crCZCHXz-jv~iY@qco2ZImYc~IH4UA^v5cIjW8Y>cTJ#;!Z%UoU=p?Q8i=RJpwIM~R{gSXX{d$_yCF1)* zYazLMhWqNA3nNa#f+A13-{nlO-?63n0IBv0$94B@2m2}>kV5!)BRm?)rItL~mMn)r z7)W!noYBq$y2#khM=-H&sIp(y10(Tli1X0uGQKsn<@soD$rf3Is$ z1r?+SB2p;G0H(bp?8xHKBGAtkF`N0N^xJ(7ewx;rs`Uk&)nr~2z2IcoqoSZ8_W?IS z1`qI{ALRoDbKi`3t#AS;QO#%=!-!XLejX=elE4(qPfcEjmDge{JvmP>;ZxF$N>kBI zRAsvl>_L0>=|))#C^^9*=YFgX(G()~W33Y?u1`*OzR*hTbP4qXwaL(?qB#6}gA@!1 z;^~PT_A8YqEIi;-G6-~`l)mr;rrl7g^Z*XF^bIW>O7|KdbJvhQ+kkDTDp5l*k%y*F zm0En=Is5XJ)_&Y~ejD>FaD}ea<$RPSQ4YL&5tc(2c~C0!2aXcQ^Y~({Vk(Ln5LE8=xMAp6v2|Hss547ZGFos50XB0)^g*3!kyEznV5?s#l`( zh15-9c86PzXlzV9@25Pwh7>LkUx5UOW3Y2suTpq^z_q80-K4E|-+n#aCp}=2-8o6t zWMkqIDWz&%73dPeZruI|C5zO@)l>hPlv^iHUCwdk^*U_f9|<HF6ZnsMpk4VF%w%|e9%K8<7Nw%u8{-6&a0mue63XTXRIYuhCiLZCSO|Z z9h$ERt%#xJ?b=i64zC-zXz!JDuWNsEp)j2i(O}3uN#T!>vpHMw({sQSn@&HA%#S?3 z6~+jO+z0u~o7c?RgJ()y1=d|T+tZucHnwZUP6LO_cSB*wA)4~w3GciAG1cr`Jw38D z!x_frXMRNRZXXnD__eqQ0#gs@v-SP-(j3lz$;g^~rkLq|0(@4*K*RBu@u8ZpSx*Po zmD(pC0<*y)Bw{QVz~#&)8%^w#odl*x?*}(!m|UDNM#_vY%za>aLO5^4%mhrq4Ni$D zC4^4o#5^BepqZ%^YeS&GU_t}=p2;9u2T0H;_)v;}df*N*Bb_u_tIj|FIHlz}JIP`s%L%GS#nh9DHp89m<_j>e|w~ zYDZm8jdmR}Tn|z=8H0zRV~O;Q(WmIu($DFW^_mL@iB;1uFUu4j{2fej^<9npO9}|HGEf4@kZxf2wWHa^rKP@9FFfv1vXSZChV81cbL$Dg5u^DNvs}ZEhG2zqCBL-w zlTgOjjk@C!YN$Fem1@Gk22$%Xe6r+a$0r`S2o96gQfOX$-|g#CHU}MFc+C}6m8QcJ zQW{Yp9%aryc*CZ}#t%972bc(Sg-N)v7v$l&S%&3VTn(5bSlZ71_5Tv~PKp`ZoDlwUF eABN|{TVE!)+oGcmi=;-*IKsH%F>;&NZ&#=n+9 zdIkpWBjqtOACCLjd?_>GXQ6lul}d%EOGk6nmg%WluYFR>&9CF!z*1_gGJb0t7*oFafGSMc z(MJb5MfIpGwL9>{$-?S~KJCw~unS1lEP+|v%kCTuZ+z@eO~ZwzN$6pp#~A{x?eiSf z1zcdr8O#KmyCz>)&^@}RM%sPat+pvl0fGxj915>|$N3m{fm+;ouQMAT&yDgs?o-M{_^y`wBd3`dh?S> z4djcCl4>9jZ|lzMP#JIGib(CV9-qege& zHRca~1;>i*3u=@kC(!0O)+~9R=5wvcB+gDKc_NlA6XfZvI|naJjgEg4gI+`|Ni})y znPQ%m8~J8El>BX`qp2TdK@@0SDwZeD*_HZwliUs{Cq`wWew58`)6qk_n{Kf5D?5%# zV`%%+dVEz;et+M`Hms<=Dl2|cz*u(6QaAMi(rT=dV9_41K#dQ)Kyh6SOTN4v z#hL-i2T;?KGg5Ai_c%((FHgc)p#h-dquKp=7 zxy)U>(xZ~6*!nV4f))R+MN3u2m*M+k)~=2%*h5wWGilHNe4ycC*U|$L=e=#dm`7eu zs_$3f+wdIw)JK{_^v5N2Z-o>_AM#`Pid8f@zpxn`C=R7ESBkgZ#j-{m)c{-K@Ud^* zkiAe*Aqr4PO7V_qx&0dl%(I56b<@|C)7`5g>ebW~w#*x6G-Ru%yD3*BiLm5+K4O#r vx{8tJ3|UB$eVU!bU}!)acErPup$*zvr+*TAKe^cd^Z7DdyqzC9g{J)%mDxLn diff --git a/multisrc/overrides/wpmangastream/default/res/web_hi_res_512.png b/multisrc/overrides/wpmangastream/default/res/web_hi_res_512.png deleted file mode 100644 index 047e5438b41809658596516c66f734617640256c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10941 zcmaKSc{r8N`~S>yp0inxBl~t7Ya6GuAe_fiiNd?Am7FM1DwXWZV+pNJRFrTkMY~F+ z6py8-6q2QcgR(@3ELo1P&%eJvet*n0bKP^#T(6nyo|)Hu-*eK*VWXs&vKRnBa+9si zRsfKNCIV2>LPc?X_imw5blU8^URG9CTwI(?CNBsawm5vQ|IAO}i{?ao(X(s-mhd*& zSUQKon#|5ecTFV{UK=ecxJ5d;F4P|v-3>PqX7w3AwhGXbRWn!{v)96P>DSy^$~F7* z=OcVP54ZgpZckptpCoqdjIBb=Pk3TD63#>^Kqs2LYe3X};$W(@)AeVJzZpJeE-=&rJB&4ok4&{WVx^R2jVhcj(q-OV z?9^&ujq)Yjo%AePvM3}Z{=*E7KV5c$DW9x2%J8PC8st!GSY^faeY+z~(1@)XzDK=}8qJxENlye7>@Gj`EprJb9+8o}~7 zqOTd(n(GbLzpG-f$Yy!xgqo!Lm)XUaq_{-YN=5MfuM6cu43AuT9Y!ph|IoM^W9LG) zpp%pvU$v#b;X{YVsn*SsPQFLBO{oJZ7@!0TD;@h|JV^JzGEW!aO45!$C9xe@CB;kR zE|P~iUw~fo&1RavzPt&XFJIVP0BWkV%nourAA+a%5;Zu_*#`!zaOUsitSDe-@Sb_tc~uVjrpfsWfhuLG?KCga*{x1*GMM*HyyB^N|E`A zz;_J=QHOVshF)m@U7^y_Oa{BUwpXrhs3`b-q+Z_wM81TS3~yiT>58(^o@kuG@>khy z7{f8jNTjwR&;Ow{5_cpni1DX(lBF7}eB6GdN<}8%l&*+jNGBA#K1+pLcdnG|(a=jC za0pa}4tifMMjwnnfuzoeIW;(~BpuQD8%5Y4i;54;LE`1LW2#-Qu?>q(fr7>GE0xEF zr_-X`w0Jt$dXPuM{j-`}TBTB+DxvjoL-J<3APsJv<$EB?;AKWMNHV zZPt)U{X^H-!W0BQg(ukLfZy~3hXqOZo=eNJrqjbfGTs+S+vHNlDY0L; zPnM@B?XGhE!ekllDZdbV=3WG&6~KAV2Hbceq#clO(`%QczexYEC7VmuZ4T6h$DH}n zbSD|stUtb8Q;U3NHOpeDg#$6Qq%J!>UD9t0>D0W|#mJ@JNTJ~>Tf*W&?3a`)xJ@3- zZ%6)n^+y!_x##q$$!C;79~WF&rB37|;SsDK2tNb+7$;IVJwxVt2VkiPU1L8}7snL( zmJcXLF6X$B3XO^;d04U7B5*{G<$``Sh%?zJTV|rnc>wCv67k1t+XvD7uI3@iGZ$rH zmK5i96ulgRjZb}D*hb&|gfW?o zmD(9)Z0}}`Oes{k(MCSZi`ub8RWaMqKOHP0TJQEHh9rG93R$!WZcqCrrh)`*Uedjh z=B_JD;ri6a&j%_B%KWTR?GvSrVEiU+vz-1%{`?Dx+ru07l19XpIqggp4VG-3w&1Vj z`>fJjXg|CZvj#!t!xHJ=l_FREJBYl^G5hb}S^bb0w!~6VfFnr)?l70lb|gm9*>@1O zz(o2CH{*iLA{bSST*4z5H`)q*bm$NvaZ08tWi_G745q+=B?d=2-LP+Zl1`#MPNXvm z?+^L0e@w)=1(P4haH?pmvJ&xFNw}cD{(gm)w_-gsXQ$#ZERS(qDHL?4w_}W|cqju)Hf(CLj9;2ZH!u#0RtgMTq z;A6)SO<*py5)H^{#x4IYM!u-0X$uuCKUQvD9GZmZddH}}>;Ky!GnG&I&V2?rrOTkL%?Gm6%cQ0o z&5Ju_kP9>OHCbgxRZY$%rtNwza+)cCJIEyEz{0JhS!57)l6cpWp0UL+;951zETS)VlZg>%z~|O z2T~myzliTkpR$n((#4r43 zxTtK29i7ir`*I)p7&$Gm*6b_vVc?=BtLP!tn zL8*fLk-tdL&F|+`yrl2YM;sSX@X1=ZyVKXHLA>Q*Y;dA-W1uaeqAR9_cAUov1Aw?k zYqExJfs+^FJ4b67{GP2~O$_6@jw8K}=0r;dX~?Qy#XjS*cAPX)aJ12{<;dLzI5tP{ zX!=csl>*_*;e_$9;@?Yp?xv>ka@3OdW~G!OTvqs!3sKvIF%&=L_h-E3>4j3 zRwOp^QC4E$BAs?A;S&C9CZ!Ousg7GV%S5XGy<1EQB#Paj0%Q*Obe>aTmMWi%u;OTv z9#{b-e5O+lW^J>Sc?mQXWmLbh0X&idRuYYOG2xaIL};RR1zI2L3A_^l=&MP2fxug2 zWj~x_x=~x=P$K$EaOP0b9-6Hj)VEBcZJ?Hj!>tLWmo+Ob3O0gTSEV0VQAz}YwFSnc z*)ffW6T8)TDdqlg1~K~$b6NGJYPv5&#dsa$Hl?lpuV*ye#HRipLKAw9DA#(qApem} z^RBB(p1r$Z<1Q94dg7u0q#BHVmi*~Jj7@fwk6w`qFTJp$m30)Gr29nlmfI1(>C~Mk zK`@MrwupM}_bI2{&vuHy`=;ckX#R<3HWJLG#@PK`P~v z@XGjTL;v5oil=mb!DWTO$w2_)0&nBf`sR# z7!kT`hLft(sE~Oni$T*NU6`kx9v(tjxLN@-aPkaEHyCND@f7UMBt^HlO~8zgV2hN* zjl1xj;vs%*-T@}D+G(c%*d8IgN*mpLszFccs`N^=IlTItI5dPp9bso65=RDz)jMct z$w)*6amWX5CaLLq>}iEdy$$0u0m2Y5a8h(~tOfif_RA~gX!R|zSNnx*=+OKTo}qKl zwo&XFdE1c!7jK-~rr6oR+3ZNH-S$H}S z-Ih`X+;dXC(oQtm4=}iNH9%SzA+>K-PF4heN=N|4-C!$0G99s1V+^Wj{U9T>xa#Q_ zYWfo)h!$--(v(!1!_kA%NiwVv!@YmJX?1C=0Z@rcf}Y+of;FKDWU$n6*#h;AnA2~2 zqfl$&u@gCf5inEceR#wB%O3@rgdM(AhP8%#Y9isF6m9o5GK0h*4AI+1W+#9{#YLfZtCt zW`zY;Z(Ib?Q~{|uj5_iKc*I4I9W4=Kp!q^#H{L0Dh_C=XPzTvFU-nWGwlY}Kt~V<9 z&~kb)p)R&jo5-XYo1u#m)DXXujox_u?u(3x|$b);ygPrvHH4$VaLoo?py@9%^@t7^SV+36QoaiE6>_u>jgSs<~rNYcvV$96t3C^nB_mBYVd==2~`R`@W6#4HL<6DP44kluA zV}=rk#WV+Z&}76mI4am(!ZQz1W}~)L$zZKH0ZE$FH9prv@09$)jcwyt_U*@N8E4}` zXa-l7SQE0VWxRe^@&uS=vUuy3Ca-LfBdy4;$8Nue@e-j#8{AG51;mHY!pxdZaRQu7|Kdx8-AfkRl~) zU6%uQ1zS&MOBg>SY2x3ha8~LW8-JZ+VP3ffsC`zvxsAl)>BGkZy>SXM48#&s=1W1V zi3lCmG!2tDvyx|kp3%WG@hW?o)6h><7%a|`i4xk!B}0=m(jf?u>;e)WzwcTon&6@{-^W@b9QKt+t@)25w9yM_1x2WpSXcHCD zO%dCR$Kh0XuxleV;)ZGK zQ)O0)HnuNL7$Aw`-VFTj>W^G?9fLAUV)$sQ0x2sB&r3a{1K>WHGMzCWq zx}~IP$TFJsN)`3xgw2O~RPFI@I&Um~y0^4){%w~Ow7p{Fjqj?)5N%)jv@@~bZ!na{ zeFz0fj;(8-n~wKyR` zvn%ZTZ{M>xhzQ4STN4$TbYc6pe-js}a}9=ZMXW+8+P?i}RX1-~^ohgc z%vW=N4*O3#*D)D>|IQ;zzDx$#V#yqiJn3_-%nOFoeV1%UYec;xgOrdhowoa==w_NI z^mhV&nH6coB;By^+tvJ*^shgGq%23=7G~Z7o~3(LMe9gbxf%%5M>#pRI2P4Mo#QJH zI~em^$rzCBd^)skW+QWI8GL)`koxROGqL3z(ckQVDko%#AHA;3J>m}cTr>9*L@4uZ zl5w$Us3!h1eS7G`E7u%}ZWTJMXFC2!Y|I3l#nl{SdKpjyyIy%1z2m*E5% zSj}*gsPCVsqC|?HtfSL>Fy;c1-<4w0mE1Gz??C1S%}g1ci<*5Lwuwvs6_ICDSBpPl zI2|YDu(Utk2KS1ql-wm+$0un3sU*mdN3&f6r1W_7R<63Nzga;qUz5127A#kM;`GCR6Ls(d32lqqD0!bO7u8W9e>|I6)XY$g4 zVmWMBB4D%L6Z!PxQ&o&&6Jq=H_*WJ1LKhbcG=uO)U&=ium^CfgM$u7D(+i;_0B0Zv zsK(AjrwMlQp)WavMw3L2uAv#zs>e4JW$UK<9spK-$m!koK)OEN6H!jvk%JbXKVBkE z62~GLJvqgTF~p5{6B5uwB$@iUFnI(q9|m$9&v)% zZS6DM;XNMDG4%8fWMCBi;O2I+?K`I6ADEf+qz0}Hh%$nW$MYbZJ(hg_U*LWQsOvr- zyTbgp9iZhee=e1AZ{Y;!O7GjXfke$#+p*m{S|_=U+w2KSj;$mz@OR1pZn<&eV=VKA z$I2b7b=r;AU>p1BCzJMPOn`iL)WLsRN6f74bDMRcaP++@H(>^w3Y2C4tad|3!ff&T zaG)E7Yrw<@?hLmve$R=n)AmPkCVzN1n-0W5-nBcV*9#t>0yJBjooBNNCEbcUa}2vq z$w)dC^Xkox6Eo=WO|>98JRAZ}50*+mv(-n8mKjqF;l#DB!m5&z5m6U{TzfVn1^3{a zkVH*^3G1_Bo}8UT(OvAZkM*!It%ZrR6=j`5Nc)Zw9Qv=X)Y(iuvH+cR0ShdT#so_p ziuia{h$cR&H#qlqetLHi>&#uC#IwhCc~uhWJL9D#tr1?1QhC)6&?bCjI-)l^P*3dA zscsQw6tvnQ7;)1?_=krebJ+gqWU(0DhE=I8cTrjNmFTw-Q+O2dJ%FtT6)9nyTT8fd zNVwWPBdvDph0FppF$_R%LpN=fKHNUxAKkx#7LhngS9x05LcVnc?@F>I^V;ak%`TM# zjy?9hBmvb3>bP<5$^N1wiUKrgHsM7@MI1qt2uEVGBo2^WeyH6d$>^)z>ay&6%4$Ep zEbw$;4s9k%??>%fQa&6o?Z&qd8#4!xcYu!BRO*YCU~nN@v<7DstX;+~T?d)sUDcxKKp1U9c#^l^HYac6~W)Py$FO&}FA2rhgqv(4A~`j6#HJ2oUH9JZCe& zCsdCn6yyP(sURHc3TEFBhyM-BVC4LW1t4_93EfAVs=O@JL<5V>X|t#6NPT8{sk`6p z-i+C;u*M`orq_?Uo2Z$C2}Z~IE+}-@^^-o6EtR_vFR5xqUG#i17Ymfd)&^z+$zWTB z;%V2pKmPYfin4_|f=lx!H|QHx>_p9KWDEQwul)(zuwO9k(x`Dvh98M)b75K=mMXA% zh}8a_BZ{#)XKw8-{CD6M>=4aQVOWRv2`=N({xdu;?)06yo<%}9JMFL?umyakkIHfe z!17ST;{|x_^t*pWH_wVzz+o($3w3yh7W(x&%x*8d9b{6O@Eu%*9o>S7BOw)YCU_JPNkd=GoqC#~ z#u#`SCRlxh$!k97on3)(;n)mVW9@t7-W55w`x?s@0t@};Z5Q@wOX+Oo2I3+~U5btG zG>lV-D;$u#rT42td?CKw0M??;%B*5q#y2XTv>#yuzQ#c`^f=h)EeT(2B;L3H&~t+E zyqy-eMs~FRBI&a_^cM#MKYckp+Cmz&pfx=>Rt{t&;YUT8nt0a3M~y{@g7N>>e-X8Q z_^E>SfDs~Rn+URXUR#6ZmR#5{1CC-(0}W1AWr^}~@atg*kkOL!e;-(4F=^I23#nb_ zUSp@;G5N=OXYyz}H-iE0ElsP{XWXmSwl4uN0AJ~vL(Q|NPpt(Rj&b8FNmDAz_n4ON z(#bGFFO(#EPEVL+ydT!%nV$mkDfQru^kEk3&36WVTV*qa(|vswHBCp62 zA?v|GmNY-VyQ6j4m%tCfSL(%$qeVS>$8F+J1N}4lRvRCy)f$WMjGPoQuCtWIUK_3p zBI3}1>jM_$hvnh4y(Nn`?$ri0)n$bbu2Wx0-JzB*LuNgJ?KC?3dOB45-6(!Qj+HU> z>fp7zjJn&7xQS@|+!5wG7UB5<#7ucvD?g^QzDrV$-_F@i+L5A5CSdn7*kecpeFKwwUw6aNm4bOG5a_( zxZW5;1 z^q%@b!3*flzi8VUx-pqX;N2U1FOygnYUHix2FYN=J>bav(lqC(cIefhw&9_*N1@|-)wz5 z;$hYK`6o>HYTn}>m6+@VHAj$=ZF~?A?{8Y?_xEQg2rrEaFtGyXDBgeQ#HwG@u7y&pFevy(yGT0Pl*hG3cp~1ikZ(q+N?JoxX z9Ns~?Iu>s*LRTE3NB&G1jdpko?k1Q`$yr+-9#w=ML&L|&;~3%M6# z0k56|c8Uc@$B??dwvJW0xZgT$VYiC4IBZsAxL#PkRc}QcIJp7WsLGHYS}(CGj~W^gIfcwlDX|6n_?55j z2HHd>0~?&+aH~RW&jzhL_8f%WN)p=ZNdzJ8$=i|rU9mPPpyTJi)#{Z04d)3(-$O1M zXZ=&q#h>NiMg zJz_$UPi}qB7HQI3#eKbFz{Z?6vg1Ewb|^2qp6k5&2KY<<}{tb@+0ye6qX}FTd#JF++I$U zqfQFaN9IGY3N1!*cei&bsI9mAefHRga3I;6)6JYuuRTItuFFtqx%Luu*u z2a}GcLvik8hD(!98+XsxwvI8i=meza~+*lP|{ zT(^(5Q7c~tySVysnCC6f##*$XaJ{1|OCGNBc*J&WJSZ+qnR)zA{nX9>98dr^>~ej+ z9OvuaoblMe)_i{ow1^azZV0X-)9_ImCOVwm<5D`HwH`m8H!8-0lf9jTITkAo)*^}w z-qdj@`{lADlZZ=6YT3IUq<|+T@|*C|(HV4=oL@Lktu+5R9bkCp_*^J>sp0iPh6q9x zwOXI2xLEj03YKqA0&f(kd;|P z(q#iP!Cc;x;_i>GP>CCTIxY2(aKv&e8_%-B{eNCf%ezUh>(M|3^Zz9tUxh?AZj?s8 zZB?AyF&j?3iNyyF{Tb|Y}5st^PEgp*8$v2KoEPajOKuaILC$5XlHs)Lj zo=Q@OpHTvC|Jv62k}nj$23p@&m;|MhnpffkMrGo_cln-_-I^hagkUJ*;vXo@88`rauPcs;z9HkLfwUV0V0h8Pwksz*P_V6pA{o`MD~tXA|$oFP-%Zbsz|d2BeeQGqdHu^3dk z0e$!Hj$=%WogCi&(h=!bU-&U|4);Uy{LJ^k@YfC%_oTsyioLUR<9Zq5YL1?XOVwpM zYgpW)bWXReiF$zzq-?K1;a7bZ+^{i{%qnk}58w5u@*UbI$=iS$dm7#~p&Pe}_l}#L zex`L#mLI+NOE9WWC!|SZGMx9tPV2&5El75nU`AjH`S$%k{oR4lhiq23$c&e|8QJfu z05)@(*w*6auVS319}L+-Pa}*W_%!b%-57vMsCyvLpSns7hI)-?zn^_A`Y;d?| zk-6~{ZrUjNwVG#B^~`BCE!wRRi#t`#}dw0k<}SSz>RWy-N`_vazQ_kNDXa=CTG-4~i_Yo>`xL z0%vJrspYpRofwhkOl>MX|ExuHg9-kj>A*>Kp86eKL~-w|IyCUgyyK2c7_5k%x4<|5 z>D_8Bj9DytLc$IId1%8T&F!6Dqcbsz6bmtJfx{o^7m=D07i@_#_v5olZs7eVEKGf5 z`1R$_^UaI#xt;3p>E)*Rx1Q@`F1g}+=B}`=I4KWe^h@J zV~{&f?=5BQ61{lWy8UBqHec`KDqZ<4rAs6PBPrqq1~VFL;uyTlCTfvoE7#*U@OTLs z!ay(>lL*q0l{R?Ng4i1DgVf8Kga_6(58xs4o&*pr&$HY>a}saa69@Lg*eT(Br`kn3-VN5IcsxIL8rybC-9)P4heJMk#`^G@I;ZW}Hxbj8X2 z%kdnt@umaNOs=5T;IjvaS;FdH3MP?d;{8kUD&(rRCt0`^^N6vBp)S~VF(Ms#KV3}6 zcfd=s{kot;&Z)V>4$Qhhe>M;vg!0ufHC692k!6#ALJS1~F%M%l!~HOI^Adpw7-mk8 z-JKu%dl9>$zl!)sk=f*y#e!EeCj*ofcpmESZXJXXzo@?^isgAP6!=>@kcq62A@y8M zjl-K9Ee@CbV`ZKs=Njew{G;#2EyM#7LQ(<;|G!4e|D%IL->(h@Z#(ZqE=&bBt#`0_V8x63KZ!y-iU0rr diff --git a/multisrc/overrides/wpmangastream/infernalvoidscans/src/InfernalVoidScans.kt b/multisrc/overrides/wpmangastream/infernalvoidscans/src/InfernalVoidScans.kt deleted file mode 100644 index d59bf1937..000000000 --- a/multisrc/overrides/wpmangastream/infernalvoidscans/src/InfernalVoidScans.kt +++ /dev/null @@ -1,20 +0,0 @@ -package eu.kanade.tachiyomi.extension.en.infernalvoidscans - -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream -import eu.kanade.tachiyomi.source.model.Page -import org.jsoup.nodes.Document - -class InfernalVoidScans : WPMangaStream("Infernal Void Scans", "https://void-scans.com", "en") { - // Site dynamically replaces a placeholder image in the "src" tag with the actual url in "data-src" - override fun pageListParse(document: Document): List { - return super.pageListParse( - document.apply { - select(pageSelector).forEach { pageElem -> - pageElem.attr("data-src") - .takeIf { ! it.isNullOrBlank() } - ?.let { pageElem.attr("src", it) } - } - } - ) - } -} diff --git a/multisrc/overrides/wpmangastream/komikcast/src/KomikCast.kt b/multisrc/overrides/wpmangastream/komikcast/src/KomikCast.kt deleted file mode 100644 index 651836f3a..000000000 --- a/multisrc/overrides/wpmangastream/komikcast/src/KomikCast.kt +++ /dev/null @@ -1,194 +0,0 @@ -package eu.kanade.tachiyomi.extension.id.komikcast - -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.interceptor.rateLimit -import eu.kanade.tachiyomi.source.model.Filter -import eu.kanade.tachiyomi.source.model.FilterList -import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SChapter -import eu.kanade.tachiyomi.source.model.SManga -import kotlinx.serialization.decodeFromString -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonObject -import okhttp3.Headers -import okhttp3.HttpUrl.Companion.toHttpUrlOrNull -import okhttp3.OkHttpClient -import okhttp3.Request -import org.jsoup.Jsoup -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element -import uy.kohesive.injekt.injectLazy -import java.util.concurrent.TimeUnit - -class KomikCast : WPMangaStream("Komik Cast", "https://komikcast.me", "id") { - // Formerly "Komik Cast (WP Manga Stream)" - override val id = 972717448578983812 - - override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .connectTimeout(10, TimeUnit.SECONDS) - .readTimeout(30, TimeUnit.SECONDS) - .rateLimit(3) - .build() - - override fun headersBuilder(): Headers.Builder = Headers.Builder() - .add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9") - .add("Accept-language", "en-US,en;q=0.9,id;q=0.8") - .add("Referer", baseUrl) - .add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0") - - override fun imageRequest(page: Page): Request { - val newHeaders = headersBuilder() - .set("Accept", "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8") - .set("Referer", baseUrl) - .build() - - return GET(page.imageUrl!!, newHeaders) - } - override fun popularMangaSelector() = "div.list-update_item" - - override fun popularMangaRequest(page: Int): Request { - return GET("$baseUrl/daftar-komik/page/$page/?orderby=popular", headers) - } - - override fun latestUpdatesRequest(page: Int): Request { - return GET("$baseUrl/komik/page/$page/", headers) - } - - override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { - val url = if (query.isNotBlank()) { - val url = "$baseUrl/page/$page".toHttpUrlOrNull()!!.newBuilder() - val pattern = "\\s+".toRegex() - val q = query.replace(pattern, "+") - if (query.isNotEmpty()) { - url.addQueryParameter("s", q) - } else { - url.addQueryParameter("s", "") - } - url.toString() - } else { - var url = "$baseUrl/daftar-komik/page/$page".toHttpUrlOrNull()!!.newBuilder() - var orderBy: String - (if (filters.isEmpty()) getFilterList() else filters).forEach { filter -> - when (filter) { - is StatusFilter -> url.addQueryParameter("status", arrayOf("", "ongoing", "completed")[filter.state]) - is GenreListFilter -> { - val genreInclude = mutableListOf() - filter.state.forEach { - if (it.state == 1) { - genreInclude.add(it.id) - } - } - if (genreInclude.isNotEmpty()) { - genreInclude.forEach { genre -> - url.addQueryParameter("genre[]", genre) - } - } - } - is SortByFilter -> { - orderBy = filter.toUriPart() - url.addQueryParameter("orderby", orderBy) - } - is ProjectFilter -> { - if (filter.toUriPart() == "project-filter-on") { - url = "$baseUrl/project-list/page/$page".toHttpUrlOrNull()!!.newBuilder() - } - } - } - } - url.toString() - } - return GET(url, headers) - } - - override fun popularMangaFromElement(element: Element): SManga { - val manga = SManga.create() - element.select("a").first().let { - manga.setUrlWithoutDomain(it.attr("href")) - manga.title = it.select(".list-update_item-info h3.title").text() - manga.thumbnail_url = element.select("div.list-update_item-image img").imgAttr() - } - return manga - } - - override fun mangaDetailsParse(document: Document): SManga { - return SManga.create().apply { - document.select("div.komik_info").firstOrNull()?.let { infoElement -> - genre = infoElement.select(".komik_info-content-genre a").joinToString { it.text() } - status = parseStatus(infoElement.select("span:contains(Status:)").firstOrNull()?.ownText()) - author = infoElement.select("span:contains(Author:)").firstOrNull()?.ownText() - artist = infoElement.select("span:contains(Author:)").firstOrNull()?.ownText() - description = infoElement.select("div.komik_info-description-sinopsis p").joinToString("\n") { it.text() } - thumbnail_url = infoElement.select("div.komik_info-content-thumbnail img").imgAttr() - - // add series type(manga/manhwa/manhua/other) thinggy to genre - document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not() && genre!!.contains(it, true).not()) { - genre += if (genre!!.isEmpty()) it else ", $it" - } - } - - // add alternative name to manga description - document.select(altNameSelector).firstOrNull()?.ownText()?.let { - if (it.isBlank().not() && it != "N/A" && it != "-") { - description = when { - description.isNullOrBlank() -> altName + it - else -> description + "\n\n$altName" + it - } - } - } - } - } - } - - override val seriesTypeSelector = "span:contains(Type) a" - override val altNameSelector = ".komik_info-content-native" - - override fun chapterListSelector() = "div.komik_info-chapters li" - - override fun chapterFromElement(element: Element): SChapter { - val urlElement = element.select("a").first() - val chapter = SChapter.create() - chapter.setUrlWithoutDomain(urlElement.attr("href")) - chapter.name = urlElement.text() - chapter.date_upload = element.select(".chapter-link-time").firstOrNull()?.text()?.let { parseChapterDate(it) } ?: 0 - return chapter - } - - override fun pageListParse(document: Document): List { - var doc = document - var cssQuery = "div#chapter_body .main-reading-area img.size-full" - val imageListRegex = Regex("chapterImages = (.*) \\|\\|") - val imageListMatchResult = imageListRegex.find(document.toString()) - - if (imageListMatchResult != null) { - val imageListJson = imageListMatchResult.destructured.toList()[0] - val imageList = json.parseToJsonElement(imageListJson).jsonObject - - var imageServer = "cdn" - if (!imageList.containsKey(imageServer)) imageServer = imageList.keys.first() - val imageElement = imageList[imageServer]!!.jsonArray.joinToString("") - doc = Jsoup.parse(json.decodeFromString(imageElement)) - cssQuery = "img.size-full" - } - - return doc.select(cssQuery) - .mapIndexed { i, img -> Page(i, "", img.attr("abs:Src")) } - } - - override fun getFilterList() = FilterList( - Filter.Header("NOTE: Ignored if using text search!"), - Filter.Separator(), - SortByFilter(), - Filter.Separator(), - StatusFilter(), - Filter.Separator(), - GenreListFilter(getGenreList()), - Filter.Header("NOTE: cant be used with other filter!"), - Filter.Header("$name Project List page"), - ProjectFilter() - ) - - private val json: Json by injectLazy() -} diff --git a/multisrc/overrides/wpmangastream/komikindoco/src/KomikindoCo.kt b/multisrc/overrides/wpmangastream/komikindoco/src/KomikindoCo.kt deleted file mode 100644 index de477b2ed..000000000 --- a/multisrc/overrides/wpmangastream/komikindoco/src/KomikindoCo.kt +++ /dev/null @@ -1,81 +0,0 @@ -package eu.kanade.tachiyomi.extension.id.komikindoco - -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream -import eu.kanade.tachiyomi.network.interceptor.rateLimit -import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SManga -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonPrimitive -import okhttp3.OkHttpClient -import org.jsoup.nodes.Document -import uy.kohesive.injekt.injectLazy -import java.text.SimpleDateFormat -import java.util.Locale -import java.util.concurrent.TimeUnit - -class KomikindoCo : WPMangaStream("KomikIndo.co", "https://komikindo.co", "id", SimpleDateFormat("MMM dd, yyyy", Locale("id"))) { - // Formerly "Komikindo.co" - override val id = 734619124437406170 - - override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .connectTimeout(10, TimeUnit.SECONDS) - .readTimeout(30, TimeUnit.SECONDS) - .rateLimit(4) - .build() - - override val hasProjectPage = true - - override fun mangaDetailsParse(document: Document): SManga { - return SManga.create().apply { - document.select(".seriestucontent").firstOrNull()?.let { infoElement -> - genre = infoElement.select(".seriestugenre a").joinToString { it.text() } - status = parseStatus(infoElement.select(".infotable tr:contains(Status) td:last-child").firstOrNull()?.ownText()) - author = infoElement.select(".infotable tr:contains(Author) td:last-child").firstOrNull()?.ownText() - description = infoElement.select(".entry-content-single[itemprop=\"description\"]").joinToString("\n") { it.text() } - thumbnail_url = infoElement.select("div.thumb img").imgAttr() - - // add series type(manga/manhwa/manhua/other) thinggy to genre - document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not() && genre!!.contains(it, true).not()) { - genre += if (genre!!.isEmpty()) it else ", $it" - } - } - - // add alternative name to manga description - document.select(altNameSelector).firstOrNull()?.ownText()?.let { - if (it.isBlank().not() && it != "N/A" && it != "-") { - description = when { - description.isNullOrBlank() -> altName + it - else -> description + "\n\n$altName" + it - } - } - } - } - } - } - - private val json: Json by injectLazy() - - override fun pageListParse(document: Document): List { - val pages = mutableListOf() - document.select(pageSelector) - .filterNot { it.attr("src").isNullOrEmpty() } - .mapIndexed { i, img -> pages.add(Page(i, "", img.attr("abs:src"))) } - - // Some sites like mangakita now load pages via javascript - if (pages.isNotEmpty()) { return pages } - - val docString = document.toString() - val imageListRegex = Regex("\\\"images.*?:.*?(\\[.*?\\])") - val imageListJson = imageListRegex.find(docString)!!.destructured.toList()[0] - - val imageList = json.parseToJsonElement(imageListJson).jsonArray - - pages += imageList.mapIndexed { i, jsonEl -> - Page(i, "", jsonEl.jsonPrimitive.content) - } - - return pages - } -} diff --git a/multisrc/overrides/wpmangastream/komikstation/src/KomikStation.kt b/multisrc/overrides/wpmangastream/komikstation/src/KomikStation.kt deleted file mode 100644 index 0ae354eb6..000000000 --- a/multisrc/overrides/wpmangastream/komikstation/src/KomikStation.kt +++ /dev/null @@ -1,51 +0,0 @@ -package eu.kanade.tachiyomi.extension.id.komikstation - -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream -import eu.kanade.tachiyomi.network.interceptor.rateLimit -import eu.kanade.tachiyomi.source.model.Page -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonPrimitive -import okhttp3.OkHttpClient -import org.jsoup.nodes.Document -import uy.kohesive.injekt.injectLazy -import java.util.concurrent.TimeUnit - -class KomikStation : WPMangaStream("Komik Station", "https://komikstation.co", "id") { - // Formerly "Komik Station (WP Manga Stream)" - override val id = 6148605743576635261 - - override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .connectTimeout(10, TimeUnit.SECONDS) - .readTimeout(30, TimeUnit.SECONDS) - .rateLimit(4) - .build() - - private val json: Json by injectLazy() - - override fun pageListParse(document: Document): List { - val pages = mutableListOf() - document.select(pageSelector) - .filterNot { it.attr("abs:src").isNullOrEmpty() } - .mapIndexed { i, img -> pages.add(Page(i, "", img.attr("abs:src"))) } - - // Some sites like mangakita now load pages via javascript - if (pages.isNotEmpty()) { return pages } - - val docString = document.toString() - val imageListRegex = Regex("\\\"images.*?:.*?(\\[.*?\\])") - val imageListJson = imageListRegex.find(docString)!!.destructured.toList()[0] - - val imageList = json.parseToJsonElement(imageListJson).jsonArray - - pages += imageList.mapIndexed { i, jsonEl -> - Page(i, "", jsonEl.jsonPrimitive.content) - } - - return pages - } - - override val projectPageString = "/project-list" - - override val hasProjectPage = true -} diff --git a/multisrc/overrides/wpmangastream/mangaswat/src/MangaSwat.kt b/multisrc/overrides/wpmangastream/mangaswat/src/MangaSwat.kt deleted file mode 100644 index d51eb5266..000000000 --- a/multisrc/overrides/wpmangastream/mangaswat/src/MangaSwat.kt +++ /dev/null @@ -1,170 +0,0 @@ -package eu.kanade.tachiyomi.extension.ar.mangaswat - -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.source.model.Filter -import eu.kanade.tachiyomi.source.model.FilterList -import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SManga -import okhttp3.Headers -import okhttp3.Request -import org.json.JSONObject -import org.jsoup.nodes.Document -import java.text.SimpleDateFormat -import java.util.Locale - -class MangaSwat : WPMangaStream( - "MangaSwat", - "https://swatmanga.co", - "ar", - SimpleDateFormat("yyyy-MM-dd", Locale.US) -) { - - override fun headersBuilder(): Headers.Builder = Headers.Builder() - .add( - "Accept", - "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" - ) - .add("Accept-language", "en-US,en;q=0.9") - .add("Referer", baseUrl) - - override fun imageRequest(page: Page): Request { - val newHeaders = headersBuilder() - .set("Accept", "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8") - .set("Referer", baseUrl) - .build() - return GET(page.imageUrl!!, newHeaders) - } - - override fun mangaDetailsParse(document: Document): SManga { - return SManga.create().apply { - document.select("div.bigcontent").firstOrNull()?.let { infoElement -> - genre = infoElement.select("span:contains(التصنيف) a").joinToString { it.text() } - status = parseStatus( - infoElement.select("span:contains(الحالة)").firstOrNull()?.ownText() - ) - author = infoElement.select("span:contains(المؤلف)").firstOrNull()?.ownText() - artist = infoElement.select("span:contains(الناشر) i").firstOrNull()?.ownText() - description = infoElement.select("div.desc").text() - thumbnail_url = infoElement.select("img").imgAttr() - - val genres = infoElement.select("span:contains(التصنيف) a, .mgen a") - .map { element -> element.text().lowercase() } - .toMutableSet() - - // add series type(manga/manhwa/manhua/other) thinggy to genre - document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not() && genres.contains(it).not()) { - genres.add(it.lowercase()) - } - } - - genre = genres.toList().map { it.capitalize() }.joinToString(", ") - } - } - } - - override val seriesTypeSelector = "span:contains(النوع) a" - - override val pageSelector = "div#readerarea img" - - override fun pageListParse(document: Document): List { - var page: List? = null - val scriptContent = document.selectFirst("script:containsData(ts_reader)").data() - val removeHead = scriptContent.replace("ts_reader.run(", "").replace(");", "") - val jsonObject = JSONObject(removeHead) - val sourcesArray = jsonObject.getJSONArray("sources") - val imagesArray = sourcesArray.getJSONObject(0).getJSONArray("images") - page = List(imagesArray.length()) { i -> - Page(i, "", imagesArray[i].toString()) - } - - return page!! - } - - override fun getFilterList() = FilterList( - SortByFilter(), - Filter.Separator(), - StatusFilter(), - Filter.Separator(), - TypeFilter(), - Filter.Separator(), - Filter.Header("Genre exclusion not available for all sources"), - GenreListFilter(getGenreList()), - ) - - override fun getGenreList(): List = listOf( - Genre("<--->", ""), - Genre("Adult", "adult"), - Genre("آلات", "%d8%a2%d9%84%d8%a7%d8%aa"), - Genre("أكشن", "%d8%a3%d9%83%d8%b4%d9%86"), - Genre("إثارة", "%d8%a5%d8%ab%d8%a7%d8%b1%d8%a9"), - Genre("إعادة إحياء", "%d8%a5%d8%b9%d8%a7%d8%af%d8%a9-%d8%a5%d8%ad%d9%8a%d8%a7%d8%a1"), - Genre( - "الحياة المدرسية", - "%d8%a7%d9%84%d8%ad%d9%8a%d8%a7%d8%a9-%d8%a7%d9%84%d9%85%d8%af%d8%b1%d8%b3%d9%8a%d8%a9" - ), - Genre( - "الحياة اليومية", - "%d8%a7%d9%84%d8%ad%d9%8a%d8%a7%d8%a9-%d8%a7%d9%84%d9%8a%d9%88%d9%85%d9%8a%d8%a9" - ), - Genre("العاب فيديو", "%d8%a7%d9%84%d8%b9%d8%a7%d8%a8-%d9%81%d9%8a%d8%af%d9%8a%d9%88"), - Genre("ايتشي", "%d8%a7%d9%8a%d8%aa%d8%b4%d9%8a"), - Genre("ايسكاي", "%d8%a7%d9%8a%d8%b3%d9%83%d8%a7%d9%8a"), - Genre("بالغ", "%d8%a8%d8%a7%d9%84%d8%ba"), - Genre("تاريخي", "%d8%aa%d8%a7%d8%b1%d9%8a%d8%ae%d9%8a"), - Genre("تراجيدي", "%d8%aa%d8%b1%d8%a7%d8%ac%d9%8a%d8%af%d9%8a"), - Genre("تناسخ", "%d8%aa%d9%86%d8%a7%d8%b3%d8%ae"), - Genre("جريمة", "%d8%ac%d8%b1%d9%8a%d9%85%d8%a9"), - Genre("جوسيه", "%d8%ac%d9%88%d8%b3%d9%8a%d9%87"), - Genre("جيندر بندر", "%d8%ac%d9%8a%d9%86%d8%af%d8%b1-%d8%a8%d9%86%d8%af%d8%b1"), - Genre("حديث", "%d8%ad%d8%af%d9%8a%d8%ab"), - Genre("حربي", "%d8%ad%d8%b1%d8%a8%d9%8a"), - Genre("حريم", "%d8%ad%d8%b1%d9%8a%d9%85"), - Genre( - "خارق للطبيعة", - "%d8%ae%d8%a7%d8%b1%d9%82-%d9%84%d9%84%d8%b7%d8%a8%d9%8a%d8%b9%d8%a9" - ), - Genre("خيال", "%d8%ae%d9%8a%d8%a7%d9%84"), - Genre("خيال علمي", "%d8%ae%d9%8a%d8%a7%d9%84-%d8%b9%d9%84%d9%85%d9%8a"), - Genre("دراما", "%d8%af%d8%b1%d8%a7%d9%85%d8%a7"), - Genre("دموي", "%d8%af%d9%85%d9%88%d9%8a"), - Genre("راشد", "%d8%af%d9%85%d9%88%d9%8a"), - Genre("رعب", "%d8%b1%d8%b9%d8%a8"), - Genre("رومانسي", "%d8%b1%d9%88%d9%85%d8%a7%d9%86%d8%b3%d9%8a"), - Genre("رياضة", "%d8%b1%d9%8a%d8%a7%d8%b6%d8%a9"), - Genre("زمكاني", "%d8%b2%d9%85%d9%83%d8%a7%d9%86%d9%8a"), - Genre("زومبي", "%d8%b2%d9%88%d9%85%d8%a8%d9%8a"), - Genre("سحر", "%d8%b3%d8%ad%d8%b1"), - Genre("سينين", "%d8%b3%d9%8a%d9%86%d9%8a%d9%86"), - Genre( - "شريحة من الحياة", - "%d8%b4%d8%b1%d9%8a%d8%ad%d8%a9-%d9%85%d9%86-%d8%a7%d9%84%d8%ad%d9%8a%d8%a7%d8%a9" - ), - Genre("شوجو", "%d8%b4%d9%88%d8%ac%d9%88"), - Genre("شونين", "%d8%b4%d9%88%d9%86%d9%8a%d9%86"), - Genre("شياطين", "%d8%b4%d9%8a%d8%a7%d8%b7%d9%8a%d9%86"), - Genre("طبخ", "%d8%b7%d8%a8%d8%ae"), - Genre("طبي", "%d8%b7%d8%a8%d9%8a"), - Genre("غموض", "%d8%ba%d9%85%d9%88%d8%b6"), - Genre("فانتازي", "%d9%81%d8%a7%d9%86%d8%aa%d8%a7%d8%b2%d9%8a"), - Genre("فنون قتالية", "%d9%81%d9%86%d9%88%d9%86-%d9%82%d8%aa%d8%a7%d9%84%d9%8a%d8%a9"), - Genre("فوق الطبيعة", "%d9%81%d9%88%d9%82-%d8%a7%d9%84%d8%b7%d8%a8%d9%8a%d8%b9%d8%a9"), - Genre("قوى خارقة", "%d9%82%d9%88%d9%89-%d8%ae%d8%a7%d8%b1%d9%82%d8%a9"), - Genre("كوميدي", "%d9%83%d9%88%d9%85%d9%8a%d8%af%d9%8a"), - Genre("لعبة", "%d9%84%d8%b9%d8%a8%d8%a9"), - Genre("مافيا", "%d9%85%d8%a7%d9%81%d9%8a%d8%a7"), - Genre( - "مصاصى الدماء", - "%d9%85%d8%b5%d8%a7%d8%b5%d9%89-%d8%a7%d9%84%d8%af%d9%85%d8%a7%d8%a1" - ), - Genre("مغامرات", "%d9%85%d8%ba%d8%a7%d9%85%d8%b1%d8%a7%d8%aa"), - Genre("موريم", "%d9%85%d9%88%d8%b1%d9%8a%d9%85"), - Genre("موسيقي", "%d9%85%d9%88%d8%b3%d9%8a%d9%82%d9%89"), - Genre("ميشا", "%d9%85%d9%8a%d8%b4%d8%a7"), - Genre("ميكا", "%d9%85%d9%8a%d9%83%d8%a7"), - Genre("نفسي", "%d9%86%d9%81%d8%b3%d9%8a"), - Genre("وحوش", "%d9%88%d8%ad%d9%88%d8%b4"), - Genre("ويب-تون", "%d9%88%d9%8a%d8%a8-%d8%aa%d9%88%d9%86") - ) -} diff --git a/multisrc/overrides/wpmangastream/mihentai/src/Mihentai.kt b/multisrc/overrides/wpmangastream/mihentai/src/Mihentai.kt deleted file mode 100644 index 2aec935c2..000000000 --- a/multisrc/overrides/wpmangastream/mihentai/src/Mihentai.kt +++ /dev/null @@ -1,179 +0,0 @@ -package eu.kanade.tachiyomi.extension.en.mihentai - -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.source.model.Filter -import eu.kanade.tachiyomi.source.model.FilterList -import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SManga -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonPrimitive -import okhttp3.HttpUrl.Companion.toHttpUrl -import okhttp3.HttpUrl.Companion.toHttpUrlOrNull -import okhttp3.Request -import org.jsoup.nodes.Document -import uy.kohesive.injekt.injectLazy -import java.util.Locale - -class Mihentai : WPMangaStream("Mihentai", "https://mihentai.com", "en") { - override fun popularMangaRequest(page: Int): Request { - return GET("$baseUrl/manga/page/$page/?order=popular", headers) - } - - override fun latestUpdatesRequest(page: Int): Request { - return GET("$baseUrl/manga/page/$page/?order=update", headers) - } - - override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { - val url = "$baseUrl/manga/page/$page/".toHttpUrlOrNull()!!.newBuilder() - url.addQueryParameter("title", query) - filters.forEach { filter -> - when (filter) { - is StatusFilter -> url.addQueryParameter("status", filter.toUriPart()) - is TypeFilter -> url.addQueryParameter("type", filter.toUriPart()) - is SortByFilter -> url.addQueryParameter("order", filter.toUriPart()) - is GenreListFilter -> { - filter.state - .filter { it.state != Filter.TriState.STATE_IGNORE } - .forEach { url.addQueryParameter("genre[]", it.id) } - } - } - } - return GET(url.build().toString(), headers) - } - - override fun mangaDetailsParse(document: Document): SManga { - return SManga.create().apply { - document.select("div.bigcontent, div.animefull, div.main-info").firstOrNull()?.let { infoElement -> - status = parseStatus(infoElement.select("span:contains(Status:), .imptdt:contains(Status) i").firstOrNull()?.ownText()) - thumbnail_url = infoElement.select("div.thumb img").imgAttr() - - val genres = infoElement.select("span:contains(Tag) a") - .map { element -> element.text().lowercase(Locale.ROOT) } - .toMutableSet() - - // add series type(manga/manhwa/manhua/other) thinggy to genre - document.select("span:contains(Type)").firstOrNull()?.ownText()?.let { - if (it.isEmpty().not() && genres.contains(it).not()) { - genres.add(it.lowercase(Locale.ROOT)) - } - } - - genre = genres.toList().joinToString(", ") { it.capitalize(Locale.ROOT) } - } - } - } - - override fun parseStatus(element: String?): Int = when { - element == null -> SManga.UNKNOWN - listOf("ongoing", "publishing").any { it.contains(element, ignoreCase = true) } -> SManga.ONGOING - listOf("finished").any { it.contains(element, ignoreCase = true) } -> SManga.COMPLETED - else -> SManga.UNKNOWN - } - - private val json: Json by injectLazy() - - override fun pageListParse(document: Document): List { - val htmlPages = document.select(pageSelector) - .filterNot { it.attr("abs:src").isNullOrEmpty() } - .mapIndexed { i, img -> - val pageUrl = img.attr("abs:src").substringAfter(baseUrl).prependIndent(baseUrl) - Page(i, "", pageUrl) - } - .toMutableList() - - val docString = document.toString() - val imageListRegex = Regex("\\\"images.*?:.*?(\\[.*?\\])") - val imageListJson = imageListRegex.find(docString)?.destructured?.toList()?.get(0) - if (imageListJson != null) { - val imageList = json.parseToJsonElement(imageListJson).jsonArray - val baseResolver = baseUrl.toHttpUrl() - - val scriptPages = imageList.mapIndexed { i, jsonEl -> - val imageUrl = jsonEl.jsonPrimitive.content - Page(i, "", baseResolver.resolve(imageUrl).toString()) - } - - if (htmlPages.size < scriptPages.size) { - htmlPages += scriptPages - } - } - - countViews(document) - - return htmlPages.distinctBy { it.imageUrl } - } - - private class StatusFilter : UriPartFilter( - "Status", - arrayOf( - Pair("All", ""), - Pair("Publishing", "publishing"), - Pair("Finished", "finished"), - Pair("Dropped", "drop") - ) - ) - - private class TypeFilter : UriPartFilter( - "Type", - arrayOf( - Pair("Default", ""), - Pair("Manga", "Manga"), - Pair("Manhwa", "Manhwa"), - Pair("Manhua", "Manhua"), - Pair("Webtoon", "webtoon"), - Pair("One-Shot", "One-Shot"), - Pair("Doujin", "doujin") - ) - ) - - override fun getFilterList(): FilterList = FilterList( - listOf( - StatusFilter(), - TypeFilter(), - SortByFilter(), - GenreListFilter(getGenreList()) - ) - ) - - override fun getGenreList(): List = listOf( - Genre("Adventure", "adventure"), - Genre("Ahego", "ahego"), - Genre("Anal", "anal"), - Genre("Battle", "battle"), - Genre("Big Breasts", "big-breasts"), - Genre("Blowjob", "blowjob"), - Genre("Comic 3D", "comic-3d"), - Genre("Doujin", "doujin"), - Genre("Dragon ball", "dragon-ball"), - Genre("Fingering", "fingering"), - Genre("Full color", "full-color"), - Genre("Futanari", "futanari"), - Genre("Girlfriend", "girlfriend"), - Genre("Grouped", "grouped"), - Genre("Handjob", "handjob"), - Genre("Hijab", "hijab"), - Genre("Incest", "incest"), - Genre("Kissing", "kissing"), - Genre("Mama", "mama"), - Genre("Manga", "manga"), - Genre("Masturbation", "masturbation"), - Genre("Milf", "milf"), - Genre("Mom & Son", "mom-son"), - Genre("Naruto", "naruto"), - Genre("One Piece", "one-piece"), - Genre("Pregnancy", "pregnancy"), - Genre("Rape", "rape"), - Genre("Romance", "romance"), - Genre("School", "school"), - Genre("Scooby-Doo", "scooby-doo"), - Genre("Sister", "sister"), - Genre("Stocking", "stocking"), - Genre("Sub Indo", "sub-indo"), - Genre("Threesome", "threesome"), - Genre("Uncensored", "uncensored"), - Genre("Western", "western"), - Genre("Yuri", "yuri") - ) -} diff --git a/multisrc/overrides/wpmangastream/noxsubs/src/NoxSubs.kt b/multisrc/overrides/wpmangastream/noxsubs/src/NoxSubs.kt deleted file mode 100644 index 147f82474..000000000 --- a/multisrc/overrides/wpmangastream/noxsubs/src/NoxSubs.kt +++ /dev/null @@ -1,7 +0,0 @@ -package eu.kanade.tachiyomi.extension.tr.noxsubs - -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream -import java.text.SimpleDateFormat -import java.util.Locale - -class NoxSubs : WPMangaStream("NoxSubs", "https://noxsubs.com", "tr", SimpleDateFormat("MMM d, yyyy", Locale("tr"))) diff --git a/multisrc/overrides/wpmangastream/phoenixfansub/src/PhoenixFansub.kt b/multisrc/overrides/wpmangastream/phoenixfansub/src/PhoenixFansub.kt deleted file mode 100644 index e78e4aca6..000000000 --- a/multisrc/overrides/wpmangastream/phoenixfansub/src/PhoenixFansub.kt +++ /dev/null @@ -1,15 +0,0 @@ -package eu.kanade.tachiyomi.extension.es.phoenixfansub - -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream -import java.text.SimpleDateFormat -import java.util.Locale - -class PhoenixFansub : WPMangaStream( - "Phoenix Fansub", - "https://phoenixfansub.com", - "es", - SimpleDateFormat("MMM d, yyyy", Locale("es")) -) { - - override val altName: String = "Nombre alternativo: " -} diff --git a/multisrc/overrides/wpmangastream/westmanga/src/WestManga.kt b/multisrc/overrides/wpmangastream/westmanga/src/WestManga.kt deleted file mode 100644 index 32c7999c6..000000000 --- a/multisrc/overrides/wpmangastream/westmanga/src/WestManga.kt +++ /dev/null @@ -1,121 +0,0 @@ -package eu.kanade.tachiyomi.extension.id.westmanga - -import eu.kanade.tachiyomi.multisrc.wpmangastream.WPMangaStream -import eu.kanade.tachiyomi.network.interceptor.rateLimit -import eu.kanade.tachiyomi.source.model.SManga -import okhttp3.OkHttpClient -import org.jsoup.nodes.Document -import java.util.concurrent.TimeUnit - -class WestManga : WPMangaStream("West Manga", "https://westmanga.info", "id") { - // Formerly "West Manga (WP Manga Stream)" - override val id = 8883916630998758688 - - override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .connectTimeout(10, TimeUnit.SECONDS) - .readTimeout(30, TimeUnit.SECONDS) - .rateLimit(4) - .build() - - override fun mangaDetailsParse(document: Document): SManga { - return SManga.create().apply { - document.select(".seriestucontent").firstOrNull()?.let { infoElement -> - genre = infoElement.select(".seriestugenre a").joinToString { it.text() } - status = parseStatus(infoElement.select(".infotable tr:contains(Status) td:last-child").firstOrNull()?.ownText()) - author = infoElement.select(".infotable tr:contains(Author) td:last-child").firstOrNull()?.ownText() - description = infoElement.select(".entry-content-single[itemprop=\"description\"]").joinToString("\n") { it.text() } - thumbnail_url = infoElement.select("div.thumb img").imgAttr() - - // add series type(manga/manhwa/manhua/other) thinggy to genre - document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not() && genre!!.contains(it, true).not()) { - genre += if (genre!!.isEmpty()) it else ", $it" - } - } - - // add alternative name to manga description - document.select(altNameSelector).firstOrNull()?.ownText()?.let { - if (it.isBlank().not() && it != "N/A" && it != "-") { - description = when { - description.isNullOrBlank() -> altName + it - else -> description + "\n\n$altName" + it - } - } - } - } - } - } - - override val seriesTypeSelector = ".infotable tr:contains(Type) td:last-child" - override fun getGenreList(): List = listOf( - Genre("4 Koma", "344"), - Genre("Action", "13"), - Genre("Adventure", "4"), - Genre("Anthology", "1494"), - Genre("Comedy", "5"), - Genre("Cooking", "54"), - Genre("Crime", "856"), - Genre("Crossdressing", "1306"), - Genre("Demon", "64"), - Genre("Drama", "6"), - Genre("Ecchi", "14"), - Genre("Fantasy", "7"), - Genre("Game", "36"), - Genre("Gender Bender", "149"), - Genre("Genderswap", "157"), - Genre("Gore", "56"), - Genre("Gyaru", "812"), - Genre("Harem", "17"), - Genre("Historical", "44"), - Genre("Horror", "211"), - Genre("Isekai", "20"), - Genre("Isekai Action", "742"), - Genre("Josei", "164"), - Genre("Magic", "65"), - Genre("Manga", "268"), - Genre("Manhua", "32"), - Genre("Martial Art", "754"), - Genre("Martial Arts", "8"), - Genre("Mature", "46"), - Genre("Mecha", "22"), - Genre("Medical", "704"), - Genre("Medy", "1439"), - Genre("Monsters", "91"), - Genre("Music", "457"), - Genre("Mystery", "30"), - Genre("Office Workers", "1501"), - Genre("Oneshot", "405"), - Genre("Project", "313"), - Genre("Psychological", "23"), - Genre("Reincarnation", "57"), - Genre("Reinkarnasi", "1170"), - Genre("Romance", "15"), - Genre("School", "102"), - Genre("School Life", "9"), - Genre("Sci-fi", "33"), - Genre("Seinen", "18"), - Genre("Shotacon", "1070"), - Genre("Shoujo", "110"), - Genre("Shoujo Ai", "113"), - Genre("Shounen", "10"), - Genre("Shounen Ai", "shounen-ai"), - Genre("Si-fi", "776"), - Genre("Slice of Lif", "773"), - Genre("Slice of Life", "11"), - Genre("Smut", "586"), - Genre("Sports", "103"), - Genre("Super Power", "274"), - Genre("Supernatural", "34"), - Genre("Suspense", "181"), - Genre("Thriller", "170"), - Genre("Tragedy", "92"), - Genre("Urban", "1050"), - Genre("Vampire", "160"), - Genre("Video Games", "1093"), - Genre("Webtoons", "486"), - Genre("Yaoi", "yaoi"), - Genre("Zombies", "377") - ) - - override val hasProjectPage = true -} diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesia.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesia.kt new file mode 100644 index 000000000..70e58bb3a --- /dev/null +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesia.kt @@ -0,0 +1,476 @@ +package eu.kanade.tachiyomi.multisrc.mangathemesia + +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.POST +import eu.kanade.tachiyomi.source.model.Filter +import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.MangasPage +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.source.model.SManga +import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import eu.kanade.tachiyomi.util.asJsoup +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.jsonArray +import kotlinx.serialization.json.jsonPrimitive +import okhttp3.FormBody +import okhttp3.HttpUrl +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.HttpUrl.Companion.toHttpUrlOrNull +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import org.jsoup.select.Elements +import rx.Observable +import uy.kohesive.injekt.injectLazy +import java.lang.IllegalArgumentException +import java.text.SimpleDateFormat +import java.util.Locale +import java.util.concurrent.TimeUnit + +abstract class MangaThemesia( + override val name: String, + override val baseUrl: String, + override val lang: String, + val mangaUrlDirectory: String = "/manga", + private val dateFormat: SimpleDateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale.US) +) : ParsedHttpSource() { + + protected open val json: Json by injectLazy() + + override val supportsLatest = true + + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .connectTimeout(10, TimeUnit.SECONDS) + .readTimeout(30, TimeUnit.SECONDS) + .build() + + open val projectPageString = "/project" + + // Popular (Search with popular order and nothing else) + override fun popularMangaRequest(page: Int) = searchMangaRequest(page, "", FilterList(OrderByFilter("popular"))) + override fun popularMangaParse(response: Response) = searchMangaParse(response) + + // Latest (Search with update order and nothing else) + override fun latestUpdatesRequest(page: Int) = searchMangaRequest(page, "", FilterList(OrderByFilter("update"))) + override fun latestUpdatesParse(response: Response) = searchMangaParse(response) + + // Search + override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { + if (query.startsWith(URL_SEARCH_PREFIX).not()) return super.fetchSearchManga(page, query, filters) + + val mangaPath = try { + mangaPathFromUrl(query.substringAfter(URL_SEARCH_PREFIX)) + ?: return Observable.just(MangasPage(emptyList(), false)) + } catch (e: Exception) { + return Observable.error(e) + } + + return fetchMangaDetails( + SManga.create() + .apply { this.url = "$mangaUrlDirectory/$mangaPath" } + ) + .map { + // Isn't set in returned manga + it.url = "$mangaUrlDirectory/$id" + MangasPage(listOf(it), false) + } + } + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + val url = baseUrl.toHttpUrl().newBuilder() + if (query.isNotEmpty()) { + url.addPathSegments("page/$page").addQueryParameter("s", query) + } else { + url.addPathSegment(mangaUrlDirectory.substring(1)).addQueryParameter("page", page.toString()) + filters.forEach { filter -> + when (filter) { + is AuthorFilter -> { + url.addQueryParameter("author", filter.state) + } + is YearFilter -> { + url.addQueryParameter("yearx", filter.state) + } + is StatusFilter -> { + url.addQueryParameter("status", filter.selectedValue) + } + is TypeFilter -> { + url.addQueryParameter("type", filter.selectedValue) + } + is OrderByFilter -> { + url.addQueryParameter("order", filter.selectedValue) + } + is GenreListFilter -> { + filter.state + .filter { it.state != Filter.TriState.STATE_IGNORE } + .forEach { + val value = if (it.state == Filter.TriState.STATE_EXCLUDE) "-${it.value}" else it.value + url.addQueryParameter("genre[]", value) + } + } + // if site has project page, default value "hasProjectPage" = false + is ProjectFilter -> { + if (filter.selectedValue == "project-filter-on") { + url.setPathSegment(0, projectPageString.substring(1)) + } + } + else -> { /* Do Nothing */ } + } + } + } + return GET(url.toString()) + } + + override fun searchMangaParse(response: Response): MangasPage { + if (genrelist == null) { + genrelist = parseGenres(response.asJsoup(response.peekBody(Long.MAX_VALUE).string())) + } + + return super.searchMangaParse(response) + } + + override fun searchMangaSelector() = ".utao .uta .imgu, .listupd .bs .bsx, .listo .bs .bsx" + + override fun searchMangaFromElement(element: Element) = SManga.create().apply { + thumbnail_url = element.select("img").imgAttr() + title = element.select("a").attr("title") + setUrlWithoutDomain(element.select("a").attr("href")) + } + + override fun searchMangaNextPageSelector() = "div.pagination .next, div.hpage .r" + + // Manga details + open val seriesDetailsSelector = "div.bigcontent, div.animefull, div.main-info" + open val seriesTitleSelector = "h1.entry-title" + open val seriesArtistSelector = ".infotable tr:contains(artist) td:last-child, .tsinfo .imptdt:contains(artist) i, .fmed b:contains(artist)+span, span:contains(artist)" + open val seriesAuthorSelector = ".infotable tr:contains(author) td:last-child, .tsinfo .imptdt:contains(author) i, .fmed b:contains(author)+span, span:contains(author)" + open val seriesDescriptionSelector = ".desc, .entry-content[itemprop=description]" + open val seriesAltNameSelector = ".alternative, .wd-full:contains(alt) span, .alter, .seriestualt" + open val seriesGenreSelector = "div.gnr a, .mgen a, .seriestugenre a, span:contains(genre)" + open val seriesTypeSelector = ".infotable tr:contains(type) td:last-child, .tsinfo .imptdt:contains(type) i, .fmed b:contains(type)+span, span:contains(type) a, a[href*=type\\=]" + open val seriesStatusSelector = ".infotable tr:contains(status) td:last-child, .tsinfo .imptdt:contains(status) i, .fmed b:contains(status)+span span:contains(status)" + open val seriesThumbnailSelector = ".infomanga > div[itemprop=image] img, .thumb img" + + open val altNamePrefix = "Alternative Name: " + + override fun mangaDetailsParse(document: Document) = SManga.create().apply { + document.selectFirst(seriesDetailsSelector).let { seriesDetails -> + title = seriesDetails.selectFirst(seriesTitleSelector)?.text().orEmpty() + artist = seriesDetails.selectFirst(seriesArtistSelector)?.ownText().removeEmptyPlaceholder() + author = seriesDetails.selectFirst(seriesAuthorSelector)?.ownText().removeEmptyPlaceholder() + description = seriesDetails.select(seriesDescriptionSelector).joinToString("\n") { it.text() } + // Add alternative name to manga description + val altName = seriesDetails.selectFirst(seriesAltNameSelector)?.ownText().takeIf { it.isNullOrBlank().not() } + altName?.let { + description = "$description\n\n$altNamePrefix$altName".trim() + } + val genres = seriesDetails.select(seriesGenreSelector).map { it.text() }.toMutableList() + // Add series type (manga/manhwa/manhua/other) to genre + seriesDetails.selectFirst(seriesTypeSelector)?.ownText().takeIf { it.isNullOrBlank().not() }?.let { genres.add(it) } + genre = genres.map { genre -> + genre.lowercase(Locale.forLanguageTag(lang)).replaceFirstChar { char -> + if (char.isLowerCase()) char.titlecase(Locale.forLanguageTag(lang)) + else char.toString() + } + } + .joinToString { it.trim() } + + status = seriesDetails.selectFirst(seriesStatusSelector)?.text().parseStatus() + thumbnail_url = seriesDetails.select(seriesThumbnailSelector).imgAttr() + } + } + + private fun String?.removeEmptyPlaceholder(): String? { + return if (this.isNullOrBlank() || this == "-" || this == "N/A") null else this + } + + open fun String?.parseStatus(): Int = when { + this == null -> SManga.UNKNOWN + listOf("ongoing", "publishing").any { this.contains(it, ignoreCase = true) } -> SManga.ONGOING + this.contains("completed", ignoreCase = true) -> SManga.COMPLETED + else -> SManga.UNKNOWN + } + + // Chapter list + override fun chapterListSelector() = "div.bxcl li, div.cl li, #chapterlist li .eph-num, li:has(div.chbox):has(div.eph-num)" + + override fun chapterListParse(response: Response): List { + val document = response.asJsoup() + val chapters = document.select(chapterListSelector()).map { chapterFromElement(it) } + + // Add timestamp to latest chapter, taken from "Updated On". + // So source which not provide chapter timestamp will have at least one + if (chapters.isNotEmpty() && chapters.first().date_upload == 0L) { + val date = document + .select(".listinfo time[itemprop=dateModified], .fmed:contains(update) time, span:contains(update) time") + .attr("datetime") + if (date.isNotEmpty()) chapters.first().date_upload = parseUpdatedOnDate(date) + } + + countViews(document) + + return chapters + } + + private fun parseUpdatedOnDate(date: String): Long { + return SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(date)?.time ?: 0L + } + + override fun chapterFromElement(element: Element) = SChapter.create().apply { + val urlElements = element.select("a") + setUrlWithoutDomain(urlElements.attr("href")) + name = element.select(".lch a, .chapternum").text().ifBlank { urlElements.first().text() } + date_upload = element.selectFirst(".chapterdate")?.text().parseChapterDate() + } + + protected open fun String?.parseChapterDate(): Long { + if (this == null) return 0 + return try { + dateFormat.parse(this)?.time ?: 0 + } catch (_: Exception) { + 0 + } + } + + // Pages + open val pageSelector = "div#readerarea img" + + override fun pageListParse(document: Document): List { + val htmlPages = document.select(pageSelector) + .filterNot { it.imgAttr().isEmpty() } + .mapIndexed { i, img -> Page(i, "", img.imgAttr()) } + + countViews(document) + + // Some sites also loads pages via javascript + if (htmlPages.isNotEmpty()) { return htmlPages } + + val docString = document.toString() + val imageListJson = JSON_IMAGE_LIST_REGEX.find(docString)?.destructured?.toList()?.get(0).orEmpty() + val imageList = try { + json.parseToJsonElement(imageListJson).jsonArray + } catch (_: IllegalArgumentException) { + emptyList() + } + val scriptPages = imageList.mapIndexed { i, jsonEl -> + Page(i, "", jsonEl.jsonPrimitive.content) + } + + return scriptPages + } + + /** + * Set it to false if you want to disable the extension reporting the view count + * back to the source website through admin-ajax.php. + */ + protected open val sendViewCount: Boolean = true + + protected open fun countViewsRequest(document: Document): Request? { + val wpMangaData = document.select("script:containsData(dynamic_view_ajax)").firstOrNull() + ?.data() ?: return null + + val postId = CHAPTER_PAGE_ID_REGEX.find(wpMangaData)?.groupValues?.get(1) + ?: MANGA_PAGE_ID_REGEX.find(wpMangaData)?.groupValues?.get(1) + ?: return null + + val formBody = FormBody.Builder() + .add("action", "dynamic_view_ajax") + .add("post_id", postId) + .build() + + val newHeaders = headersBuilder() + .set("Content-Length", formBody.contentLength().toString()) + .set("Content-Type", formBody.contentType().toString()) + .set("Referer", document.location()) + .build() + + return POST("$baseUrl/wp-admin/admin-ajax.php", newHeaders, formBody) + } + + /** + * Send the view count request to the Madara endpoint. + * + * @param document The response document with the wp-manga data + */ + protected open fun countViews(document: Document) { + if (!sendViewCount) { + return + } + + val request = countViewsRequest(document) ?: return + runCatching { client.newCall(request).execute().close() } + } + + // Filters + private class AuthorFilter : Filter.Text("Author") + + private class YearFilter : Filter.Text("Year") + + open class SelectFilter( + displayName: String, + vals: Array>, + defaultValue: String? = null + ) : Filter.Select( + displayName, + vals.map { it.first }.toTypedArray(), + vals.indexOfFirst { it.second == defaultValue }.takeIf { it != -1 } ?: 0 + ) { + val selectedValue = vals[state].second + } + + protected class StatusFilter : SelectFilter( + "Status", + arrayOf( + Pair("All", ""), + Pair("Ongoing", "ongoing"), + Pair("Completed", "completed"), + Pair("Hiatus", "hiatus"), + Pair("Dropped", "dropped") + ) + ) + + protected class TypeFilter : SelectFilter( + "Type", + arrayOf( + Pair("All", ""), + Pair("Manga", "Manga"), + Pair("Manhwa", "Manhwa"), + Pair("Manhua", "Manhua"), + Pair("Comic", "Comic") + ) + ) + + protected class OrderByFilter(defaultOrder: String? = null) : SelectFilter( + "Sort By", + arrayOf( + Pair("Default", ""), + Pair("A-Z", "title"), + Pair("Z-A", "titlereverse"), + Pair("Latest Update", "update"), + Pair("Latest Added", "latest"), + Pair("Popular", "popular") + ), + defaultOrder + ) + + protected class ProjectFilter : SelectFilter( + "Filter Project", + arrayOf( + Pair("Show all manga", ""), + Pair("Show only project manga", "project-filter-on") + ) + ) + + protected class Genre(name: String, val value: String) : Filter.TriState(name) + protected class GenreListFilter(genres: List) : Filter.Group("Genre", genres) + + private var genrelist: List? = null + protected open fun getGenreList(): List { + // Filters are fetched immediately once an extension loads + // We're only able to get filters after a loading the manga directory, + // and resetting the filters is the only thing that seems to reinflate the view + return genrelist ?: listOf(Genre("Press reset to attempt to fetch genres", "")) + } + + open val hasProjectPage = false + + override fun getFilterList(): FilterList { + val filters = mutableListOf>( + Filter.Header("NOTE: Ignored if using text search!"), + Filter.Separator(), + AuthorFilter(), + YearFilter(), + StatusFilter(), + TypeFilter(), + OrderByFilter(), + Filter.Header("Genre exclusion is not available for all sources"), + GenreListFilter(getGenreList()), + ) + if (hasProjectPage) { + filters.addAll( + mutableListOf>( + Filter.Separator(), + Filter.Header("NOTE: Can't be used with other filter!"), + Filter.Header("$name Project List page"), + ProjectFilter(), + ) + ) + } + return FilterList(filters) + } + + // Helpers + /** + * Given some string which represents an http urlString, returns path for a manga + * which can be used to fetch its details at "$baseUrl$mangaUrlDirectory/$mangaPath" + * + * @param urlString: String + * + * @returns Path of a manga, or null if none could be found + */ + protected open fun mangaPathFromUrl(urlString: String): String? { + val baseMangaUrl = "$baseUrl$mangaUrlDirectory".toHttpUrl() + val url = urlString.toHttpUrlOrNull() ?: return null + + val isMangaUrl = (baseMangaUrl.host == url.host && pathLengthIs(url, 2) && url.pathSegments[0] == baseMangaUrl.pathSegments[0]) + if (isMangaUrl) return url.pathSegments[1] + + val potentiallyChapterUrl = pathLengthIs(url, 1) + if (potentiallyChapterUrl) { + val response = client.newCall(GET(urlString, headers)).execute() + if (response.isSuccessful.not()) { + response.close() + throw IllegalStateException("HTTP error ${response.code}") + } else if (response.isSuccessful) { + val links = response.asJsoup().select("a[itemprop=item]") + // near the top of page: home > manga > current chapter + if (links.size == 3) { + return links[1].attr("href").toHttpUrlOrNull()?.encodedPath + } + } + } + + return null + } + + private fun pathLengthIs(url: HttpUrl, n: Int, strict: Boolean = false): Boolean { + return url.pathSegments.size == n && url.pathSegments[n - 1].isNotEmpty() || + (!strict && url.pathSegments.size == n + 1 && url.pathSegments[n].isEmpty()) + } + + private fun parseGenres(document: Document): List? { + return document.selectFirst("ul.genrez")?.select("li")?.map { li -> + Genre( + li.selectFirst("label").text(), + li.selectFirst("input[type=checkbox]").attr("value") + ) + } + } + + protected open fun Element.imgAttr(): String = if (this.hasAttr("data-src")) this.attr("abs:data-src") else this.attr("abs:src") + protected open fun Elements.imgAttr(): String = this.first().imgAttr() + + // Unused + override fun popularMangaSelector(): String = throw UnsupportedOperationException("Not used") + override fun popularMangaFromElement(element: Element): SManga = throw UnsupportedOperationException("Not used") + override fun popularMangaNextPageSelector(): String? = throw UnsupportedOperationException("Not used") + + override fun latestUpdatesSelector(): String = throw UnsupportedOperationException("Not used") + override fun latestUpdatesFromElement(element: Element): SManga = throw UnsupportedOperationException("Not used") + override fun latestUpdatesNextPageSelector(): String? = throw UnsupportedOperationException("Not used") + + override fun imageUrlParse(document: Document): String = throw UnsupportedOperationException("Not Used") + + companion object { + const val URL_SEARCH_PREFIX = "url:" + + // More info: https://issuetracker.google.com/issues/36970498 + @Suppress("RegExpRedundantEscape") + private val MANGA_PAGE_ID_REGEX = "post_id\\s*:\\s*(\\d+)\\}".toRegex() + private val CHAPTER_PAGE_ID_REGEX = "chapter_id\\s*=\\s*(\\d+);".toRegex() + + val JSON_IMAGE_LIST_REGEX = "\"images\"\\s*:\\s*(\\[.*?])".toRegex() + } +} diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReaderGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt similarity index 51% rename from multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReaderGenerator.kt rename to multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt index 94a02a3d9..3b30ec98a 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReaderGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt @@ -1,67 +1,108 @@ -package eu.kanade.tachiyomi.multisrc.wpmangareader +package eu.kanade.tachiyomi.multisrc.mangathemesia import generator.ThemeSourceData.MultiLang import generator.ThemeSourceData.SingleLang import generator.ThemeSourceGenerator -class WPMangaReaderGenerator : ThemeSourceGenerator { +class MangaThemesiaGenerator : ThemeSourceGenerator { - override val themePkg = "wpmangareader" + override val themePkg = "mangathemesia" - override val themeClass = "WPMangaReader" + override val themeClass = "MangaThemesia" - override val baseVersionCode: Int = 14 + override val baseVersionCode: Int = 16 override val sources = listOf( + MultiLang("Asura Scans", "https://www.asurascans.com", listOf("en", "tr"), className = "AsuraScansFactory", pkgName = "asurascans", overrideVersionCode = 16), MultiLang("Flame Scans", "https://flamescans.org", listOf("ar", "en"), className = "FlameScansFactory", pkgName = "flamescans", overrideVersionCode = 1), SingleLang("Ace Scans", "https://acescans.xyz", "en", isNsfw = true, overrideVersionCode = 2), SingleLang("Alpha Scans", "https://alpha-scans.org", "en", overrideVersionCode = 1), + SingleLang("Animated Glitched Scans", "https://anigliscans.com", "en"), SingleLang("Arcane scan", "https://arcanescan.fr", "fr"), + SingleLang("ARESManga", "https://aresmanga.com", "ar", pkgName = "iimanga", overrideVersionCode = 2), SingleLang("Azure Scans", "https://azuremanga.com", "en", overrideVersionCode = 1), SingleLang("BeastScans", "https://beastscans.com", "en"), + SingleLang("Boosei", "https://boosei.com", "id", overrideVersionCode = 1), SingleLang("Franxx Mangás", "https://franxxmangas.net", "pt-BR", className = "FranxxMangas", isNsfw = true), SingleLang("Fusion Scanlation", "https://fusionscanlation.com", "es", className = "FusionScanlation", overrideVersionCode = 2), SingleLang("Gabut Scans", "https://gabutscans.com", "id", overrideVersionCode = 1), SingleLang("Gecenin Lordu", "https://geceninlordu.com", "tr", overrideVersionCode = 1), + SingleLang("GoGoManga", "https://gogomanga.fun", "en", overrideVersionCode = 1), + SingleLang("Imagine Scan", "https://imaginescan.com.br", "pt-BR", isNsfw = true, overrideVersionCode = 1), + SingleLang("Imperfect Comics", "https://imperfectcomic.com", "en", overrideVersionCode = 8), SingleLang("InariManga", "https://inarimanga.com", "es"), + SingleLang("Infernal Void Scans", "https://void-scans.com", "en", overrideVersionCode = 4), + SingleLang("Kanzenin", "https://kanzenin.xyz", "id", isNsfw = true), SingleLang("Kiryuu", "https://kiryuu.id", "id", overrideVersionCode = 6), + SingleLang("KlanKomik", "https://klankomik.com", "id", overrideVersionCode = 1), + SingleLang("Komik AV", "https://komikav.com", "id", overrideVersionCode = 1), + SingleLang("Komik Cast", "https://komikcast.me", "id", overrideVersionCode = 12), SingleLang("Komik Lab", "https://komiklab.com", "id"), + SingleLang("Komik Station", "https://komikstation.co", "id", overrideVersionCode = 3), + SingleLang("KomikIndo.co", "https://komikindo.co", "id", className = "KomikindoCo", overrideVersionCode = 3), SingleLang("KomikMama", "https://komikmama.co", "id", overrideVersionCode = 1), + SingleLang("Komiku.com", "https://komiku.com", "id", className = "KomikuCom"), + SingleLang("Kuma Scans (Kuma Translation)", "https://kumascans.com", "en", className = "KumaScans", overrideVersionCode = 1), SingleLang("Legion Scan", "https://legionscans.com", "es"), SingleLang("Magus Manga", "https://magusmanga.com", "ar"), - SingleLang("MangKomik", "https://mangkomik.com", "id"), + SingleLang("Manga Pro", "https://mangaprotm.com", "ar", pkgName = "mangaproz", overrideVersionCode = 3), + SingleLang("Manga Raw.org", "https://mangaraw.org", "ja", className = "MangaRawOrg", overrideVersionCode = 1), SingleLang("MangaKita", "https://mangakita.net", "id", overrideVersionCode = 1), + SingleLang("Mangakyo", "https://www.mangakyo.me", "id"), SingleLang("Mangasusu", "https://mangasusu.co.in", "id", isNsfw = true, overrideVersionCode = 1), + SingleLang("MangaSwat", "https://swatmanga.co", "ar", overrideVersionCode = 7), + SingleLang("MangKomik", "https://mangkomik.com", "id"), SingleLang("Mangás Chan", "https://mangaschan.com", "pt-BR", className = "MangasChan"), SingleLang("Manhua Raw", "https://manhuaraw.com", "en"), SingleLang("ManhwaIndo", "https://manhwaindo.id", "id", isNsfw = true, overrideVersionCode = 2), + SingleLang("Manhwax", "https://manhwax.com", "en", isNsfw = true), + SingleLang("Mareceh", "https://mareceh.com", "id", isNsfw = true, pkgName = "mangceh", overrideVersionCode = 10), SingleLang("Martial Manga", "https://martialmanga.com", "es"), + SingleLang("MasterKomik", "https://masterkomik.com", "id", overrideVersionCode = 1), SingleLang("Miau Scan", "https://miauscan.com", "es"), + SingleLang("Mihentai", "https://mihentai.com", "all", isNsfw = true, overrideVersionCode = 1), SingleLang("Mode Scanlator", "https://modescanlator.com", "pt-BR", overrideVersionCode = 8), SingleLang("Ngomik", "https://ngomik.net", "id", overrideVersionCode = 1), + SingleLang("Non-Stop Scans", "https://www.nonstopscans.com", "en", className = "NonStopScans"), + SingleLang("NoxSubs", "https://noxsubs.com", "tr"), + SingleLang("Omega Scans", "https://omegascans.org", "en", isNsfw = true), SingleLang("Origami Orpheans", "https://origami-orpheans.com.br", "pt-BR", overrideVersionCode = 9), SingleLang("Ozul Scans", "https://ozulscans.com", "ar"), - SingleLang("PMScans", "http://www.rackusreader.org", "en", overrideVersionCode = 2), SingleLang("Patatescans", "https://patatescans.com", "fr", isNsfw = true, overrideVersionCode = 2), + SingleLang("Phantom Scans", "https://phantomscans.com", "en", overrideVersionCode = 1), + SingleLang("Phoenix Fansub", "https://phoenixfansub.com", "es", overrideVersionCode = 2), + SingleLang("PMScans", "http://www.rackusreader.org", "en", overrideVersionCode = 2), + SingleLang("Random Scans", "https://randomscans.xyz", "en"), + SingleLang("Rawkuma", "https://rawkuma.com/", "ja"), + SingleLang("Readkomik", "https://readkomik.com", "en", className = "ReadKomik", overrideVersionCode = 1), SingleLang("Realm Scans", "https://realmscans.com", "en", overrideVersionCode = 3), SingleLang("Sekaikomik", "https://www.sekaikomik.live", "id", isNsfw = true, overrideVersionCode = 9), SingleLang("Sekaikomik", "https://www.sekaikomik.site", "id", isNsfw = true, overrideVersionCode = 8), + SingleLang("Sekte Doujin", "https://sektedoujin.club", "id", isNsfw = true, overrideVersionCode = 3), + SingleLang("Sekte Komik", "https://sektekomik.com", "id", overrideVersionCode = 4), + SingleLang("Shadow Mangas", "https://shadowmangas.com", "es"), + SingleLang("Shea Manga", "https://sheakomik.com", "id", overrideVersionCode = 4), SingleLang("Shooting Star Scans", "https://shootingstarscans.com", "en", overrideVersionCode = 3), SingleLang("Silence Scan", "https://silencescan.com.br", "pt-BR", isNsfw = true, overrideVersionCode = 5), SingleLang("Skull Scans", "https://www.skullscans.com", "en", overrideVersionCode = 1), - SingleLang("Tsundoku Traduções", "https://tsundoku.com.br", "pt-BR", className = "TsundokuTraducoes", overrideVersionCode = 9), - SingleLang("TurkToon", "https://turktoon.com", "tr"), - SingleLang("World Romance Translation", "https://wrt.my.id", "id", overrideVersionCode = 10), - SingleLang("White Cloud Pavilion (New)", "https://www.whitecloudpavilion.com", "en", pkgName = "whitecloudpavilionnew", className = "WhiteCloudPavilion"), - SingleLang("ARESManga", "https://aresmanga.com", "ar", pkgName = "iimanga", overrideVersionCode = 2), + SingleLang("Snudae Scans", "https://snudaescans.com", "en", isNsfw = true, className = "BatotoScans", overrideVersionCode = 1), + SingleLang("Summer Fansub", "https://smmr.in", "pt-BR", isNsfw = true), SingleLang("Sushi-Scan", "https://sushiscan.su", "fr", className = "SushiScan"), - SingleLang("Komiku.com", "https://komiku.com", "id", className = "KomikuCom"), + SingleLang("Tempest Manga", "https://manga.tempestfansub.com", "tr"), + SingleLang("The Apollo Team", "https://theapollo.team", "en"), + SingleLang("Tsundoku Traduções", "https://tsundoku.com.br", "pt-BR", className = "TsundokuTraducoes", overrideVersionCode = 9), + SingleLang("TukangKomik", "https://tukangkomik.com", "id"), + SingleLang("TurkToon", "https://turktoon.com", "tr"), + SingleLang("West Manga", "https://westmanga.info", "id", overrideVersionCode = 1), + SingleLang("White Cloud Pavilion (New)", "https://www.whitecloudpavilion.com", "en", pkgName = "whitecloudpavilionnew", className = "WhiteCloudPavilion"), + SingleLang("World Romance Translation", "https://wrt.my.id", "id", overrideVersionCode = 10), + SingleLang("xCaliBR Scans", "https://xcalibrscans.com", "en", overrideVersionCode = 3), ) companion object { @JvmStatic fun main(args: Array) { - WPMangaReaderGenerator().createAll() + MangaThemesiaGenerator().createAll() } } } diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReaderUrlActivity.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaUrlActivity.kt similarity index 72% rename from multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReaderUrlActivity.kt rename to multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaUrlActivity.kt index b897b063c..6999ab7ae 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReaderUrlActivity.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaUrlActivity.kt @@ -1,4 +1,4 @@ -package eu.kanade.tachiyomi.multisrc.wpmangareader +package eu.kanade.tachiyomi.multisrc.mangathemesia import android.app.Activity import android.content.ActivityNotFoundException @@ -7,7 +7,7 @@ import android.os.Bundle import android.util.Log import kotlin.system.exitProcess -class WPMangaReaderUrlActivity : Activity() { +class MangaThemesiaUrlActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -17,16 +17,16 @@ class WPMangaReaderUrlActivity : Activity() { val mainIntent = Intent().apply { action = "eu.kanade.tachiyomi.SEARCH" - putExtra("query", "${WPMangaReader.URL_SEARCH_PREFIX}${intent?.data?.toString()}") + putExtra("query", "${MangaThemesia.URL_SEARCH_PREFIX}${intent?.data?.toString()}") putExtra("filter", packageName) } try { startActivity(mainIntent) } catch (e: ActivityNotFoundException) { - Log.e("WPMangaReaderUrl", e.toString()) + Log.e("MangaThemesiaUrlActivity", e.toString()) } } else { - Log.e("WPMangaReaderUrl", "could not parse uri from intent $intent") + Log.e("MangaThemesiaUrlActivity", "Could not parse uri from intent $intent") } finish() diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/README.md b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/README.md new file mode 100644 index 000000000..37dfb2e07 --- /dev/null +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/README.md @@ -0,0 +1 @@ +MangaThemesia is WPMangaReader and WPMangaStream merged together as they both had similar code. Both theme was made by [Themesia Studios](https://themesia.com) \ No newline at end of file diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReader.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReader.kt deleted file mode 100644 index f20ab2bef..000000000 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReader.kt +++ /dev/null @@ -1,431 +0,0 @@ -package eu.kanade.tachiyomi.multisrc.wpmangareader - -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.POST -import eu.kanade.tachiyomi.network.asObservableSuccess -import eu.kanade.tachiyomi.source.model.Filter -import eu.kanade.tachiyomi.source.model.FilterList -import eu.kanade.tachiyomi.source.model.MangasPage -import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SChapter -import eu.kanade.tachiyomi.source.model.SManga -import eu.kanade.tachiyomi.source.online.ParsedHttpSource -import eu.kanade.tachiyomi.util.asJsoup -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonPrimitive -import okhttp3.FormBody -import okhttp3.HttpUrl -import okhttp3.HttpUrl.Companion.toHttpUrlOrNull -import okhttp3.OkHttpClient -import okhttp3.Request -import okhttp3.Response -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element -import rx.Observable -import rx.Single -import uy.kohesive.injekt.injectLazy -import java.text.SimpleDateFormat -import java.util.Locale - -abstract class WPMangaReader( - override val name: String, - override val baseUrl: String, - override val lang: String, - val mangaUrlDirectory: String = "/manga", - private val dateFormat: SimpleDateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale.US) -) : ParsedHttpSource() { - - override val supportsLatest = true - - override val client: OkHttpClient = network.cloudflareClient - - protected val json: Json by injectLazy() - - // popular - override fun popularMangaRequest(page: Int) = searchMangaRequest(page, "", FilterList(OrderByFilter(5))) - override fun popularMangaParse(response: Response) = searchMangaParse(response) - - override fun popularMangaFromElement(element: Element) = throw UnsupportedOperationException("Not used") - override fun popularMangaSelector() = throw UnsupportedOperationException("Not used") - override fun popularMangaNextPageSelector() = throw UnsupportedOperationException("Not used") - - // latest - override fun latestUpdatesRequest(page: Int) = searchMangaRequest(page, "", FilterList(OrderByFilter(3))) - override fun latestUpdatesParse(response: Response) = searchMangaParse(response) - - override fun latestUpdatesSelector() = throw UnsupportedOperationException("Not used") - override fun latestUpdatesFromElement(element: Element) = throw UnsupportedOperationException("Not used") - override fun latestUpdatesNextPageSelector() = throw UnsupportedOperationException("Not used") - - // search - override fun searchMangaSelector() = ".utao .uta .imgu, .listupd .bs .bsx, .listo .bs .bsx" - - /** - * Given some string which represents an http url, returns a identifier (id) for a manga - * which can be used to fetch its details at "$baseUrl$mangaUrlDirectory/$id" - * - * @param s: String - url - * - * @returns An identifier for a manga, or null if none could be found - */ - protected open fun mangaIdFromUrl(s: String): Single { - val baseMangaUrl = "$baseUrl$mangaUrlDirectory".toHttpUrlOrNull()!! - return s.toHttpUrlOrNull()?.let { url -> - fun pathLengthIs(url: HttpUrl, n: Int, strict: Boolean = false) = url.pathSegments.size == n && url.pathSegments[n - 1].isNotEmpty() || (!strict && url.pathSegments.size == n + 1 && url.pathSegments[n].isEmpty()) - val isMangaUrl = listOf( - baseMangaUrl.host == url.host, - pathLengthIs(url, 2), - url.pathSegments[0] == baseMangaUrl.pathSegments[0] - ).all { it } - val potentiallyChapterUrl = pathLengthIs(url, 1) - if (isMangaUrl) - Single.just(url.pathSegments[1]) - else if (potentiallyChapterUrl) - client.newCall(GET(s, headers)).asObservableSuccess().map { - val links = it.asJsoup().select("a[itemprop=item]") - if (links.size == 3) // near the top of page: home > manga > current chapter - links[1].attr("href").toHttpUrlOrNull()?.pathSegments?.get(1) - else - null - }.toSingle() - else - Single.just(null) - } ?: Single.just(null) - } - - override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { - if (!query.startsWith(URL_SEARCH_PREFIX)) - return super.fetchSearchManga(page, query, filters) - - return mangaIdFromUrl(query.substringAfter(URL_SEARCH_PREFIX)) - .toObservable() - .concatMap { id -> - if (id == null) - Observable.just(MangasPage(emptyList(), false)) - else - fetchMangaDetails(SManga.create().apply { this.url = "$mangaUrlDirectory/$id" }) - .map { - it.url = "$mangaUrlDirectory/$id" // isn't set in returned manga - MangasPage(listOf(it), false) - } - } - } - - override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { - var url = "$baseUrl".toHttpUrlOrNull()!!.newBuilder() - if (query.isNotEmpty()) { - url.addPathSegments("page/$page").addQueryParameter("s", query) - } else { - url.addPathSegment(mangaUrlDirectory.substring(1)).addQueryParameter("page", "$page") - filters.forEach { filter -> - when (filter) { - is UrlEncoded -> filter.encode(url) - // if site has project page, default value "hasProjectPage" = false - is ProjectFilter -> { - if (filter.toUriPart() == "project-filter-on") { - url = "$baseUrl$projectPageString/page/$page".toHttpUrlOrNull()!!.newBuilder() - } - } - } - } - } - return GET("$url") - } - - open val projectPageString = "/project" - - override fun searchMangaParse(response: Response): MangasPage { - if (genrelist == null) - genrelist = parseGenres(response.asJsoup(response.peekBody(Long.MAX_VALUE).string())) - return super.searchMangaParse(response) - } - - private fun parseGenres(document: Document): List? { - return document.selectFirst("ul.c4")?.select("li")?.map { li -> - LabeledValue(li.selectFirst("label").text(), li.selectFirst("input[type=checkbox]").`val`()) - } - } - - override fun searchMangaFromElement(element: Element) = SManga.create().apply { - thumbnail_url = element.select("img").attr("abs:src") - title = element.select("a").attr("title") - setUrlWithoutDomain(element.select("a").attr("href")) - } - - override fun searchMangaNextPageSelector() = "div.pagination .next, div.hpage .r" - - // manga details - override fun mangaDetailsParse(document: Document) = SManga.create().apply { - author = document.select(seriesAuthorSelector).firstOrNull()?.ownText() - artist = document.select(seriesArtistSelector).firstOrNull()?.ownText() - genre = document.select(seriesGenreSelector).joinToString { it.text() } - status = parseStatus(document.select(seriesStatusSelector).text()) - title = document.selectFirst(seriesTitleSelector).text() - thumbnail_url = document.select(seriesThumbnailSelector).attr("abs:src") - description = document.select(seriesDescriptionSelector).joinToString("\n") { it.text() } - - // add series type(manga/manhwa/manhua/other) thinggy to genre - document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not() && genre!!.contains(it, true).not()) { - genre += if (genre!!.isEmpty()) it else ", $it" - } - } - - // add alternative name to manga description - document.select(altNameSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not()) { - description += when { - description!!.isEmpty() -> altName + it - else -> "\n\n$altName" + it - } - } - } - } - - open val seriesAuthorSelector = ".listinfo li:contains(Author), .tsinfo .imptdt:nth-child(4) i, .infotable tr:contains(author) td:last-child" - open val seriesArtistSelector = ".infotable tr:contains(artist) td:last-child, .tsinfo .imptdt:contains(artist) i" - open val seriesGenreSelector = "div.gnr a, .mgen a, .seriestugenre a" - open val seriesStatusSelector = "div.listinfo li:contains(Status), .tsinfo .imptdt:contains(status), .tsinfo .imptdt:contains(الحالة), .infotable tr:contains(status) td" - open val seriesTitleSelector = "h1.entry-title" - open val seriesThumbnailSelector = ".infomanga > div[itemprop=image] img, .thumb img" - open val seriesDescriptionSelector = ".desc, .entry-content[itemprop=description]" - open val seriesTypeSelector = "span:contains(Type) a, .imptdt:contains(Type) :last-child, a[href*=type\\=], .infotable tr:contains(Type) td:last-child" - open val altNameSelector = ".alternative, .seriestualt" - open val altName = "Alternative Name" + ": " - - open fun parseStatus(status: String) = when { - status.contains("Ongoing") -> SManga.ONGOING - status.contains("Completed") -> SManga.COMPLETED - else -> SManga.UNKNOWN - } - - // chapters - override fun chapterListSelector() = "div.bxcl li, #chapterlist li .eph-num a" - - override fun chapterListParse(response: Response): List { - val document = response.asJsoup() - val chapters = document.select(chapterListSelector()).map { chapterFromElement(it) } - - // Add timestamp to latest chapter, taken from "Updated On". so source which not provide chapter timestamp will have atleast one - val date = document.select(".listinfo time[itemprop=dateModified]").attr("datetime") - val checkChapter = document.select(chapterListSelector()).firstOrNull() - if (date != "" && checkChapter != null) chapters[0].date_upload = parseDate(date) - - countViews(document) - - return chapters - } - - private fun parseChapterDate(date: String): Long { - return try { - dateFormat.parse(date)?.time ?: 0 - } catch (_: Exception) { - 0L - } - } - - private fun parseDate(date: String): Long { - return SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(date)?.time ?: 0L - } - - override fun chapterFromElement(element: Element) = SChapter.create().apply { - setUrlWithoutDomain(element.select("a").attr("href").substringAfter(baseUrl)) - name = element.select(".lch a, .chapternum").text() - date_upload = element.select(".chapterdate").firstOrNull()?.text()?.let { parseChapterDate(it) } ?: 0 - } - - // pages - open val pageSelector = "div#readerarea img" - - override fun pageListParse(document: Document): List { - val pages = mutableListOf() - document.select(pageSelector) - .filterNot { it.attr("abs:src").isNullOrEmpty() } - .mapIndexed { i, img -> pages.add(Page(i, "", img.attr("abs:src"))) } - - countViews(document) - - // Some sites like Mangakita, MangKomik now load pages via javascript - if (pages.isNotEmpty()) { return pages } - - val docString = document.toString() - val imageListRegex = Regex("\\\"images\\\"\\s*:\\s*(\\[.*?\\])") - val imageListJson = imageListRegex.find(docString)!!.destructured.toList()[0] - - val imageList = json.parseToJsonElement(imageListJson).jsonArray - - pages += imageList.mapIndexed { i, jsonEl -> - Page(i, "", jsonEl.jsonPrimitive.content) - } - - return pages - } - - override fun imageUrlParse(document: Document): String = throw UnsupportedOperationException("Not Used") - - /** - * Set it to false if you want to disable the extension reporting the view count - * back to the source website through admin-ajax.php. - */ - protected open val sendViewCount: Boolean = true - - protected open fun countViewsRequest(document: Document): Request? { - val wpMangaData = document.select("script:containsData(dynamic_view_ajax)").firstOrNull() - ?.data() ?: return null - - val postId = CHAPTER_PAGE_ID_REGEX.find(wpMangaData)?.groupValues?.get(1) - ?: MANGA_PAGE_ID_REGEX.find(wpMangaData)?.groupValues?.get(1) - ?: return null - - val formBody = FormBody.Builder() - .add("action", "dynamic_view_ajax") - .add("post_id", postId) - .build() - - val newHeaders = headersBuilder() - .set("Content-Length", formBody.contentLength().toString()) - .set("Content-Type", formBody.contentType().toString()) - .set("Referer", document.location()) - .build() - - return POST("$baseUrl/wp-admin/admin-ajax.php", newHeaders, formBody) - } - - /** - * Send the view count request to the Madara endpoint. - * - * @param document The response document with the wp-manga data - */ - protected open fun countViews(document: Document) { - if (!sendViewCount) { - return - } - - val request = countViewsRequest(document) ?: return - runCatching { client.newCall(request).execute().close() } - } - - private interface UrlEncoded { - fun encode(url: HttpUrl.Builder) - } - - // essentially a named pair - protected class LabeledValue(val displayname: String, val _value: String?) { - val value: String get() = _value ?: displayname - override fun toString(): String = displayname - } - - private open class Select(header: String, values: Array, state: Int = 0) : Filter.Select(header, values, state) { - val selected: T - get() = this.values[this.state] - } - - private open class MultiSelect(header: String, val elems: List) : - Filter.Group(header, elems.map { object : Filter.CheckBox("$it") {} }) { - val selected: Sequence - get() = this.elems.asSequence().filterIndexed { i, _ -> this.state[i].state } - } - - open val hasProjectPage = false - - // filters - override fun getFilterList(): FilterList { - val filters = mutableListOf>( - Filter.Header("NOTE: Ignored if using text search!"), - GenreFilter(), - StatusFilter(), - TypesFilter(), - OrderByFilter(), - ) - if (hasProjectPage) { - filters.addAll( - mutableListOf>( - Filter.Separator(), - Filter.Header("NOTE: cant be used with other filter!"), - Filter.Header("$name Project List page"), - ProjectFilter(), - ) - ) - } - return FilterList(filters) - } - - protected class ProjectFilter : UriPartFilter( - "Filter Project", - arrayOf( - Pair("Show all manga", ""), - Pair("Show only project manga", "project-filter-on") - ) - ) - - open class UriPartFilter(displayName: String, private val vals: Array>) : - Filter.Select(displayName, vals.map { it.first }.toTypedArray()) { - fun toUriPart() = vals[state].second - } - - private fun GenreFilter() = object : MultiSelect("Genre", getGenreList()), UrlEncoded { - override fun encode(url: HttpUrl.Builder) { - selected.forEach { url.addQueryParameter("genre[]", it.value) } - } - } - - private fun StatusFilter() = object : Select("Status", getPublicationStatus()), UrlEncoded { - override fun encode(url: HttpUrl.Builder) { - url.addQueryParameter("status", selected.value) - } - } - - private fun TypesFilter() = object : Select("Type", getContentType()), UrlEncoded { - override fun encode(url: HttpUrl.Builder) { - url.addQueryParameter("type", selected.value) - } - } - - private fun OrderByFilter(state: Int = 0) = object : Select("Order By", getOrderBy(), state), UrlEncoded { - override fun encode(url: HttpUrl.Builder) { - url.addQueryParameter("order", selected.value) - } - } - - // overridable - // some sources have numeric values for filters - private var genrelist: List? = null - protected open fun getGenreList(): List { - // Filters are fetched immediately once an extension loads - // We're only able to get filters after a loading the manga directory, and resetting - // the filters is the only thing that seems to reinflate the view - return genrelist ?: listOf(LabeledValue("Press reset to attempt to fetch genres", "")) - } - - private fun getPublicationStatus() = arrayOf( - LabeledValue("All", ""), - LabeledValue("Ongoing", "ongoing"), - LabeledValue("Completed", "completed"), - LabeledValue("Hiatus", "hiatus") - ) - - private fun getContentType() = arrayOf( - LabeledValue("All", ""), - LabeledValue("Manga", "manga"), - LabeledValue("Manhwa", "manhwa"), - LabeledValue("Manhua", "manhua"), - LabeledValue("Comic", "comic") - ) - - private fun getOrderBy() = arrayOf( - LabeledValue("Default", ""), - LabeledValue("A-Z", "title"), - LabeledValue("Z-A", "titlereverse"), - LabeledValue("Update", "update"), - LabeledValue("Added", "latest"), - LabeledValue("Popular", "popular") - ) - - companion object { - const val URL_SEARCH_PREFIX = "url:" - - private val MANGA_PAGE_ID_REGEX = "post_id\\s*:\\s*(\\d+)\\}".toRegex() - private val CHAPTER_PAGE_ID_REGEX = "post_id\\s*=\\s*(\\d+);?".toRegex() - } -} diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStream.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStream.kt deleted file mode 100644 index b302688a0..000000000 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStream.kt +++ /dev/null @@ -1,607 +0,0 @@ -package eu.kanade.tachiyomi.multisrc.wpmangastream - -import android.app.Application -import android.content.SharedPreferences -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.POST -import eu.kanade.tachiyomi.network.asObservableSuccess -import eu.kanade.tachiyomi.source.ConfigurableSource -import eu.kanade.tachiyomi.source.model.Filter -import eu.kanade.tachiyomi.source.model.FilterList -import eu.kanade.tachiyomi.source.model.MangasPage -import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SChapter -import eu.kanade.tachiyomi.source.model.SManga -import eu.kanade.tachiyomi.source.online.ParsedHttpSource -import eu.kanade.tachiyomi.util.asJsoup -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonPrimitive -import okhttp3.FormBody -import okhttp3.Headers -import okhttp3.HttpUrl -import okhttp3.HttpUrl.Companion.toHttpUrl -import okhttp3.HttpUrl.Companion.toHttpUrlOrNull -import okhttp3.OkHttpClient -import okhttp3.Request -import okhttp3.Response -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element -import org.jsoup.select.Elements -import rx.Observable -import rx.Single -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get -import uy.kohesive.injekt.injectLazy -import java.text.SimpleDateFormat -import java.util.Calendar -import java.util.Locale -import java.util.concurrent.TimeUnit - -abstract class WPMangaStream( - override val name: String, - override val baseUrl: String, - override val lang: String, - private val dateFormat: SimpleDateFormat = SimpleDateFormat("MMM d, yyyy", Locale.US) -) : ConfigurableSource, ParsedHttpSource() { - override val supportsLatest = true - - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } - - override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) { - val thumbsPref = androidx.preference.ListPreference(screen.context).apply { - key = SHOW_THUMBNAIL_PREF_Title - title = SHOW_THUMBNAIL_PREF_Title - entries = arrayOf("Show high quality", "Show mid quality", "Show low quality") - entryValues = arrayOf("0", "1", "2") - summary = "%s" - - setOnPreferenceChangeListener { _, newValue -> - val selected = newValue as String - val index = this.findIndexOfValue(selected) - preferences.edit().putInt(SHOW_THUMBNAIL_PREF, index).commit() - } - } - screen.addPreference(thumbsPref) - } - - private fun getShowThumbnail(): Int = preferences.getInt(SHOW_THUMBNAIL_PREF, 0) - - override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .connectTimeout(10, TimeUnit.SECONDS) - .readTimeout(30, TimeUnit.SECONDS) - .build() - - protected fun Element.imgAttr(): String = if (this.hasAttr("data-src")) this.attr("abs:data-src") else this.attr("abs:src") - protected fun Elements.imgAttr(): String = this.first().imgAttr() - - private val json: Json by injectLazy() - - override fun popularMangaRequest(page: Int): Request { - return GET("$baseUrl/manga/?page=$page&order=popular", headers) - } - - override fun latestUpdatesRequest(page: Int): Request { - return GET("$baseUrl/manga/?page=$page&order=update", headers) - } - - /** - * Given some string which represents an http url, returns the URI path to the corresponding series - * if the original pointed to either a series or a chapter - * - * @param s: String - url - * - * @returns URI path or null - */ - protected open fun mangaPathFromUrl(s: String): Single { - val baseMangaUrl = baseUrl.toHttpUrlOrNull()!! - // Would be dope if wpmangastream had a mangaUrlDirectory like wpmangareader - val mangaDirectories = listOf("manga", "comics", "komik") - return s.toHttpUrlOrNull()?.let { url -> - fun pathLengthIs(url: HttpUrl, n: Int, strict: Boolean = false) = url.pathSegments.size == n && url.pathSegments[n - 1].isNotEmpty() || (!strict && url.pathSegments.size == n + 1 && url.pathSegments[n].isEmpty()) - val potentiallyChapterUrl = pathLengthIs(url, 1) - val isMangaUrl = listOf( - baseMangaUrl.topPrivateDomain() == url.topPrivateDomain(), - pathLengthIs(url, 2), - url.pathSegments[0] in mangaDirectories - ).all { it } - if (isMangaUrl) - Single.just(url.encodedPath) - else if (potentiallyChapterUrl) - client.newCall(GET(s, headers)).asObservableSuccess().map { - val links = it.asJsoup().select("a[itemprop=item]") - if (links.size == 3) // near the top of page: home > manga > current chapter - links[1].attr("href").toHttpUrlOrNull()?.encodedPath - else - null - }.toSingle() - else - Single.just(null) - } ?: Single.just(null) - } - - override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { - if (!query.startsWith(URL_SEARCH_PREFIX)) - return super.fetchSearchManga(page, query, filters) - - return mangaPathFromUrl(query.substringAfter(URL_SEARCH_PREFIX)) - .toObservable() - .concatMap { path -> - if (path == null) - Observable.just(MangasPage(emptyList(), false)) - else - fetchMangaDetails(SManga.create().apply { this.url = path }) - .map { - it.url = path // isn't set in returned manga - MangasPage(listOf(it), false) - } - } - } - - override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { - var url = "$baseUrl/manga/".toHttpUrlOrNull()!!.newBuilder() - url.addQueryParameter("title", query) - url.addQueryParameter("page", page.toString()) - filters.forEach { filter -> - when (filter) { - is AuthorFilter -> { - url.addQueryParameter("author", filter.state) - } - is YearFilter -> { - url.addQueryParameter("yearx", filter.state) - } - is StatusFilter -> { - url.addQueryParameter("status", filter.toUriPart()) - } - is TypeFilter -> { - url.addQueryParameter("type", filter.toUriPart()) - } - is SortByFilter -> { - url.addQueryParameter("order", filter.toUriPart()) - } - is GenreListFilter -> { - filter.state - .filter { it.state != Filter.TriState.STATE_IGNORE } - .forEach { url.addQueryParameter("genre[]", it.id) } - } - // if site has project page, default value "hasProjectPage" = false - is ProjectFilter -> { - if (filter.toUriPart() == "project-filter-on") { - url = "$baseUrl$projectPageString/page/$page".toHttpUrlOrNull()!!.newBuilder() - } - } - } - } - return GET(url.build().toString(), headers) - } - - open val projectPageString = "/project" - - override fun popularMangaSelector() = "div.bs" - override fun latestUpdatesSelector() = popularMangaSelector() - override fun searchMangaSelector() = popularMangaSelector() - - override fun popularMangaFromElement(element: Element): SManga { - val manga = SManga.create() - manga.thumbnail_url = element.select("div.limit img").imgAttr() - element.select("div.bsx > a").first().let { - manga.setUrlWithoutDomain(it.attr("href")) - manga.title = it.attr("title") - } - return manga - } - - override fun searchMangaFromElement(element: Element): SManga = popularMangaFromElement(element) - override fun latestUpdatesFromElement(element: Element): SManga = popularMangaFromElement(element) - - override fun popularMangaNextPageSelector(): String? = "a.next.page-numbers, a.r" - override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector() - override fun searchMangaNextPageSelector() = popularMangaNextPageSelector() - - override fun mangaDetailsParse(document: Document): SManga { - return SManga.create().apply { - document.select("div.bigcontent, div.animefull, div.main-info").firstOrNull()?.let { infoElement -> - status = parseStatus(infoElement.select(mangaDetailsSelectorStatus).firstOrNull()?.ownText()) - author = isEmptyPlaceholder(infoElement.select(mangaDetailsSelectorAuthor).firstOrNull()?.ownText()) - artist = isEmptyPlaceholder(infoElement.select(mangaDetailsSelectorArtist).firstOrNull()?.ownText()) - description = infoElement.select(mangaDetailsSelectorDescription).joinToString("\n") { it.text() } - thumbnail_url = infoElement.select(mangaDetailsSelectorThumbnail).imgAttr() - - val genres = infoElement.select(mangaDetailsSelectorGenre) - .map { element -> element.text().lowercase() } - .toMutableSet() - - // add series type(manga/manhwa/manhua/other) thinggy to genre - document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let { - if (it.isEmpty().not() && genres.contains(it).not()) { - genres.add(it.lowercase()) - } - } - - genre = genres.toList().map { it.capitalize() }.joinToString(", ") - - // add alternative name to manga description - document.select(altNameSelector).firstOrNull()?.ownText()?.let { - if (it.isBlank().not() && it != "N/A" && it != "-") { - description = when { - description.isNullOrBlank() -> altName + it - else -> description + "\n\n$altName" + it - } - } - } - } - } - } - // Manga Details Selector - open val mangaDetailsSelectorAuthor = "span:contains(Author:), span:contains(Pengarang:), .fmed b:contains(Author)+span, .imptdt:contains(Author) i" - open val mangaDetailsSelectorArtist = ".fmed b:contains(Artist)+span, .imptdt:contains(Artist) i" - open val mangaDetailsSelectorStatus = "span:contains(Status:), .imptdt:contains(Status) i" - open val mangaDetailsSelectorDescription = "div.desc p, div.entry-content p" - open val mangaDetailsSelectorThumbnail = "div.thumb img" - open val mangaDetailsSelectorGenre = "span:contains(Genre) a, .mgen a" - - open val seriesTypeSelector = "span:contains(Type) a, .imptdt:contains(Type) a, a[href*=type\\=], .infotable tr:contains(Type) td:last-child" - open val altNameSelector = ".alternative, .wd-full:contains(Alt) span, .alter, .seriestualt" - open val altName = "Alternative Name" + ": " - - protected open fun parseStatus(element: String?): Int = when { - element == null -> SManga.UNKNOWN - listOf("ongoing", "publishing").any { it.contains(element, ignoreCase = true) } -> SManga.ONGOING - listOf("completed").any { it.contains(element, ignoreCase = true) } -> SManga.COMPLETED - else -> SManga.UNKNOWN - } - - private fun isEmptyPlaceholder(string: String?): String? { - return if (string == "-" || string == "N/A") "" else string - } - - override fun chapterListSelector() = "div.bxcl ul li, div.cl ul li, ul li:has(div.chbox):has(div.eph-num)" - - override fun chapterListParse(response: Response): List { - val document = response.asJsoup() - val chapters = document.select(chapterListSelector()).map { chapterFromElement(it) } - - // Add timestamp to latest chapter, taken from "Updated On". so source which not provide chapter timestamp will have atleast one - val date = document.select(".fmed:contains(update) time ,span:contains(update) time").attr("datetime") - val checkChapter = document.select(chapterListSelector()).firstOrNull() - if (date != "" && checkChapter != null) chapters[0].date_upload = parseDate(date) - - countViews(document) - - return chapters - } - - private fun parseDate(date: String): Long { - return SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(date)?.time ?: 0L - } - - override fun chapterFromElement(element: Element): SChapter { - val urlElement = element.select(".lchx > a, span.leftoff a, div.eph-num > a").first() - val chapter = SChapter.create() - chapter.setUrlWithoutDomain(urlElement.attr("href")) - chapter.name = if (urlElement.select("span.chapternum").isNotEmpty()) urlElement.select("span.chapternum").text() else urlElement.text() - chapter.date_upload = element.select("span.rightoff, time, span.chapterdate").firstOrNull()?.text()?.let { parseChapterDate(it) } - ?: 0 - return chapter - } - - fun parseChapterDate(date: String): Long { - return if (date.endsWith("ago")) { - val value = date.split(' ')[0].toInt() - when { - "min" in date -> Calendar.getInstance().apply { - add(Calendar.MINUTE, value * -1) - }.timeInMillis - "hour" in date -> Calendar.getInstance().apply { - add(Calendar.HOUR_OF_DAY, value * -1) - }.timeInMillis - "day" in date -> Calendar.getInstance().apply { - add(Calendar.DATE, value * -1) - }.timeInMillis - "week" in date -> Calendar.getInstance().apply { - add(Calendar.DATE, value * 7 * -1) - }.timeInMillis - "month" in date -> Calendar.getInstance().apply { - add(Calendar.MONTH, value * -1) - }.timeInMillis - "year" in date -> Calendar.getInstance().apply { - add(Calendar.YEAR, value * -1) - }.timeInMillis - else -> { - 0L - } - } - } else { - try { - dateFormat.parse(date)?.time ?: 0 - } catch (_: Exception) { - 0L - } - } - } - - override fun prepareNewChapter(chapter: SChapter, manga: SManga) { - val basic = Regex("""Chapter\s([0-9]+)""") - when { - basic.containsMatchIn(chapter.name) -> { - basic.find(chapter.name)?.let { - chapter.chapter_number = it.groups[1]?.value!!.toFloat() - } - } - } - } - - open val pageSelector = "div#readerarea img" - - override fun pageListParse(document: Document): List { - val htmlPages = document.select(pageSelector) - .filterNot { it.attr("abs:src").isNullOrEmpty() } - .mapIndexed { i, img -> Page(i, "", img.attr("abs:src")) } - .toMutableList() - - val docString = document.toString() - val imageListRegex = Regex("\\\"images.*?:.*?(\\[.*?\\])") - val imageListJson = imageListRegex.find(docString)!!.destructured.toList()[0] - - val imageList = json.parseToJsonElement(imageListJson).jsonArray - val baseResolver = baseUrl.toHttpUrl() - - val scriptPages = imageList.mapIndexed { i, jsonEl -> - val imageUrl = jsonEl.jsonPrimitive.content - Page(i, "", baseResolver.resolve(imageUrl).toString()) - } - - if (htmlPages.size < scriptPages.size) { - htmlPages += scriptPages - } - - countViews(document) - - return htmlPages.distinctBy { it.imageUrl } - } - - override fun imageUrlParse(document: Document): String = throw UnsupportedOperationException("Not used") - - override fun imageRequest(page: Page): Request { - val headers = Headers.Builder() - headers.apply { - add("Accept", "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8") - add("Referer", baseUrl) - add("User-Agent", "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.100 Mobile Safari/537.36") - } - - if (page.imageUrl!!.contains(".wp.com")) { - headers.apply { - set("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3") - } - } - - return GET(getImageUrl(page.imageUrl!!, getShowThumbnail()), headers.build()) - } - - private fun getImageUrl(originalUrl: String, quality: Int): String { - val url = originalUrl.substringAfter("//") - return when (quality) { - LOW_QUALITY -> "https://images.weserv.nl/?w=300&q=70&url=$url" - MID_QUALITY -> "https://images.weserv.nl/?w=600&q=70&url=$url" - else -> originalUrl - } - } - - /** - * Set it to false if you want to disable the extension reporting the view count - * back to the source website through admin-ajax.php. - */ - protected open val sendViewCount: Boolean = true - - protected open fun countViewsRequest(document: Document): Request? { - val wpMangaData = document.select("script:containsData(dynamic_view_ajax)").firstOrNull() - ?.data() ?: return null - - val postId = CHAPTER_PAGE_ID_REGEX.find(wpMangaData)?.groupValues?.get(1) - ?: MANGA_PAGE_ID_REGEX.find(wpMangaData)?.groupValues?.get(1) - ?: return null - - val formBody = FormBody.Builder() - .add("action", "dynamic_view_ajax") - .add("post_id", postId) - .build() - - val newHeaders = headersBuilder() - .set("Content-Length", formBody.contentLength().toString()) - .set("Content-Type", formBody.contentType().toString()) - .set("Referer", document.location()) - .build() - - return POST("$baseUrl/wp-admin/admin-ajax.php", newHeaders, formBody) - } - - /** - * Send the view count request to the Madara endpoint. - * - * @param document The response document with the wp-manga data - */ - protected open fun countViews(document: Document) { - if (!sendViewCount) { - return - } - - val request = countViewsRequest(document) ?: return - runCatching { client.newCall(request).execute().close() } - } - - private class AuthorFilter : Filter.Text("Author") - - private class YearFilter : Filter.Text("Year") - - protected class TypeFilter : UriPartFilter( - "Type", - arrayOf( - Pair("Default", ""), - Pair("Manga", "Manga"), - Pair("Manhwa", "Manhwa"), - Pair("Manhua", "Manhua"), - Pair("Comic", "Comic") - ) - ) - - protected class SortByFilter : UriPartFilter( - "Sort By", - arrayOf( - Pair("Default", ""), - Pair("A-Z", "title"), - Pair("Z-A", "titlereverse"), - Pair("Latest Update", "update"), - Pair("Latest Added", "latest"), - Pair("Popular", "popular") - ) - ) - - protected class StatusFilter : UriPartFilter( - "Status", - arrayOf( - Pair("All", ""), - Pair("Ongoing", "ongoing"), - Pair("Completed", "completed"), - Pair("Hiatus", "hiatus"), - Pair("Dropped", "dropped") - ) - ) - - protected class ProjectFilter : UriPartFilter( - "Filter Project", - arrayOf( - Pair("Show all manga", ""), - Pair("Show only project manga", "project-filter-on") - ) - ) - - protected class Genre(name: String, val id: String = name) : Filter.TriState(name) - protected class GenreListFilter(genres: List) : Filter.Group("Genre", genres) - - open val hasProjectPage = false - - override fun getFilterList(): FilterList { - val filters = mutableListOf>( - Filter.Header("NOTE: Ignored if using text search!"), - Filter.Header("Genre exclusion not available for all sources"), - Filter.Separator(), - AuthorFilter(), - YearFilter(), - StatusFilter(), - TypeFilter(), - SortByFilter(), - GenreListFilter(getGenreList()), - ) - if (hasProjectPage) { - filters.addAll( - mutableListOf>( - Filter.Separator(), - Filter.Header("NOTE: cant be used with other filter!"), - Filter.Header("$name Project List page"), - ProjectFilter(), - ) - ) - } - return FilterList(filters) - } - - protected open fun getGenreList(): List = listOf( - Genre("4 Koma", "4-koma"), - Genre("Action", "action"), - Genre("Adult", "adult"), - Genre("Adventure", "adventure"), - Genre("Comedy", "comedy"), - Genre("Completed", "completed"), - Genre("Cooking", "cooking"), - Genre("Crime", "crime"), - Genre("Cultivation", "cultivation"), - Genre("Demon", "demon"), - Genre("Demons", "demons"), - Genre("Doujinshi", "doujinshi"), - Genre("Drama", "drama"), - Genre("Dungeons", "dungeons"), - Genre("Ecchi", "ecchi"), - Genre("Fantasy", "fantasy"), - Genre("Game", "game"), - Genre("Games", "games"), - Genre("Gender Bender", "gender-bender"), - Genre("Genius", "genius"), - Genre("Gore", "gore"), - Genre("Harem", "harem"), - Genre("Hero", "hero"), - Genre("Historical", "historical"), - Genre("Horror", "horror"), - Genre("Isekai", "isekai"), - Genre("Josei", "josei"), - Genre("Magic", "magic"), - Genre("Manga", "manga"), - Genre("Manhua", "manhua"), - Genre("Manhwa", "manhwa"), - Genre("Martial Art", "martial-art"), - Genre("Martial Arts", "martial-arts"), - Genre("Mature", "mature"), - Genre("Mecha", "mecha"), - Genre("Military", "military"), - Genre("Monster", "monster"), - Genre("Monster Girls", "monster-girls"), - Genre("Monsters", "monsters"), - Genre("Music", "music"), - Genre("Murim", "murim"), - Genre("Mystery", "mystery"), - Genre("One-shot", "one-shot"), - Genre("Oneshot", "oneshot"), - Genre("Overpowered", "overpowered"), - Genre("Police", "police"), - Genre("Pshycological", "pshycological"), - Genre("Psychological", "psychological"), - Genre("Reincarnation", "reincarnation"), - Genre("Reverse Harem", "reverse-harem"), - Genre("Return", "return"), - Genre("Romancce", "romancce"), - Genre("Romance", "romance"), - Genre("Samurai", "samurai"), - Genre("School", "school"), - Genre("School Life", "school-life"), - Genre("Sci-fi", "sci-fi"), - Genre("Seinen", "seinen"), - Genre("Shoujo", "shoujo"), - Genre("Shoujo Ai", "shoujo-ai"), - Genre("Shounen", "shounen"), - Genre("Shounen Ai", "shounen-ai"), - Genre("Slice of Life", "slice-of-life"), - Genre("Sports", "sports"), - Genre("Super Power", "super-power"), - Genre("Supernatural", "supernatural"), - Genre("Thriller", "thriller"), - Genre("Time Travel", "time-travel"), - Genre("Tragedy", "tragedy"), - Genre("Vampire", "vampire"), - Genre("Villain", "villain"), - Genre("Webtoon", "webtoon"), - Genre("Webtoons", "webtoons"), - Genre("Yaoi", "yaoi"), - Genre("Yuri", "yuri"), - Genre("Zombies", "zombies") - ) - - open class UriPartFilter(displayName: String, private val vals: Array>) : - Filter.Select(displayName, vals.map { it.first }.toTypedArray()) { - fun toUriPart() = vals[state].second - } - - companion object { - private const val MID_QUALITY = 1 - private const val LOW_QUALITY = 2 - - private const val SHOW_THUMBNAIL_PREF_Title = "Default thumbnail quality" - private const val SHOW_THUMBNAIL_PREF = "showThumbnailDefault" - - const val URL_SEARCH_PREFIX = "url:" - - private val MANGA_PAGE_ID_REGEX = "post_id\\s*:\\s*(\\d+)\\}".toRegex() - private val CHAPTER_PAGE_ID_REGEX = "chapter_id\\s*=\\s*(\\d+);?".toRegex() - } -} diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamGenerator.kt deleted file mode 100644 index d812e4361..000000000 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamGenerator.kt +++ /dev/null @@ -1,65 +0,0 @@ -package eu.kanade.tachiyomi.multisrc.wpmangastream - -import generator.ThemeSourceData.MultiLang -import generator.ThemeSourceData.SingleLang -import generator.ThemeSourceGenerator - -class WPMangaStreamGenerator : ThemeSourceGenerator { - - override val themePkg = "wpmangastream" - - override val themeClass = "WPMangaStream" - - override val baseVersionCode: Int = 15 - - override val sources = listOf( - MultiLang("Asura Scans", "https://www.asurascans.com", listOf("en", "tr"), className = "AsuraScansFactory", pkgName = "asurascans", overrideVersionCode = 16), - SingleLang("Animated Glitched Scans", "https://anigliscans.com", "en"), - SingleLang("Boosei", "https://boosei.com", "id", overrideVersionCode = 1), - SingleLang("GoGoManga", "https://gogomanga.fun", "en", overrideVersionCode = 1), - SingleLang("Imagine Scan", "https://imaginescan.com.br", "pt-BR", isNsfw = true, overrideVersionCode = 1), - SingleLang("Imperfect Comics", "https://imperfectcomic.com", "en", overrideVersionCode = 8), - SingleLang("Infernal Void Scans", "https://void-scans.com", "en", overrideVersionCode = 4), - SingleLang("Kanzenin", "https://kanzenin.xyz", "id", isNsfw = true), - SingleLang("KlanKomik", "https://klankomik.com", "id", overrideVersionCode = 1), - SingleLang("Komik AV", "https://komikav.com", "id", overrideVersionCode = 1), - SingleLang("Komik Cast", "https://komikcast.me", "id", overrideVersionCode = 12), - SingleLang("Komik Station", "https://komikstation.co", "id", overrideVersionCode = 3), - SingleLang("KomikIndo.co", "https://komikindo.co", "id", className = "KomikindoCo", overrideVersionCode = 3), - SingleLang("Kuma Scans (Kuma Translation)", "https://kumascans.com", "en", className = "KumaScans", overrideVersionCode = 1), - SingleLang("Manga Pro", "https://mangaprotm.com", "ar", pkgName = "mangaproz", overrideVersionCode = 3), - SingleLang("Manga Raw.org", "https://mangaraw.org", "ja", className = "MangaRawOrg", overrideVersionCode = 1), - SingleLang("Manhwax", "https://manhwax.com", "en", isNsfw = true), - SingleLang("MangaSwat", "https://swatmanga.co", "ar", overrideVersionCode = 7), - SingleLang("Mangakyo", "https://www.mangakyo.me", "id"), - SingleLang("Mareceh", "https://mareceh.com", "id", isNsfw = true, pkgName = "mangceh", overrideVersionCode = 10), - SingleLang("MasterKomik", "https://masterkomik.com", "id", overrideVersionCode = 1), - SingleLang("Mihentai", "https://mihentai.com", "en", isNsfw = true, overrideVersionCode = 1), - SingleLang("Non-Stop Scans", "https://www.nonstopscans.com", "en", className = "NonStopScans"), - SingleLang("NoxSubs", "https://noxsubs.com", "tr"), - SingleLang("Omega Scans", "https://omegascans.org", "en", isNsfw = true), - SingleLang("Phantom Scans", "https://phantomscans.com", "en", overrideVersionCode = 1), - SingleLang("Phoenix Fansub", "https://phoenixfansub.com", "es", overrideVersionCode = 2), - SingleLang("Random Scans", "https://randomscans.xyz", "en"), - SingleLang("Rawkuma", "https://rawkuma.com/", "ja"), - SingleLang("Readkomik", "https://readkomik.com", "en", className = "ReadKomik", overrideVersionCode = 1), - SingleLang("Sekte Doujin", "https://sektedoujin.club", "id", isNsfw = true, overrideVersionCode = 3), - SingleLang("Sekte Komik", "https://sektekomik.com", "id", overrideVersionCode = 4), - SingleLang("Shadow Mangas", "https://shadowmangas.com", "es"), - SingleLang("Shea Manga", "https://sheakomik.com", "id", overrideVersionCode = 4), - SingleLang("Snudae Scans", "https://snudaescans.com", "en", isNsfw = true, className = "BatotoScans", overrideVersionCode = 1), - SingleLang("Summer Fansub", "https://smmr.in", "pt-BR", isNsfw = true), - SingleLang("Tempest Manga", "https://manga.tempestfansub.com", "tr"), - SingleLang("The Apollo Team", "https://theapollo.team", "en"), - SingleLang("TukangKomik", "https://tukangkomik.com", "id"), - SingleLang("West Manga", "https://westmanga.info", "id", overrideVersionCode = 1), - SingleLang("xCaliBR Scans", "https://xcalibrscans.com", "en", overrideVersionCode = 3), - ) - - companion object { - @JvmStatic - fun main(args: Array) { - WPMangaStreamGenerator().createAll() - } - } -} diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamUrlActivity.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamUrlActivity.kt deleted file mode 100644 index 2e145cf09..000000000 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamUrlActivity.kt +++ /dev/null @@ -1,35 +0,0 @@ -package eu.kanade.tachiyomi.multisrc.wpmangastream - -import android.app.Activity -import android.content.ActivityNotFoundException -import android.content.Intent -import android.os.Bundle -import android.util.Log -import kotlin.system.exitProcess - -class WPMangaStreamUrlActivity : Activity() { - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - val pathSegments = intent?.data?.pathSegments - - if (pathSegments != null && pathSegments.size >= 1) { - - val mainIntent = Intent().apply { - action = "eu.kanade.tachiyomi.SEARCH" - putExtra("query", "${WPMangaStream.URL_SEARCH_PREFIX}${intent?.data?.toString()}") - putExtra("filter", packageName) - } - try { - startActivity(mainIntent) - } catch (e: ActivityNotFoundException) { - Log.e("WPMangaStreamUrl", e.toString()) - } - } else { - Log.e("WPMangaStreamUrl", "could not parse uri from intent $intent") - } - - finish() - exitProcess(0) - } -}