From 67c29f3220dab2ed3fb4a31f754513b8b22c8e8c Mon Sep 17 00:00:00 2001 From: MooshiMochi Date: Sun, 24 Nov 2024 21:39:18 +0000 Subject: [PATCH] disabled reaperscans test from running on git workflow removed lumitoon, cosmic, freakcomic, nvmanga, rizzcomic from lookup_map.json added ataraxia website to the bot --- .github/supportedWebsites.md | 37 +- .idea/dataSources.local.xml | 2 +- .../0bc8821d-f561-4efd-af3d-8e8d02375fc1.xml | 2030 ----------------- .../c93e9bbb-057f-46cc-b2d5-25a16f607fbf.xml | 2021 ---------------- src/core/scanlators/lookup_map.json | 552 +---- src/static.py | 7 +- tests/__main__.py | 12 +- tests/test_beta.py | 4 +- tests/test_map.json | 159 +- 9 files changed, 116 insertions(+), 4708 deletions(-) delete mode 100644 .idea/dataSources/0bc8821d-f561-4efd-af3d-8e8d02375fc1.xml delete mode 100644 .idea/dataSources/c93e9bbb-057f-46cc-b2d5-25a16f607fbf.xml diff --git a/.github/supportedWebsites.md b/.github/supportedWebsites.md index 93349ae..566cf4c 100644 --- a/.github/supportedWebsites.md +++ b/.github/supportedWebsites.md @@ -1,50 +1,37 @@ This bot currently only supports the following websites: - https://toonily.com -- https://manganato.com aka https://chapmanganato.com +- https://manganato.com aka https://chapmanganato.to - https://tritinia.org - https://mangadex.org -- https://flamecomics.com -- https://asurascans.com +- https://flamecomics.xyz +- https://asuracomic.net - https://reaperscans.com -- https://anigliscans.com -- https://comick.app -- https://luminousscans.com -- https://drakescans.com -- https://nitroscans.com +- https://anigliscans.xyz +- https://comick.io +- https://drakecomic.org +- https://nitroscans.net - https://mangapill.com -- https://en.leviatanscans.com - https://omegascans.org -- https://nightscans.org -- https://suryatoon.com -- https://void-scans.com -- https://mangasiamese.com +- https://nightsup.net - https://arcanescans.com - https://readmangabat.com - https://kaiscans.com - https://lhtranslation.net -- https://astrascans.com +- https://astrascans.org - https://ravenscans.com -- https://reset-scans.com -- https://rizzcomic.com - https://mangapark.net - https://ww7.mangakakalot.tv -- https://cosmic-scans.com -- https://manga-demon.org - https://mangareader.to -- https://arvenscans.org -- https://manhwa-freak.com -- https://freakscans.com - https://mangabuddy.com - https://topreadmanhwa.com - https://kunmanga.com - https://mangafire.to - https://theblank.net -- https://nvmanga.com -- https://newmanhua.com -- https://zinmanga.io +- https://zinmanga.net +- https://www.beyondtheataraxia.com > **Warning:** The following websites will not work unless a custom user-agent allowed by the owner is used: -> - https://anigliscans.com +> - https://anigliscans.xyz > - https://toonily.com > - https://theblank.net \ No newline at end of file diff --git a/.idea/dataSources.local.xml b/.idea/dataSources.local.xml index f186e44..3c5c103 100644 --- a/.idea/dataSources.local.xml +++ b/.idea/dataSources.local.xml @@ -1,6 +1,6 @@ - + " diff --git a/.idea/dataSources/0bc8821d-f561-4efd-af3d-8e8d02375fc1.xml b/.idea/dataSources/0bc8821d-f561-4efd-af3d-8e8d02375fc1.xml deleted file mode 100644 index c2f6c6a..0000000 --- a/.idea/dataSources/0bc8821d-f561-4efd-af3d-8e8d02375fc1.xml +++ /dev/null @@ -1,2030 +0,0 @@ - - - - - 3.45.1 - - - - - - - - - - - - - - - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - - window - - - 1 - - - 1 - - - 1 - - - - 1 - 1 - - - - - 1 - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - - - 1 - - - - - window - - - window - - - - - - 1 - 1 - - - 1 - 1 - - - 1 - - - window - - - - 1 - - - window - - - 1 - - - 1 - 1 - - - - - - 1 - - - 1 - - - window - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - 1 - - - 1 - - - 1 - - - 1 - 1 - - - 1 - window - - - 1 - window - - - 1 - 1 - - - 1 - 1 - - - 1 - - - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - window - - - 1 - window - - - 1 - 1 - - - 1 - 1 - - - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - 1 - - - window - - - window - - - - window - - - window - - - window - - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - - 1 - - - 1 - - - 1 - - - 1 - - - aggregate - - - 1 - - - - - - 1 - 1 - - - window - - - aggregate - - - 1 - 1 - - - window - - - 1 - - - aggregate - - - window - - - window - - - 1 - - - 1 - - - - - - - - window - - - 1 - - - 1 - - - 1 - - - 1 - 1 - - - - 1 - - - 1 - - - - - window - - - 1 - - - 1 - - - - - - 1 - - - window - - - 1 - - - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - 1 - - - - aggregate - - - - 1 - 1 - - - window - - - 1 - - - 1 - - - 1 - - - window - - - 1 - - - 1 - - - 1 - 1 - - - 1 - - - window - - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - 1 - - - 1 - - - 1 - - - aggregate - - - aggregate - - - 1 - - - 1 - 2024-11-12.18:11:14 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - R - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - R - - - R - - - R - - - R - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - R - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - -
-
-
-
-
-
-
- 1 -
- -
- - 1 - 1 - INTEGER|0s - - - 1 - 2 - TEXT|0s - - - NULL - 3 - INTEGER|0s - - - 1 - 4 - INTEGER|0s - - - CURRENT_TIMESTAMP - 5 - TIMESTAMP|0s - - - 'Unknown' - 1 - 6 - TEXT|0s - - - 'reading' - 7 - VARCHAR(10)|0s - - - user_id - id - user_subs_old - - - series_id - id - series - - - guild_id - guild_id - guild_config_old - - - scanlator - scanlator - series - - - user_id -series_id -scanlator - 1 - 1 - - - user_id -series_id -scanlator - ignore - sqlite_autoindex_bookmarks_1 - - - 1 - 1 - INTEGER|0s - - - 1 - 2 - INTEGER|0s - - - guild_id -role_id - 1 - 1 - - - guild_id -role_id - replace - sqlite_autoindex_bot_created_roles_1 - - - 1 - 1 - INTEGER|0s - - - 1 - 2 - INTEGER|0s - - - NULL - 3 - INTEGER|0s - - - false - 4 - BOOLEAN|0s - - - null - 5 - INTEGER|0s - - - true - 1 - 6 - BOOLEAN|0s - - - false - 1 - 7 - BOOLEAN|0s - - - NULL - 8 - INTEGER|0s - - - guild_id - 1 - 1 - - - guild_id - 1 - sqlite_autoindex_guild_config_1 - - - guild_id - ignore - sqlite_autoindex_guild_config_1 - - - 1 - 1 - TEXT|0s - - - 2 - INTEGER|0s - - - 1 - 3 - TEXT|0s - - - 1 - 4 - TEXT|0s - - - email - 1 - 1 - - - email - 1 - sqlite_autoindex_patreons_1 - - - email - replace - sqlite_autoindex_patreons_1 - - - 1 - 1 - INTEGER|0s - - - 1 - 2 - TEXT|0s - - - 1 - 3 - INTEGER|0s - - - guild_id - guild_id - guild_config - - - guild_id -scanlator -channel_id - 1 - 1 - - - guild_id -scanlator -channel_id - replace - sqlite_autoindex_scanlator_channel_associations_1 - - - 1 - 1 - TEXT|0s - - - 1 - 1 - 2 - BOOLEAN|0s - - - scanlator - 1 - 1 - - - scanlator - 1 - sqlite_autoindex_scanlators_config_1 - - - 1 - 1 - TEXT|0s - - - 1 - 2 - TEXT|0s - - - 1 - 3 - TEXT|0s - - - 4 - TEXT|0s - - - 1 - 5 - TEXT|0s - - - 6 - TEXT|0s - - - 7 - TEXT|0s - - - 'Ongoing' - 1 - 8 - TEXT|0s - - - 'Unknown' - 1 - 9 - TEXT|0s - - - id -scanlator - 1 - 1 - - - id -scanlator - ignore - sqlite_autoindex_series_1 - - - 1 - TEXT|0s - - - 2 - TEXT|0s - - - 3 - TEXT|0s - - - 4 - INT|0s - - - 5 - TEXT|0s - - - 1 - 1 - INTEGER|0s - - - 1 - 2 - TEXT|0s - - - 3 - INTEGER|0s - - - 'Unknown' - 1 - 4 - TEXT|0s - - - guild_id - guild_id - guild_config_old - - - series_id - id - series_old - - - scanlator - scanlator - series_old - - - guild_id -series_id -scanlator - 1 - 1 - - - guild_id -series_id -scanlator - replace - sqlite_autoindex_tracked_guild_series_1 - - - 1 - 1 - INTEGER|0s - - - 1 - 2 - TEXT|0s - - - 1 - 3 - INTEGER|0s - - - 'Unknown' - 1 - 4 - TEXT|0s - - - series_id - id - series - - - guild_id - guild_id - guild_config_old - - - scanlator - scanlator - series - - - id -series_id -scanlator -guild_id - 1 - 1 - - - id -series_id -scanlator -guild_id - ignore - sqlite_autoindex_user_subs_1 - - - \ No newline at end of file diff --git a/.idea/dataSources/c93e9bbb-057f-46cc-b2d5-25a16f607fbf.xml b/.idea/dataSources/c93e9bbb-057f-46cc-b2d5-25a16f607fbf.xml deleted file mode 100644 index bff0835..0000000 --- a/.idea/dataSources/c93e9bbb-057f-46cc-b2d5-25a16f607fbf.xml +++ /dev/null @@ -1,2021 +0,0 @@ - - - - - 3.45.1 - - - - - - - - - - - - - - - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - - window - - - 1 - - - 1 - - - 1 - - - - 1 - 1 - - - - - 1 - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - - - 1 - - - - - window - - - window - - - - - - 1 - 1 - - - 1 - 1 - - - 1 - - - window - - - - 1 - - - window - - - 1 - - - 1 - 1 - - - - - - 1 - - - 1 - - - window - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - 1 - - - 1 - - - 1 - - - 1 - 1 - - - 1 - window - - - 1 - window - - - 1 - 1 - - - 1 - 1 - - - 1 - - - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - - - 1 - - - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - window - - - 1 - window - - - 1 - 1 - - - 1 - 1 - - - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - 1 - - - 1 - 1 - - - window - - - window - - - - window - - - window - - - window - - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - - 1 - - - 1 - - - 1 - - - 1 - - - aggregate - - - 1 - - - - - - 1 - 1 - - - window - - - aggregate - - - 1 - 1 - - - window - - - 1 - - - aggregate - - - window - - - window - - - 1 - - - 1 - - - - - - - - window - - - 1 - - - 1 - - - 1 - - - 1 - 1 - - - - 1 - - - 1 - - - - - window - - - 1 - - - 1 - - - - - - 1 - - - window - - - 1 - - - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - 1 - - - - aggregate - - - - 1 - 1 - - - window - - - 1 - - - 1 - - - 1 - - - window - - - 1 - - - 1 - - - 1 - 1 - - - 1 - - - window - - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - 1 - - - 1 - - - 1 - - - aggregate - - - aggregate - - - 1 - - - 1 - 2024-11-02.22:13:53 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - R - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - R - - - R - - - R - - - R - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - R - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - 2 - - - 3 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - 2 - - - R - - - 1 - - - R - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - - - R - - - 1 - -
-
-
-
-
-
-
-
- 1 -
- -
- - 1 - 1 - INTEGER|0s - - - 1 - 2 - TEXT|0s - - - NULL - 3 - INTEGER|0s - - - 1 - 4 - INTEGER|0s - - - CURRENT_TIMESTAMP - 5 - TIMESTAMP|0s - - - 'Unknown' - 1 - 6 - TEXT|0s - - - 'reading' - 7 - VARCHAR(10)|0s - - - user_id - id - user_subs_old - - - series_id - id - series - - - guild_id - guild_id - guild_config_old - - - scanlator - scanlator - series - - - user_id -series_id -scanlator - 1 - 1 - - - user_id -series_id -scanlator - ignore - sqlite_autoindex_bookmarks_1 - - - 1 - 1 - INTEGER|0s - - - 1 - 2 - INTEGER|0s - - - guild_id -role_id - 1 - 1 - - - guild_id -role_id - replace - sqlite_autoindex_bot_created_roles_1 - - - 1 - 1 - INTEGER|0s - - - 1 - 2 - INTEGER|0s - - - NULL - 3 - INTEGER|0s - - - false - 4 - BOOLEAN|0s - - - null - 5 - INTEGER|0s - - - true - 1 - 6 - BOOLEAN|0s - - - false - 1 - 7 - BOOLEAN|0s - - - NULL - 8 - INTEGER|0s - - - guild_id - 1 - 1 - - - guild_id - 1 - sqlite_autoindex_guild_config_1 - - - guild_id - ignore - sqlite_autoindex_guild_config_1 - - - 1 - 1 - TEXT|0s - - - 2 - INTEGER|0s - - - 1 - 3 - TEXT|0s - - - 1 - 4 - TEXT|0s - - - email - 1 - 1 - - - email - 1 - sqlite_autoindex_patreons_1 - - - email - replace - sqlite_autoindex_patreons_1 - - - 1 - 1 - INTEGER|0s - - - 1 - 2 - TEXT|0s - - - 1 - 3 - INTEGER|0s - - - guild_id - guild_id - guild_config - - - guild_id -scanlator -channel_id - 1 - 1 - - - guild_id -scanlator -channel_id - replace - sqlite_autoindex_scanlator_channel_associations_1 - - - 1 - 1 - TEXT|0s - - - 1 - 1 - 2 - BOOLEAN|0s - - - scanlator - 1 - 1 - - - scanlator - 1 - sqlite_autoindex_scanlators_config_1 - - - 1 - 1 - TEXT|0s - - - 1 - 2 - TEXT|0s - - - 1 - 3 - TEXT|0s - - - 4 - TEXT|0s - - - 1 - 5 - TEXT|0s - - - 6 - TEXT|0s - - - 7 - TEXT|0s - - - 'Ongoing' - 1 - 8 - TEXT|0s - - - 'Unknown' - 1 - 9 - TEXT|0s - - - id -scanlator - 1 - 1 - - - id -scanlator - ignore - sqlite_autoindex_series_1 - - - 1 - TEXT|0s - - - 2 - TEXT|0s - - - 3 - TEXT|0s - - - 4 - INT|0s - - - 5 - TEXT|0s - - - 1 - 1 - INTEGER|0s - - - 1 - 2 - TEXT|0s - - - 3 - INTEGER|0s - - - 'Unknown' - 1 - 4 - TEXT|0s - - - guild_id - guild_id - guild_config_old - - - series_id - id - series_old - - - scanlator - scanlator - series_old - - - guild_id -series_id -scanlator - 1 - 1 - - - guild_id -series_id -scanlator - replace - sqlite_autoindex_tracked_guild_series_1 - - - 1 - 1 - INTEGER|0s - - - 1 - 2 - TEXT|0s - - - 1 - 3 - INTEGER|0s - - - 'Unknown' - 1 - 4 - TEXT|0s - - - series_id - id - series - - - guild_id - guild_id - guild_config_old - - - scanlator - scanlator - series - - - id -series_id -scanlator -guild_id - 1 - 1 - - - id -series_id -scanlator -guild_id - ignore - sqlite_autoindex_user_subs_1 - - - \ No newline at end of file diff --git a/src/core/scanlators/lookup_map.json b/src/core/scanlators/lookup_map.json index c2f04f5..1513452 100644 --- a/src/core/scanlators/lookup_map.json +++ b/src/core/scanlators/lookup_map.json @@ -224,7 +224,7 @@ "manganato": { "chapter_ajax": null, "request_method": "curl", - "url_regex": "(?:https?://)?(?:www\\.)?(?:chap)?manganato\\.to/manga-(?P[a-zA-Z0-9]+)(?:/.*)?", + "url_regex": "^(?:https?://)?(?:www\\.)?(?:chapmanganato\\.to|manganato\\.com)/manga-(?P[a-zA-Z0-9]+)(?:/.*)?$", "properties": { "base_url": "https://chapmanganato.to", "icon_url": "https://manganato.to/favicon.png", @@ -488,71 +488,6 @@ "request_method": "GET" } }, - "lumitoon": { - "chapter_ajax": null, - "request_method": "http", - "url_regex": "(?:https?://)?(?:www\\.)?lumitoon\\.com/(?:series/)?(?:(?P\\d+)-)?(?P\\w[\\w-]*?)(?:-chapter-[\\d.-]+(?:(-\\w+)?))?/?(?:/.*)?$", - "properties": { - "base_url": "https://lumitoon.com", - "icon_url": "https://lumitoon.com/wp-content/uploads/2021/12/cropped-logo.png", - "format_urls": { - "manga": "https://lumitoon.com/series/{id}-{url_name}/" - }, - "latest_updates_url": "https://lumitoon.com", - "dynamicURL": true, - "chapter_regex": "(?P(?:https?://)?(?:www\\.)?lumitoon\\.com/)(?:(?P\\d+)-)?(?P([\\w-]+)?/?$)", - "missing_id_connector": { - "char": "-", - "before_id": false - }, - "url_chapter_prefix": null - }, - "selectors": { - "title": [ - "div#titlemove > h1.entry-title" - ], - "synopsis": "div.entry-content", - "cover": [ - "div.thumb > img" - ], - "chapters": { - "container": "div.eplister div.eph-num", - "name": "a > span.chapternum", - "url": "a" - }, - "status": [ - "div.imptdt:-soup-contains(\"Status\") > i" - ], - "front_page": { - "container": "div.postbody > div.bixbox:has(div.releases > h2:-soup-contains('Latest Update')) > div.listupd div.uta", - "chapters": { - "container": "ul > li", - "name": "a", - "url": "a" - }, - "title": "div.luf > a > h4", - "url": "div.luf > a", - "cover": "img.ts-post-image, picture.ts-post-image > img" - }, - "unwanted_tags": [], - "search": { - "container": "div.bsx", - "title": "div.tt", - "url": "a", - "cover": "img" - } - }, - "search": { - "search_param_name": "s", - "url": "https://lumitoon.com", - "as_type": "param", - "query_parsing": { - "encoding": "url" - }, - "extra_params": {}, - "request_method": "GET" - } - }, "drakescans": { "chapter_ajax": null, "request_method": "http", @@ -1508,68 +1443,6 @@ "request_method": "GET" } }, - "cosmic": { - "chapter_ajax": null, - "request_method": "curl", - "url_regex": "(?:https?://)?(?:www\\.)?cosmic-scans\\.com/(?:manga/)?(?P\\w[\\w-]*?)(?:-chapter-[\\d.-]+(?:(-\\w+)?))?/?(?:/.*)?$", - "properties": { - "base_url": "https://cosmic-scans.com", - "icon_url": "https://cosmic-scans.com/wp-content/uploads/2022/06/cropped-Cosmic-2.png", - "format_urls": { - "manga": "https://cosmic-scans.com/manga/{url_name}/" - }, - "latest_updates_url": "https://cosmic-scans.com", - "dynamicURL": false, - "can_render_cover": true, - "url_chapter_prefix": null - }, - "selectors": { - "title": [ - "div.infox > h1.entry-title" - ], - "synopsis": "div.entry-content > p", - "cover": [ - "[property=og\\:image]", - "div.thumb > img" - ], - "chapters": { - "container": "div.eph-num", - "name": "a > span.chapternum", - "url": "a" - }, - "status": [ - "div.imptdt:-soup-contains(\"Status\") > i" - ], - "front_page": { - "container": "div.uta", - "chapters": { - "container": "div.luf > ul > li", - "name": "a", - "url": "a" - }, - "title": "div.luf > a.series > h4", - "url": "div.luf > a.series", - "cover": "img" - }, - "unwanted_tags": [], - "search": { - "container": "div.bsx", - "title": "div.tt", - "url": "a", - "cover": "img" - } - }, - "search": { - "search_param_name": "s", - "url": "https://cosmic-scans.com", - "as_type": "param", - "query_parsing": { - "encoding": "url" - }, - "extra_params": {}, - "request_method": "GET" - } - }, "demonreader": { "chapter_ajax": null, "request_method": "http", @@ -1702,128 +1575,6 @@ "extra_params": {} } }, - "freakcomic": { - "chapter_ajax": null, - "request_method": "http", - "url_regex": "(?:https?://)?(?:www\\.)?freakcomic\\.com/(?:manga/)?(?:(?P\\d+)-)?(?P\\w[\\w-]*?)(?:-ch-[\\d.-]+(?:(-\\w+)?))?/?(?:/.*)?$", - "properties": { - "base_url": "https://freakcomic.com", - "icon_url": "https://freakcomic.com/wp-content/uploads/2022/04/2.png", - "format_urls": { - "manga": "https://freakcomic.com/manga/{url_name}/" - }, - "latest_updates_url": "https://freakcomic.com", - "dynamicURL": false, - "url_chapter_prefix": null - }, - "selectors": { - "title": [ - "h1.title" - ], - "synopsis": "div#summary > p", - "cover": [ - "div.info > img[alt]" - ], - "chapters": { - "container": "div.chapter-li > a", - "name": "div.chapter-info > p:first-child", - "url": "_container_" - }, - "status": [ - "div.right > div > p:-soup-contains(\"Status\") + p" - ], - "front_page": { - "container": "div.lastest div.lastest-serie", - "chapters": { - "container": "ul.lastest-chap > a", - "name": "li", - "url": "_container_" - }, - "title": "div.lastest-title > a[title]", - "url": "div.lastest-title > a[title]", - "cover": "div.img > img[alt]" - }, - "unwanted_tags": [ - "li > span > p" - ], - "search": { - "container": "div.lastest-serie", - "title": "a[title]", - "url": "a[title]", - "cover": "div.img > img[alt]" - } - }, - "search": { - "search_param_name": "s", - "url": "https://freakcomic.com/", - "as_type": "param", - "query_parsing": { - "encoding": "url" - }, - "extra_params": {}, - "request_method": "GET" - } - }, - "freakscans": { - "chapter_ajax": null, - "request_method": "flare", - "url_regex": "(?:https?://)?(?:www\\.)?freakscans\\.com/(?:manga/)?(?P\\w[\\w-]*?)(?:-ch-[\\d.-]+(?:(-\\w+)?))?/?(?:/.*)?$", - "properties": { - "base_url": "https://freakscans.com", - "icon_url": "https://i2.wp.com/freakscans.com/wp-content/uploads/2023/12/cropped-Site-Freak-Icon-PSD.png", - "format_urls": { - "manga": "https://freakscans.com/manga/{url_name}/" - }, - "latest_updates_url": "https://freakscans.com", - "dynamicURL": false, - "url_chapter_prefix": null - }, - "selectors": { - "title": [ - "div.infox > h1.entry-title" - ], - "synopsis": "div.entry-content", - "cover": [ - "div.thumb > img" - ], - "chapters": { - "container": "div.eph-num", - "name": "a > span.chapternum", - "url": "a" - }, - "status": [ - "div.imptdt:-soup-contains(\"Status\") > i" - ], - "front_page": { - "container": "div.uta", - "chapters": { - "container": "div.luf > ul > li", - "name": "a", - "url": "a" - }, - "title": "div.luf > a.series > h4", - "url": "div.luf > a.series", - "cover": "img" - }, - "unwanted_tags": [], - "search": { - "container": "div.bsx", - "title": "div.tt", - "url": "a", - "cover": "img" - } - }, - "search": { - "search_param_name": "s", - "url": "https://freakscans.com/", - "as_type": "param", - "query_parsing": { - "encoding": "url" - }, - "extra_params": {}, - "request_method": "GET" - } - }, "mangabuddy": { "chapter_ajax": null, "request_method": "flare", @@ -2174,169 +1925,6 @@ "request_method": "GET" } }, - "nvmanga": { - "chapter_ajax": null, - "request_method": "http", - "url_regex": "(?:https?://)?(?:www\\.)?nvmanga\\.com/webtoon/(?P[\\w-]+)(?:/.*)?", - "properties": { - "base_url": "https://nvmanga.com", - "icon_url": "https://nvmanga.com/wp-content/uploads/2023/10/mininv.webp", - "format_urls": { - "manga": "https://nvmanga.com/webtoon/{url_name}/" - }, - "latest_updates_url": "https://nvmanga.com/", - "dynamicURL": false, - "url_chapter_prefix": null - }, - "selectors": { - "title": [ - "div.post-title > h1" - ], - "synopsis": "div.entry-content, div.summary__content.show-more", - "cover": [ - "div.summary_image > a > img" - ], - "chapters": { - "container": "li.wp-manga-chapter", - "name": "a", - "url": "a" - }, - "status": [ - "div.summary-heading:-soup-contains(\"Translation\") + div" - ], - "front_page": { - "container": "div.page-item-detail", - "chapters": { - "container": "div.chapter-item > span.chapter", - "name": "a", - "url": "a" - }, - "title": "div.post-title > h3.h5 > a", - "url": "div.post-title > h3.h5 > a", - "cover": "img" - }, - "unwanted_tags": [ - "span.manga-title-badges" - ], - "search": { - "container": "div.c-tabs-item__content", - "title": "h3.h4 > a", - "url": "h3.h4 > a", - "cover": "img", - "chapters": { - "container": "span.chapter", - "name": "a", - "url": "a" - } - } - }, - "custom_headers": { - "Cookies": [ - { - "name": "wpmanga-adault", - "value": "1", - "domain": "nvmanga.com", - "path": "/" - } - ] - }, - "search": { - "url": "https://nvmanga.com/", - "search_param_name": "s", - "extra_params": { - "post_type": "wp-manga" - }, - "as_type": "param", - "query_parsing": { - "encoding": null, - "regex": [ - { - "pattern": "\\s", - "sub_value": "-" - }, - { - "pattern": "[^a-zA-Z0-9-]", - "sub_value": "" - } - ] - }, - "request_method": "GET" - } - }, - "newmanhua": { - "chapter_ajax": "html", - "request_method": "http", - "url_regex": "(?:https?://)?(?:www\\.)?newmanhua\\.com/manga/(?P[\\w-]+)(?:/.*)?", - "properties": { - "base_url": "https://newmanhua.com", - "icon_url": "https://newmanhua.com/wp-content/uploads/2023/12/fav.png", - "format_urls": { - "ajax": "https://newmanhua.com/manga/{url_name}/ajax/chapters", - "manga": "https://newmanhua.com/manga/{url_name}/" - }, - "latest_updates_url": "https://newmanhua.com/", - "dynamicURL": false, - "url_chapter_prefix": null - }, - "selectors": { - "title": [ - "div.post-title > h1", - ".breadcrumb > li:nth-child(4) > a:nth-child(1)" - ], - "synopsis": "div.description-summary > div", - "cover": [ - "[property=og\\:image]", - "div.summary_image > a > img" - ], - "chapters": { - "container": "li.wp-manga-chapter", - "name": "a", - "url": "a" - }, - "status": [ - "div.summary-heading:-soup-contains(\"Status\") + div" - ], - "front_page": { - "container": "div.page-item-detail", - "chapters": { - "container": "div.chapter-item > span.chapter", - "name": "a", - "url": "a" - }, - "title": "div.post-title > h3.h5 > a:not([target])", - "url": "div.post-title > h3.h5 > a:not([target])", - "cover": "img" - }, - "unwanted_tags": [ - "div.summary__content h2, div.summary__content h3, div.summary__content h4, div.summary__content div", - "div.summary__content section", - "div.summary__content > p:has(strong)" - ], - "search": { - "container": "div.row.c-tabs-item__content", - "chapters": { - "container": "span.chapter", - "name": "a", - "url": "a" - }, - "title": "h3.h4 > a", - "url": "h3.h4 > a", - "cover": "img" - } - }, - "search": { - "search_param_name": "s", - "url": "https://newmanhua.com/", - "as_type": "param", - "query_parsing": { - "encoding": "url" - }, - "extra_params": { - "post_type": "wp-manga" - }, - "request_method": "GET" - } - }, "zinmanga": { "chapter_ajax": null, "request_method": "http", @@ -2622,6 +2210,76 @@ "extra_params": {}, "request_method": "GET" } + }, + "ataraxia": { + "chapter_ajax": "html", + "request_method": "http", + "url_regex": "(?:https?://)?(?:www\\.)?beyondtheataraxia\\.com/manga/(?P[a-zA-Z0-9-]+)(?:/.*)?", + "properties": { + "base_url": "https://www.beyondtheataraxia.com", + "icon_url": "https://www.beyondtheataraxia.com/storage/2023/06/cropped-logo_reader.png", + "format_urls": { + "ajax": "https://www.beyondtheataraxia.com/manga/{url_name}/ajax/chapters", + "manga": "https://www.beyondtheataraxia.com/manga/{url_name}/" + }, + "latest_updates_url": "https://www.beyondtheataraxia.com/", + "dynamicURL": false, + "url_chapter_prefix": null + }, + "selectors": { + "title": [ + "div#manga-title > h1" + ], + "synopsis": "div.post-content_item > div p", + "cover": [ + "[property=og\\:image]", + "div.summary_image > a > img" + ], + "chapters": { + "container": "li.wp-manga-chapter", + "name": "a", + "url": "a" + }, + "status": [ + "div.summary-heading:-soup-contains(\"Stato\") + div" + ], + "front_page": { + "container": "div.page-item-detail", + "chapters": { + "container": "div.chapter-item > span.chapter", + "name": "a", + "url": "a" + }, + "title": "div.post-title > h3.h5 > a:not([target])", + "url": "div.post-title > h3.h5 > a:not([target])", + "cover": "img" + }, + "unwanted_tags": [ + ], + "search": { + "container": "div.row.c-tabs-item__content", + "chapters": { + "container": "span.chapter", + "name": "a", + "url": "a" + }, + "title": "h3.h4 > a", + "url": "h3.h4 > a", + "cover": "img" + } + }, + "search": { + "search_param_name": "s", + "url": "https://beyondtheataraxia.com/", + "as_type": "param", + "query_parsing": { + "encoding": "url" + }, + "extra_params": { + "post_type": "wp-manga" + }, + "request_method": "GET" + } } }, "custom": { @@ -2751,74 +2409,6 @@ "request_method": "GET" } }, - "rizzcomic": { - "chapter_ajax": null, - "request_method": "curl", - "url_regex": "(?:https?://)?(?:www\\.)?rizzcomic\\.com/(?:series|chapter)/(?:(?P\\w+)-)?(?P\\w[\\w-]*?)(?:-chapter-[\\d.-]+(?:(-\\w+)?))?/?(?:/.*)?$", - "properties": { - "base_url": "https://rizzcomic.com", - "icon_url": "https://rizzcomic.com/assets/images/realm-scans-fav.ico", - "format_urls": { - "manga": "https://rizzcomic.com/series/{id}-{url_name}" - }, - "latest_updates_url": "https://rizzcomic.com", - "dynamicURL": true, - "chapter_regex": "(?P(?:https?://)?(?:www\\.)?rizzcomic\\.com/chapter/)(?:(?P\\w+)-)?(?P([\\w-]+)?/?$)", - "missing_id_connector": { - "char": "-", - "before_id": false - }, - "url_chapter_prefix": null - }, - "selectors": { - "title": [ - "h1.entry-title" - ], - "synopsis": "div.description-container > p", - "cover": [ - "div.thumb > img" - ], - "chapters": { - "container": "ul > li[data-num]", - "name": "span.chapternum", - "url": "a" - }, - "status": [ - "div.imptdt:-soup-contains(\"Status\") > i" - ], - "front_page": { - "container": "div.uta", - "chapters": { - "container": "div.luf > ul > li", - "name": "a", - "url": "a" - }, - "title": "div.luf > a.series > h4", - "url": "div.luf > a.series", - "cover": "img" - }, - "unwanted_tags": [ - "i.epn-name", - "blockquote" - ], - "search": { - "container": "div.bsx", - "title": "div.tt", - "url": "a", - "cover": "img" - } - }, - "search": { - "url": "https://rizzcomic.com/Index/live_search", - "search_param_name": "search_value", - "as_type": "param", - "query_parsing": { - "encoding": "raw" - }, - "extra_params": {}, - "request_method": "POST" - } - }, "novelmic": { "chapter_ajax": "html", "request_method": "http", diff --git a/src/static.py b/src/static.py index 459500f..90d9746 100644 --- a/src/static.py +++ b/src/static.py @@ -17,11 +17,16 @@ class Constants: "terminé", "annuler", "annulé", "terminer", "abandonné", "abandonner", "fin", } + _it_completed_status_set: set[str] = { + "completo", "completato", "completare", "cancellare", "cancellato", + "terminare", "abbandonato", "abbandonare", "fine", + } + completed_status_set: set[str] = { "completed", "complete", "cancel", "cancelled", "canceled", "finish", "finished", "dropped", "drop", "end", "ended", - }.union(_fr_completed_status_set) + }.union(_fr_completed_status_set).union(_it_completed_status_set) @staticmethod def default_headers() -> dict: diff --git a/tests/__main__.py b/tests/__main__.py index 86742df..3e51e24 100644 --- a/tests/__main__.py +++ b/tests/__main__.py @@ -492,12 +492,6 @@ async def main(): # Support ended: "epsilonscansoft", "epsilonscan", - # The website is broken, waiting for it to be fixed: - "theblank", - - # The websites died/got taken down: - "lumitoon", "freakscans", "cosmic", "nvmanga", "newmanhua", "freakcomic", "rizzcomic", - "resetscans", # the website added pagination for chapters. need to hard-code custom scanlator class "suryatoon", # renamed to genztoons.com, will add as new scanlator if no dataabse entries from it exist "demonreader", # Need to work on figuring out the ID for the chapter. It might need custom implementation @@ -505,6 +499,10 @@ async def main(): # The website(s) id down at the time of testing: "lscomic", ] + + if os.name != "nt": # reaperscans doesn't work for git workflow check + tests_to_ignore.append("reaperscans") + async with TestCases(tests_to_ignore) as testCases: await run_tests(testCases, tests_to_ignore) @@ -593,7 +591,7 @@ async def test_single_scanlator(scanlator: str): asyncio.run(main()) else: # asyncio.run(test_single_method("show_front_page_results", "epsilonscans")) - asyncio.run(test_single_scanlator("gourmet")) + asyncio.run(test_single_scanlator("ataraxia")) # asyncio.run(sub_main()) # asyncio.run(paused_test()) # asyncio.run(main()) diff --git a/tests/test_beta.py b/tests/test_beta.py index 64822f5..46a0272 100644 --- a/tests/test_beta.py +++ b/tests/test_beta.py @@ -122,8 +122,8 @@ async def main(): async with Bot(proxy_url=proxy_url) as bot: init_scanlators(bot, scanlators) - key = "comick" - url = "https://api.comick.fun/comic/05-one-punch-man" + key = "ataraxia" + url = "https://www.beyondtheataraxia.com/manga/new-game/" query = "he" scanlator = scanlators[key] title = await scanlator.get_title(url); diff --git a/tests/test_map.json b/tests/test_map.json index c6ced5f..cb3f24c 100644 --- a/tests/test_map.json +++ b/tests/test_map.json @@ -199,26 +199,6 @@ "has_fp_manhwa": true } }, - "lumitoon": { - "user_input_url": "https://lumitoon.com/series/12455-my-office-noonas-story/", - "expected_results": { - "completed": true, - "cover_image": "https://lumitoon.com/wp-content/uploads/2021/05/My_Office_Noona_Story_Title-1.jpg", - "curr_chapter_url": "https://lumitoon.com/{id}-my-office-noonas-story-epilogue-chapter-03/", - "first_chapter_url": "https://lumitoon.com/{id}-my-office-noonas-story-prologue/", - "last_3_chapter_urls": [ - "https://lumitoon.com/{id}-my-office-noonas-story-epilogue-chapter-01/", - "https://lumitoon.com/{id}-my-office-noonas-story-epilogue-chapter-02/", - "https://lumitoon.com/{id}-my-office-noonas-story-epilogue-chapter-03/" - ], - "manga_id": "https://lumitoon.com/series/{id}-my-office-noonas-story", - "manga_url": "https://lumitoon.com/series/{id}-my-office-noonas-story/", - "scanlator_name": "lumitoon", - "title": "My Office Noona’s Story", - "use_default_id_function": true, - "has_fp_manhwa": true - } - }, "lscomic": { "user_input_url": "https://lscomic.com/manga/8th-class-mage-returns/", "expected_results": { @@ -379,26 +359,6 @@ "has_fp_manhwa": true } }, - "rizzcomic": { - "user_input_url": "https://rizzcomic.com/series/r3513102-death-god", - "expected_results": { - "scanlator_name": "rizzcomic", - "manga_url": "https://rizzcomic.com/series/r3513102-death-god", - "completed": true, - "title": "Death God", - "use_default_id_function": true, - "curr_chapter_url": "https://rizzcomic.com/chapter/r3513102-death-god-chapter-46", - "first_chapter_url": "https://rizzcomic.com/chapter/r3513102-death-god-chapter-0", - "cover_image": "https://rizzcomic.com/assets/images/43__death_god-23-06-2023_11_44_09_PM1.webp", - "last_3_chapter_urls": [ - "https://rizzcomic.com/chapter/r3513102-death-god-chapter-44", - "https://rizzcomic.com/chapter/r3513102-death-god-chapter-45", - "https://rizzcomic.com/chapter/r3513102-death-god-chapter-46" - ], - "manga_id": "default_id_function", - "has_fp_manhwa": true - } - }, "arcanescans": { "user_input_url": "https://arcanescans.com/manga/a-transmigrated-wardens-battle-for-redemption/", "expected_results": { @@ -619,26 +579,6 @@ "has_fp_manhwa": true } }, - "cosmic": { - "user_input_url": "https://cosmic-scans.com/manga/updater/", - "expected_results": { - "scanlator_name": "cosmic", - "manga_url": "https://cosmic-scans.com/manga/updater/", - "completed": false, - "title": "Updater", - "manga_id": "default_id_function", - "use_default_id_function": true, - "curr_chapter_url": "https://cosmic-scans.com/updater-chapter-99/", - "first_chapter_url": "https://cosmic-scans.com/updater-chapter-93-season-2-end/", - "cover_image": "https://cosmic-scans.com/wp-content/uploads/2022/11/resource-1_cugan_conservative_4x_i1.00.webp", - "last_3_chapter_urls": [ - "https://cosmic-scans.com/updater-chapter-97/", - "https://cosmic-scans.com/updater-chapter-98/", - "https://cosmic-scans.com/updater-chapter-99/" - ], - "has_fp_manhwa": true - } - }, "demonreader": { "user_input_url": "https://demonreader.org/manga/Reborn-as-the-Enemy-Prince-VA52", "expected_results": { @@ -699,46 +639,6 @@ "has_fp_manhwa": true } }, - "freakcomic": { - "user_input_url": "https://freakcomic.com/manga/i-stack-experience-through-writing-books/", - "expected_results": { - "scanlator_name": "freakcomic", - "manga_url": "https://freakcomic.com/manga/i-stack-experience-through-writing-books/", - "completed": true, - "title": "I Stack Experience Through Writing Books", - "manga_id": "default_id_function", - "use_default_id_function": true, - "curr_chapter_url": "https://freakcomic.com/i-stack-experience-through-writing-books-ch-150-345a6/", - "first_chapter_url": "https://freakcomic.com/i-stack-experience-through-writing-books-ch-144-1baed/", - "cover_image": "https://freakcomic.com/wp-content/uploads/2022/04/large_xxlarge_zdKz1Hb.jpg", - "last_3_chapter_urls": [ - "https://freakcomic.com/i-stack-experience-through-writing-books-ch-148-e60fb/", - "https://freakcomic.com/i-stack-experience-through-writing-books-ch-149-e9b21/", - "https://freakcomic.com/i-stack-experience-through-writing-books-ch-150-345a6/" - ], - "has_fp_manhwa": true - } - }, - "freakscans": { - "user_input_url": "https://freakscans.com/manga/the-live/", - "expected_results": { - "scanlator_name": "freakscans", - "manga_url": "https://freakscans.com/manga/the-live/", - "completed": true, - "title": "The Live", - "manga_id": "default_id_function", - "use_default_id_function": true, - "curr_chapter_url": "https://freakscans.com/the-live-ch-176/", - "first_chapter_url": "https://freakscans.com/the-live-ch-172/", - "cover_image": "https://i1.wp.com/freakscans.com/wp-content/uploads/2023/12/the-live.png", - "last_3_chapter_urls": [ - "https://freakscans.com/the-live-ch-174/", - "https://freakscans.com/the-live-ch-175/", - "https://freakscans.com/the-live-ch-176/" - ], - "has_fp_manhwa": true - } - }, "mangabuddy": { "user_input_url": "https://mangabuddy.com/kiss-me-liar", "expected_results": { @@ -839,46 +739,6 @@ "has_fp_manhwa": true } }, - "nvmanga": { - "user_input_url": "https://nvmanga.com/webtoon/a-guide-to-proper-dating/", - "expected_results": { - "scanlator_name": "nvmanga", - "manga_url": "https://nvmanga.com/webtoon/a-guide-to-proper-dating/", - "completed": true, - "title": "A Guide to Proper Dating", - "manga_id": "default_id_function", - "use_default_id_function": true, - "curr_chapter_url": "https://nvmanga.com/webtoon/a-guide-to-proper-dating/chapter-159/", - "first_chapter_url": "https://nvmanga.com/webtoon/a-guide-to-proper-dating/chapter-1/", - "cover_image": "https://nvmanga.com/wp-content/uploads/2022/10/a-guide-to-proper-dating.webp", - "last_3_chapter_urls": [ - "https://nvmanga.com/webtoon/a-guide-to-proper-dating/chapter-157/", - "https://nvmanga.com/webtoon/a-guide-to-proper-dating/chapter-158/", - "https://nvmanga.com/webtoon/a-guide-to-proper-dating/chapter-159/" - ], - "has_fp_manhwa": true - } - }, - "newmanhua": { - "user_input_url": "https://newmanhua.com/manga/the-great-villain-who-threatened-to-kill-himself/", - "expected_results": { - "scanlator_name": "newmanhua", - "manga_url": "https://newmanhua.com/manga/the-great-villain-who-threatened-to-kill-himself/", - "completed": false, - "title": "The Great Villain Who Threatened to Kill Himself", - "manga_id": "default_id_function", - "use_default_id_function": true, - "curr_chapter_url": "https://newmanhua.com/manga/the-great-villain-who-threatened-to-kill-himself/chapter-12/", - "first_chapter_url": "https://newmanhua.com/manga/the-great-villain-who-threatened-to-kill-himself/chapter-0/", - "cover_image": "https://newmanhua.com/wp-content/uploads/2023/12/the-great-villain-who-threatened-to-kill-himself.webp", - "last_3_chapter_urls": [ - "https://newmanhua.com/manga/the-great-villain-who-threatened-to-kill-himself/chapter-10/", - "https://newmanhua.com/manga/the-great-villain-who-threatened-to-kill-himself/chapter-11/", - "https://newmanhua.com/manga/the-great-villain-who-threatened-to-kill-himself/chapter-12/" - ], - "has_fp_manhwa": true - } - }, "zinmanga": { "user_input_url": "https://zinmanga.net/manga/duchess-what-is-identity/", "expected_results": { @@ -975,5 +835,24 @@ "https://gourmetsupremacy.com/project/secret-love-night-affair/chapter-36-end/" ] } + }, + "ataraxia": { + "user_input_url": "https://www.beyondtheataraxia.com/manga/new-game/", + "expected_results": { + "scanlator_name": "ataraxia", + "manga_url": "https://www.beyondtheataraxia.com/manga/new-game/", + "completed": true, + "title": "New Game!", + "manga_id": "default_id_function", + "use_default_id_function": true, + "curr_chapter_url": "https://www.beyondtheataraxia.com/manga/new-game/volume-02/capitolo-13/", + "first_chapter_url": "https://www.beyondtheataraxia.com/manga/new-game/volume-01/capitolo-01/", + "cover_image": "https://www.beyondtheataraxia.com/storage/2024/08/New-Game-Vol-1-1200x630.jpg", + "last_3_chapter_urls": [ + "https://www.beyondtheataraxia.com/manga/new-game/volume-01/capitolo-12/", + "https://www.beyondtheataraxia.com/manga/new-game/volume-01/capitolo-12-5/", + "https://www.beyondtheataraxia.com/manga/new-game/volume-02/capitolo-13/" + ] + } } } \ No newline at end of file