From d9a66b76514739420e6ee3a913be9b80cc9396af Mon Sep 17 00:00:00 2001 From: Schnitzel5 Date: Mon, 25 Nov 2024 22:51:11 +0100 Subject: [PATCH] add novel support --- .../src/frenchanime/frenchanime.dart | 2 +- .../datalifeengine/src/wiflix/wiflix.dart | 2 +- .../dopeflix/src/dopebox/dopebox.dart | 2 +- .../multisrc/dopeflix/src/sflix/sflix.dart | 2 +- .../zorotheme/src/hianime/hianime.dart | 2 +- .../multisrc/zorotheme/src/kaido/kaido.dart | 2 +- .../src/all/animeworldindia/sources.dart | 2 +- dart/anime/src/all/nyaa/source.dart | 2 +- dart/anime/src/ar/okanime/source.dart | 2 +- dart/anime/src/de/animetoast/source.dart | 2 +- dart/anime/src/en/animepahe/source.dart | 2 +- dart/anime/src/en/dramacool/source.dart | 2 +- dart/anime/src/en/gogoanime/source.dart | 2 +- dart/anime/src/en/kisskh/source.dart | 2 +- dart/anime/src/en/nineanimetv/source.dart | 2 +- dart/anime/src/en/uhdmovies/source.dart | 2 +- dart/anime/src/fr/animesama/source.dart | 2 +- dart/anime/src/fr/animesultra/source.dart | 2 +- dart/anime/src/fr/franime/source.dart | 2 +- dart/anime/src/fr/otakufr/source.dart | 2 +- dart/anime/src/hi/yomovies/source.dart | 2 +- dart/anime/src/id/nimegami/source.dart | 2 +- dart/anime/src/id/oploverz/source.dart | 2 +- dart/anime/src/id/otakudesu/source.dart | 2 +- dart/anime/src/it/animesaturn/source.dart | 2 +- dart/anime/src/pt/animesvision/source.dart | 2 +- dart/anime/src/sq/filma24/source.dart | 2 +- dart/anime/src/tr/diziwatch/source.dart | 2 +- dart/manga/multisrc/madara/sources.dart | 1 + dart/manga/multisrc/mangabox/sources.dart | 1 + dart/manga/multisrc/mangareader/sources.dart | 1 + dart/manga/multisrc/mmrcms/sources.dart | 1 + dart/manga/multisrc/nepnep/sources.dart | 1 + dart/manga/src/all/comick/sources.dart | 1 + dart/manga/src/all/mangadex/sources.dart | 1 + dart/manga/src/en/mangahere/source.dart | 1 + dart/novel/novel_source_list.dart | 4 ++++ dart/novel/src/en/icon.png | Bin 0 -> 17418 bytes dart/novel/src/en/novelupdates.dart | 0 dart/novel/src/en/source.dart | 19 +++++++++++++++ javascript/anime/src/de/aniworld.js | 2 +- javascript/anime/src/en/allanime.js | 2 +- javascript/anime/src/es/animeflv.js | 2 +- javascript/anime/src/zh/360zy.js | 2 +- javascript/anime/src/zh/ffzy.js | 2 +- javascript/anime/src/zh/huaweiba.js | 2 +- javascript/anime/src/zh/jisuzy.js | 2 +- javascript/anime/src/zh/mikan.js | 2 +- javascript/anime/src/zh/tiankongzy.js | 2 +- javascript/anime/src/zh/yhdm.js | 2 +- javascript/manga/src/zh/77mh.js | 2 +- javascript/manga/src/zh/copymanga.js | 2 +- javascript/manga/src/zh/dmzj.js | 2 +- javascript/manga/src/zh/manhuadb.js | 2 +- javascript/manga/src/zh/manhuagui.js | 2 +- model/source.dart | 14 +++++++---- source_generator.dart | 22 +++++++++++++++--- 57 files changed, 103 insertions(+), 50 deletions(-) create mode 100644 dart/novel/novel_source_list.dart create mode 100644 dart/novel/src/en/icon.png create mode 100644 dart/novel/src/en/novelupdates.dart create mode 100644 dart/novel/src/en/source.dart diff --git a/dart/anime/multisrc/datalifeengine/src/frenchanime/frenchanime.dart b/dart/anime/multisrc/datalifeengine/src/frenchanime/frenchanime.dart index f28491dc..719dcece 100644 --- a/dart/anime/multisrc/datalifeengine/src/frenchanime/frenchanime.dart +++ b/dart/anime/multisrc/datalifeengine/src/frenchanime/frenchanime.dart @@ -7,7 +7,7 @@ Source _frenchanimeSource = Source( baseUrl: "https://french-anime.com", lang: "fr", typeSource: "datalifeengine", - isManga: false, + itemType: ItemType.anime, iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/multisrc/datalifeengine/src/frenchanime/icon.png", ); diff --git a/dart/anime/multisrc/datalifeengine/src/wiflix/wiflix.dart b/dart/anime/multisrc/datalifeengine/src/wiflix/wiflix.dart index 3e98c937..083a1aa9 100644 --- a/dart/anime/multisrc/datalifeengine/src/wiflix/wiflix.dart +++ b/dart/anime/multisrc/datalifeengine/src/wiflix/wiflix.dart @@ -7,7 +7,7 @@ Source _wiflixSource = Source( baseUrl: "https://wiflix.bot", lang: "fr", typeSource: "datalifeengine", - isManga: false, + itemType: ItemType.anime, iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/multisrc/datalifeengine/src/wiflix/icon.png", ); diff --git a/dart/anime/multisrc/dopeflix/src/dopebox/dopebox.dart b/dart/anime/multisrc/dopeflix/src/dopebox/dopebox.dart index 2029e53f..ef8a39c7 100644 --- a/dart/anime/multisrc/dopeflix/src/dopebox/dopebox.dart +++ b/dart/anime/multisrc/dopeflix/src/dopebox/dopebox.dart @@ -7,7 +7,7 @@ Source _dopeboxSource = Source( baseUrl: "https://dopebox.to", lang: "en", typeSource: "dopeflix", - isManga: false, + itemType: ItemType.anime, iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/multisrc/dopeflix/src/dopebox/icon.png", ); diff --git a/dart/anime/multisrc/dopeflix/src/sflix/sflix.dart b/dart/anime/multisrc/dopeflix/src/sflix/sflix.dart index 89d420a4..c19dbd1e 100644 --- a/dart/anime/multisrc/dopeflix/src/sflix/sflix.dart +++ b/dart/anime/multisrc/dopeflix/src/sflix/sflix.dart @@ -7,7 +7,7 @@ Source _sflixSource = Source( baseUrl: "https://sflix.to", lang: "en", typeSource: "dopeflix", - isManga: false, + itemType: ItemType.anime, iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/multisrc/dopeflix/src/sflix/icon.png", ); diff --git a/dart/anime/multisrc/zorotheme/src/hianime/hianime.dart b/dart/anime/multisrc/zorotheme/src/hianime/hianime.dart index 86b54428..27bc3449 100644 --- a/dart/anime/multisrc/zorotheme/src/hianime/hianime.dart +++ b/dart/anime/multisrc/zorotheme/src/hianime/hianime.dart @@ -6,7 +6,7 @@ Source _aniwatchSource = Source( id: 814067600, name: "HiAnime", baseUrl: "https://hianime.to", - isManga: false, + itemType: ItemType.anime, lang: "en", typeSource: "zorotheme", iconUrl: diff --git a/dart/anime/multisrc/zorotheme/src/kaido/kaido.dart b/dart/anime/multisrc/zorotheme/src/kaido/kaido.dart index 7270c8cb..59929d21 100644 --- a/dart/anime/multisrc/zorotheme/src/kaido/kaido.dart +++ b/dart/anime/multisrc/zorotheme/src/kaido/kaido.dart @@ -6,7 +6,7 @@ Source _kaidoSource = Source( name: "Kaido.to", baseUrl: "https://kaido.to", lang: "en", - isManga: false, + itemType: ItemType.anime, typeSource: "zorotheme", iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/multisrc/zorotheme/src/kaido/icon.png", diff --git a/dart/anime/src/all/animeworldindia/sources.dart b/dart/anime/src/all/animeworldindia/sources.dart index 52db9e30..7d5e80e8 100644 --- a/dart/anime/src/all/animeworldindia/sources.dart +++ b/dart/anime/src/all/animeworldindia/sources.dart @@ -28,6 +28,6 @@ List _animeworldindiaSourcesList = _languages typeSource: "multiple", iconUrl: _iconUrl, version: _animeworldindiaVersion, - isManga: false, + itemType: ItemType.anime, sourceCodeUrl: _animeworldindiaSourceCodeUrl)) .toList(); diff --git a/dart/anime/src/all/nyaa/source.dart b/dart/anime/src/all/nyaa/source.dart index ea04acd6..358cda2c 100644 --- a/dart/anime/src/all/nyaa/source.dart +++ b/dart/anime/src/all/nyaa/source.dart @@ -15,5 +15,5 @@ Source _nyaaSource = Source( typeSource: "torrent", iconUrl: _iconUrl, version: _nyaaVersion, - isManga: false, + itemType: ItemType.anime, sourceCodeUrl: _nyaaSourceCodeUrl); diff --git a/dart/anime/src/ar/okanime/source.dart b/dart/anime/src/ar/okanime/source.dart index 64ab435d..ac354883 100644 --- a/dart/anime/src/ar/okanime/source.dart +++ b/dart/anime/src/ar/okanime/source.dart @@ -13,4 +13,4 @@ Source _okanimeSource = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/ar/okanime/icon.png", sourceCodeUrl: _okanimeSourceCodeUrl, version: _okanimeVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/de/animetoast/source.dart b/dart/anime/src/de/animetoast/source.dart index f3b6e160..e472a65c 100644 --- a/dart/anime/src/de/animetoast/source.dart +++ b/dart/anime/src/de/animetoast/source.dart @@ -13,4 +13,4 @@ Source _animetoast = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/de/animetoast/icon.png", sourceCodeUrl: _animetoastCodeUrl, version: _animetoastVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/en/animepahe/source.dart b/dart/anime/src/en/animepahe/source.dart index 9a52802d..0bf8602a 100644 --- a/dart/anime/src/en/animepahe/source.dart +++ b/dart/anime/src/en/animepahe/source.dart @@ -13,4 +13,4 @@ Source _animepaheSource = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/animepahe/icon.png", sourceCodeUrl: _animepaheSourceCodeUrl, version: _animepaheVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/en/dramacool/source.dart b/dart/anime/src/en/dramacool/source.dart index f70146c6..7c0cb4cd 100644 --- a/dart/anime/src/en/dramacool/source.dart +++ b/dart/anime/src/en/dramacool/source.dart @@ -13,4 +13,4 @@ Source _dramacoolSource = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/dramacool/icon.png", sourceCodeUrl: _dramacoolSourceCodeUrl, version: _dramacoolVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/en/gogoanime/source.dart b/dart/anime/src/en/gogoanime/source.dart index 0529962b..90640b1f 100644 --- a/dart/anime/src/en/gogoanime/source.dart +++ b/dart/anime/src/en/gogoanime/source.dart @@ -13,4 +13,4 @@ Source _gogoanimeSource = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/gogoanime/icon.png", sourceCodeUrl: _gogoanimeSourceCodeUrl, version: _gogoanimeVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/en/kisskh/source.dart b/dart/anime/src/en/kisskh/source.dart index 26cc5a10..c4405238 100644 --- a/dart/anime/src/en/kisskh/source.dart +++ b/dart/anime/src/en/kisskh/source.dart @@ -13,4 +13,4 @@ Source _kisskhSource = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/kisskh/icon.png", sourceCodeUrl: _kisskhSourceCodeUrl, version: _kisskhVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/en/nineanimetv/source.dart b/dart/anime/src/en/nineanimetv/source.dart index d568ea93..c57ada38 100644 --- a/dart/anime/src/en/nineanimetv/source.dart +++ b/dart/anime/src/en/nineanimetv/source.dart @@ -13,4 +13,4 @@ Source _nineanimetv = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/nineanimetv/icon.png", sourceCodeUrl: _nineanimetvCodeUrl, version: _nineanimetvVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/en/uhdmovies/source.dart b/dart/anime/src/en/uhdmovies/source.dart index 8cb2eb8f..00014bc9 100644 --- a/dart/anime/src/en/uhdmovies/source.dart +++ b/dart/anime/src/en/uhdmovies/source.dart @@ -13,4 +13,4 @@ Source _uhdmoviesSource = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/uhdmovies/icon.png", sourceCodeUrl: _uhdmoviesSourceCodeUrl, version: _uhdmoviesVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/fr/animesama/source.dart b/dart/anime/src/fr/animesama/source.dart index 18baefe3..bc99cc92 100644 --- a/dart/anime/src/fr/animesama/source.dart +++ b/dart/anime/src/fr/animesama/source.dart @@ -13,4 +13,4 @@ Source _animesama = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/animesama/icon.png", sourceCodeUrl: animesamaCodeUrl, version: animesamaVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/fr/animesultra/source.dart b/dart/anime/src/fr/animesultra/source.dart index 2fbc1c92..cfb16690 100644 --- a/dart/anime/src/fr/animesultra/source.dart +++ b/dart/anime/src/fr/animesultra/source.dart @@ -13,5 +13,5 @@ Source _animesultraSource = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/animesultra/icon.png", sourceCodeUrl: _animesultraSourceCodeUrl, version: _animesultraVersion, - isManga: false, + itemType: ItemType.anime, isFullData: false); diff --git a/dart/anime/src/fr/franime/source.dart b/dart/anime/src/fr/franime/source.dart index c91f0113..22b5a5b8 100644 --- a/dart/anime/src/fr/franime/source.dart +++ b/dart/anime/src/fr/franime/source.dart @@ -14,5 +14,5 @@ Source _franimeSource = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/franime/icon.png", sourceCodeUrl: _franimeSourceCodeUrl, version: _franimeVersion, - isManga: false, + itemType: ItemType.anime, isFullData: true); diff --git a/dart/anime/src/fr/otakufr/source.dart b/dart/anime/src/fr/otakufr/source.dart index ee005123..14d7208a 100644 --- a/dart/anime/src/fr/otakufr/source.dart +++ b/dart/anime/src/fr/otakufr/source.dart @@ -13,5 +13,5 @@ Source _otakufr = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/otakufr/icon.png", sourceCodeUrl: otakufrCodeUrl, version: otakufrVersion, - isManga: false, + itemType: ItemType.anime, isFullData: false); diff --git a/dart/anime/src/hi/yomovies/source.dart b/dart/anime/src/hi/yomovies/source.dart index a6df350c..39d2e5d1 100644 --- a/dart/anime/src/hi/yomovies/source.dart +++ b/dart/anime/src/hi/yomovies/source.dart @@ -13,4 +13,4 @@ Source _yomoviesSource = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/hi/yomovies/icon.png", sourceCodeUrl: _yomoviesSourceCodeUrl, version: _yomoviesVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/id/nimegami/source.dart b/dart/anime/src/id/nimegami/source.dart index 1468aca8..1c009109 100644 --- a/dart/anime/src/id/nimegami/source.dart +++ b/dart/anime/src/id/nimegami/source.dart @@ -13,4 +13,4 @@ Source _nimegami = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/nimegami/icon.png", sourceCodeUrl: _nimegamiCodeUrl, version: _nimegamiVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/id/oploverz/source.dart b/dart/anime/src/id/oploverz/source.dart index 4083f29f..d1ec05ba 100644 --- a/dart/anime/src/id/oploverz/source.dart +++ b/dart/anime/src/id/oploverz/source.dart @@ -13,4 +13,4 @@ Source _oploverz = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/oploverz/icon.png", sourceCodeUrl: _oploverzCodeUrl, version: _oploverzVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/id/otakudesu/source.dart b/dart/anime/src/id/otakudesu/source.dart index 288b4050..f91ae909 100644 --- a/dart/anime/src/id/otakudesu/source.dart +++ b/dart/anime/src/id/otakudesu/source.dart @@ -13,4 +13,4 @@ Source _otakudesu = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/otakudesu/icon.png", sourceCodeUrl: _otakudesuCodeUrl, version: _otakudesuVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/it/animesaturn/source.dart b/dart/anime/src/it/animesaturn/source.dart index 8148ab4c..a436568f 100644 --- a/dart/anime/src/it/animesaturn/source.dart +++ b/dart/anime/src/it/animesaturn/source.dart @@ -13,4 +13,4 @@ Source _animesaturn = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/it/animesaturn/icon.png", sourceCodeUrl: _animesaturnCodeUrl, version: _animesaturnVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/pt/animesvision/source.dart b/dart/anime/src/pt/animesvision/source.dart index e2aa1711..183c192e 100644 --- a/dart/anime/src/pt/animesvision/source.dart +++ b/dart/anime/src/pt/animesvision/source.dart @@ -13,4 +13,4 @@ Source _animesvision = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/pt/animesvision/icon.png", sourceCodeUrl: _animesvisionCodeUrl, version: _animesvisionVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/sq/filma24/source.dart b/dart/anime/src/sq/filma24/source.dart index d26ea58c..2b085406 100644 --- a/dart/anime/src/sq/filma24/source.dart +++ b/dart/anime/src/sq/filma24/source.dart @@ -13,4 +13,4 @@ Source _filma24 = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/sq/filma24/icon.png", sourceCodeUrl: _filma24CodeUrl, version: _filma24Version, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/anime/src/tr/diziwatch/source.dart b/dart/anime/src/tr/diziwatch/source.dart index fdef5bc5..d13cc343 100644 --- a/dart/anime/src/tr/diziwatch/source.dart +++ b/dart/anime/src/tr/diziwatch/source.dart @@ -13,4 +13,4 @@ Source _diziwatchSource = Source( "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/tr/diziwatch/icon.png", sourceCodeUrl: _diziwatchSourceCodeUrl, version: _diziwatchVersion, - isManga: false); + itemType: ItemType.anime); diff --git a/dart/manga/multisrc/madara/sources.dart b/dart/manga/multisrc/madara/sources.dart index d31f89e5..01043613 100644 --- a/dart/manga/multisrc/madara/sources.dart +++ b/dart/manga/multisrc/madara/sources.dart @@ -571,6 +571,7 @@ List _madaraSourcesList = [ webtoonhattiSource, ] .map((e) => e + ..itemType = ItemType.manga ..sourceCodeUrl = madaraSourceCodeUrl ..version = madaraVersion) .toList(); diff --git a/dart/manga/multisrc/mangabox/sources.dart b/dart/manga/multisrc/mangabox/sources.dart index 9d6ebeb2..8ba94a88 100644 --- a/dart/manga/multisrc/mangabox/sources.dart +++ b/dart/manga/multisrc/mangabox/sources.dart @@ -20,6 +20,7 @@ List _mangaboxSourcesList = [ manganatoSource ] .map((e) => e + ..itemType = ItemType.manga ..sourceCodeUrl = mangaboxSourceCodeUrl ..version = mangaboxVersion) .toList(); diff --git a/dart/manga/multisrc/mangareader/sources.dart b/dart/manga/multisrc/mangareader/sources.dart index 368596ab..1f6ce4dc 100644 --- a/dart/manga/multisrc/mangareader/sources.dart +++ b/dart/manga/multisrc/mangareader/sources.dart @@ -292,6 +292,7 @@ List _mangareaderSourcesList = [ zenithscansSource ] .map((e) => e + ..itemType = ItemType.manga ..sourceCodeUrl = mangareaderSourceCodeUrl ..version = mangareaderVersion) .toList(); diff --git a/dart/manga/multisrc/mmrcms/sources.dart b/dart/manga/multisrc/mmrcms/sources.dart index 57164115..cbcc621d 100644 --- a/dart/manga/multisrc/mmrcms/sources.dart +++ b/dart/manga/multisrc/mmrcms/sources.dart @@ -32,6 +32,7 @@ List _mmrcmsSourcesList = [ mangafrSource, ] .map((e) => e + ..itemType = ItemType.manga ..sourceCodeUrl = mmrcmsSourceCodeUrl ..version = mmrcmsVersion) .toList(); diff --git a/dart/manga/multisrc/nepnep/sources.dart b/dart/manga/multisrc/nepnep/sources.dart index e191c8e0..f71f1929 100644 --- a/dart/manga/multisrc/nepnep/sources.dart +++ b/dart/manga/multisrc/nepnep/sources.dart @@ -15,6 +15,7 @@ List _nepnepSourcesList = [ mangalifeSource, ] .map((e) => e + ..itemType = ItemType.manga ..sourceCodeUrl = nepnepSourceCodeUrl ..version = nepnepVersion) .toList(); diff --git a/dart/manga/src/all/comick/sources.dart b/dart/manga/src/all/comick/sources.dart index 1fe49c0a..dbfb1b61 100644 --- a/dart/manga/src/all/comick/sources.dart +++ b/dart/manga/src/all/comick/sources.dart @@ -67,5 +67,6 @@ List _comickSourcesList = _languages isNsfw: _isNsfw, dateFormatLocale: "en", version: _comickVersion, + itemType: ItemType.manga, sourceCodeUrl: _comickSourceCodeUrl)) .toList(); diff --git a/dart/manga/src/all/mangadex/sources.dart b/dart/manga/src/all/mangadex/sources.dart index e5f023c4..1f8d9aef 100644 --- a/dart/manga/src/all/mangadex/sources.dart +++ b/dart/manga/src/all/mangadex/sources.dart @@ -70,5 +70,6 @@ List _mangaDexSourcesList = _languages isNsfw: _isNsfw, dateFormatLocale: 'en_Us', version: _mangadexVersion, + itemType: ItemType.manga, sourceCodeUrl: _mangadexSourceCodeUrl)) .toList(); diff --git a/dart/manga/src/en/mangahere/source.dart b/dart/manga/src/en/mangahere/source.dart index 095f6fe0..789e1d84 100644 --- a/dart/manga/src/en/mangahere/source.dart +++ b/dart/manga/src/en/mangahere/source.dart @@ -12,6 +12,7 @@ Source _mangahereSource = Source( iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/src/en/mangahere/icon.png", sourceCodeUrl: _mangahereSourceCodeUrl, + itemType: ItemType.manga, version: _mangahereVersion, dateFormat: "MMM dd,yyyy", dateFormatLocale: "en", diff --git a/dart/novel/novel_source_list.dart b/dart/novel/novel_source_list.dart new file mode 100644 index 00000000..51a1594a --- /dev/null +++ b/dart/novel/novel_source_list.dart @@ -0,0 +1,4 @@ +import '../../model/source.dart'; + +List dartNovelSourceList = [ +]; diff --git a/dart/novel/src/en/icon.png b/dart/novel/src/en/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..544fef066fef894fe949acc8d5f38290d0daa6fd GIT binary patch literal 17418 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
  • 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 literal 0 HcmV?d00001 diff --git a/dart/novel/src/en/novelupdates.dart b/dart/novel/src/en/novelupdates.dart new file mode 100644 index 00000000..e69de29b diff --git a/dart/novel/src/en/source.dart b/dart/novel/src/en/source.dart new file mode 100644 index 00000000..475354c3 --- /dev/null +++ b/dart/novel/src/en/source.dart @@ -0,0 +1,19 @@ +import '../../../../model/source.dart'; + +Source get novelUpdatesSource => _novelUpdatesSource; +const _novelUpdatesVersion = "0.0.1"; +const _novelUpdatesSourceCodeUrl = + "https://raw.githubusercontent.com/Schnitzel5/mangayomi-extensions/$branchName/dart/novel/src/en/novelupdates.dart"; +Source _novelUpdatesSource = Source( + name: "NovelUpdates", + baseUrl: "https://www.novelupdates.com", + lang: "en", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/Schnitzel5/mangayomi-extensions/$branchName/dart/manga/src/en/icon.png", + sourceCodeUrl: _novelUpdatesSourceCodeUrl, + itemType: ItemType.novel, + version: _novelUpdatesVersion, + dateFormat: "MMM dd,yyyy", + dateFormatLocale: "en", +); diff --git a/javascript/anime/src/de/aniworld.js b/javascript/anime/src/de/aniworld.js index 110e2f69..67c68e21 100644 --- a/javascript/anime/src/de/aniworld.js +++ b/javascript/anime/src/de/aniworld.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/de.aniworld.png", "typeSource": "single", - "isManga": false, + "itemType": "anime", "isNsfw": false, "version": "0.0.15", "dateFormat": "", diff --git a/javascript/anime/src/en/allanime.js b/javascript/anime/src/en/allanime.js index 44114676..6815242b 100644 --- a/javascript/anime/src/en/allanime.js +++ b/javascript/anime/src/en/allanime.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "https://api.allanime.day/api", "iconUrl": "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/en.allanime.png", "typeSource": "single", - "isManga": false, + "itemType": "anime", "isNsfw": false, "version": "0.0.25", "dateFormat": "", diff --git a/javascript/anime/src/es/animeflv.js b/javascript/anime/src/es/animeflv.js index 06ace0bd..cd59da2f 100644 --- a/javascript/anime/src/es/animeflv.js +++ b/javascript/anime/src/es/animeflv.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/es.animeflv.png", "typeSource": "single", - "isManga": false, + "itemType": "anime", "isNsfw": false, "version": "0.0.1", "dateFormat": "", diff --git a/javascript/anime/src/zh/360zy.js b/javascript/anime/src/zh/360zy.js index c0a59e36..0ecceaeb 100644 --- a/javascript/anime/src/zh/360zy.js +++ b/javascript/anime/src/zh/360zy.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "https://360zy.com/favicon.ico", "typeSource": "single", - "isManga": false, + "itemType": "anime", "isNsfw": false, "version": "0.0.1", "dateFormat": "", diff --git a/javascript/anime/src/zh/ffzy.js b/javascript/anime/src/zh/ffzy.js index f9dd2184..65ab73d1 100644 --- a/javascript/anime/src/zh/ffzy.js +++ b/javascript/anime/src/zh/ffzy.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "http://ffzy.tv/template/default/img/favicon.png", "typeSource": "single", - "isManga": false, + "itemType": "anime", "isNsfw": false, "version": "0.0.1", "dateFormat": "", diff --git a/javascript/anime/src/zh/huaweiba.js b/javascript/anime/src/zh/huaweiba.js index 200de6f7..56ea0744 100644 --- a/javascript/anime/src/zh/huaweiba.js +++ b/javascript/anime/src/zh/huaweiba.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "https://huaweiba.live/template/ziyuan/images/logo2.png", "typeSource": "single", - "isManga": false, + "itemType": "anime", "isNsfw": false, "version": "0.0.1", "dateFormat": "", diff --git a/javascript/anime/src/zh/jisuzy.js b/javascript/anime/src/zh/jisuzy.js index 7600ceb4..e3ce912b 100644 --- a/javascript/anime/src/zh/jisuzy.js +++ b/javascript/anime/src/zh/jisuzy.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "https://www.jisuzy.com/template/default/images/site_logo.png", "typeSource": "single", - "isManga": false, + "itemType": "anime", "isNsfw": false, "version": "0.0.1", "dateFormat": "", diff --git a/javascript/anime/src/zh/mikan.js b/javascript/anime/src/zh/mikan.js index abbd893a..fc5d122e 100644 --- a/javascript/anime/src/zh/mikan.js +++ b/javascript/anime/src/zh/mikan.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "https://mikanime.tv/images/mikan-pic.png", "typeSource": "torrent", - "isManga": false, + "itemType": "anime", "isNsfw": false, "version": "0.0.15", "dateFormat": "", diff --git a/javascript/anime/src/zh/tiankongzy.js b/javascript/anime/src/zh/tiankongzy.js index e9d21096..eb23c9a4 100644 --- a/javascript/anime/src/zh/tiankongzy.js +++ b/javascript/anime/src/zh/tiankongzy.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "https://api.tiankongapi.com/template/v10012/images/logo.jpg", "typeSource": "single", - "isManga": false, + "itemType": "anime", "isNsfw": false, "version": "0.0.1", "dateFormat": "", diff --git a/javascript/anime/src/zh/yhdm.js b/javascript/anime/src/zh/yhdm.js index a6bf7f82..d8c615db 100644 --- a/javascript/anime/src/zh/yhdm.js +++ b/javascript/anime/src/zh/yhdm.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "http://www.iyinghua.io/js/20180601/favicon.ico", "typeSource": "single", - "isManga": false, + "itemType": "anime", "isNsfw": false, "version": "0.0.15", "dateFormat": "", diff --git a/javascript/manga/src/zh/77mh.js b/javascript/manga/src/zh/77mh.js index 78417889..6f6fbda4 100644 --- a/javascript/manga/src/zh/77mh.js +++ b/javascript/manga/src/zh/77mh.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "https://www.77mh.nl/favicon.ico", "typeSource": "single", - "isManga": true, + "itemType": "manga", "isNsfw": false, "version": "0.0.25", "apiUrl": "", diff --git a/javascript/manga/src/zh/copymanga.js b/javascript/manga/src/zh/copymanga.js index 9278cad6..aa11dd73 100644 --- a/javascript/manga/src/zh/copymanga.js +++ b/javascript/manga/src/zh/copymanga.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "https://api.mangacopy.com", "iconUrl": "https://hi77-overseas.mangafuna.xyz/static/free.ico", "typeSource": "single", - "isManga": true, + "itemType": "manga", "isNsfw": false, "version": "0.0.2", "dateFormat": "", diff --git a/javascript/manga/src/zh/dmzj.js b/javascript/manga/src/zh/dmzj.js index 9c490fd4..064c7934 100644 --- a/javascript/manga/src/zh/dmzj.js +++ b/javascript/manga/src/zh/dmzj.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "https://www.dmzj.com/_nuxt/logo_dmzj.1c94014a.png", "typeSource": "single", - "isManga": true, + "itemType": "manga", "isNsfw": false, "version": "0.0.25", "dateFormat": "", diff --git a/javascript/manga/src/zh/manhuadb.js b/javascript/manga/src/zh/manhuadb.js index bc270e02..ad52caf7 100644 --- a/javascript/manga/src/zh/manhuadb.js +++ b/javascript/manga/src/zh/manhuadb.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/zh.manhuadb.png", "typeSource": "single", - "isManga": true, + "itemType": "manga", "isNsfw": false, "version": "0.0.25", "dateFormat": "", diff --git a/javascript/manga/src/zh/manhuagui.js b/javascript/manga/src/zh/manhuagui.js index 6dd7c95c..44bb2e73 100644 --- a/javascript/manga/src/zh/manhuagui.js +++ b/javascript/manga/src/zh/manhuagui.js @@ -5,7 +5,7 @@ const mangayomiSources = [{ "apiUrl": "", "iconUrl": "https://www.manhuagui.com/favicon.ico", "typeSource": "single", - "isManga": true, + "itemType": "manga", "isNsfw": false, "version": "0.0.25", "dateFormat": "", diff --git a/model/source.dart b/model/source.dart index f32f5305..84d3a218 100644 --- a/model/source.dart +++ b/model/source.dart @@ -25,7 +25,7 @@ class Source { String? version; - bool? isManga; + ItemType? itemType; bool? isFullData; @@ -49,7 +49,7 @@ class Source { this.sourceCodeUrl = "", this.apiUrl = "", this.version = "", - this.isManga = true, + this.itemType = ItemType.manga, this.isFullData = false, this.appMinVerReq = "0.2.0", this.additionalParams = "", @@ -68,7 +68,7 @@ class Source { : 'mangayomi-js-"${json['lang'] ?? ""}"."${json['name'] ?? ""}"') .hashCode; isFullData = json['isFullData'] ?? false; - isManga = json['isManga'] ?? false; + itemType = json['itemType'] ?? ItemType.manga; isNsfw = json['isNsfw'] ?? false; lang = json['lang'] ?? ""; name = json['name'] ?? ""; @@ -94,7 +94,7 @@ class Source { "sourceCodeUrl": sourceCodeUrl, "apiUrl": apiUrl, "version": version, - "isManga": isManga, + "itemType": itemType, "isFullData": isFullData, "appMinVerReq": appMinVerReq, "additionalParams": additionalParams, @@ -104,3 +104,9 @@ class Source { } const branchName = "main"; + +enum ItemType { + manga, + anime, + novel +} \ No newline at end of file diff --git a/source_generator.dart b/source_generator.dart index f2272441..1ee65660 100644 --- a/source_generator.dart +++ b/source_generator.dart @@ -3,12 +3,14 @@ import 'dart:developer'; import 'dart:io'; import 'dart/anime/anime_source_list.dart'; import 'dart/manga/manga_source_list.dart'; +import 'dart/novel/novel_source_list.dart'; import 'model/source.dart'; void main() { final jsSources = _searchJsSources(Directory("javascript")); - genManga(jsSources.where((element) => element.isManga!).toList()); - genAnime(jsSources.where((element) => !element.isManga!).toList()); + genManga(jsSources.where((element) => element.itemType == "manga").toList()); + genAnime(jsSources.where((element) => element.itemType == "anime").toList()); + genNovel(jsSources.where((element) => element.itemType == "novel").toList()); } void genManga(List jsMangasourceList) { @@ -39,6 +41,20 @@ void genAnime(List jsAnimesourceList) { log('JSON file created: ${file.path}'); } +void genNovel(List jsNovelSourceList) { + List novelSources = []; + novelSources.addAll(dartNovelSourceList); + novelSources.addAll(jsNovelSourceList); + final List> jsonList = + novelSources.map((source) => source.toJson()).toList(); + final jsonString = jsonEncode(jsonList); + + final file = File('novel_index.json'); + file.writeAsStringSync(jsonString); + + log('JSON file created: ${file.path}'); +} + List _searchJsSources(Directory dir) { List sourceList = []; List entities = dir.listSync(); @@ -60,7 +76,7 @@ List _searchJsSources(Directory dir) { ..sourceCodeLanguage = 1 ..appMinVerReq = defaultSource.appMinVerReq ..sourceCodeUrl = - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/javascript/${e["pkgPath"] ?? e["pkgName"]}") + "https://raw.githubusercontent.com/Schnitzel5/mangayomi-extensions/$branchName/javascript/${e["pkgPath"] ?? e["pkgName"]}") .toList()); } }