diff --git a/dart/anime/anime_source_list.dart b/dart/anime/anime_source_list.dart index c20ef88f..be1af11e 100644 --- a/dart/anime/anime_source_list.dart +++ b/dart/anime/anime_source_list.dart @@ -50,5 +50,5 @@ List dartAnimesourceList = [ animesvision, diziwatchSource, aniZoneSource, - animeonlineninjaSource + animeonlineninjaSource, ]; diff --git a/dart/anime/multisrc/datalifeengine/datalifeengine.dart b/dart/anime/multisrc/datalifeengine/datalifeengine.dart index 3186b4d3..870a0713 100644 --- a/dart/anime/multisrc/datalifeengine/datalifeengine.dart +++ b/dart/anime/multisrc/datalifeengine/datalifeengine.dart @@ -6,8 +6,10 @@ class DataLifeEngine extends MProvider { MSource source; - final Client client = - Client(source, json.encode({"useDartHttpClient": true})); + final Client client = Client( + source, + json.encode({"useDartHttpClient": true}), + ); @override bool get supportsLatest => false; @@ -18,8 +20,9 @@ class DataLifeEngine extends MProvider { @override Future getPopular(int page) async { final res = - (await client.get(Uri.parse("$baseUrl${getPath(source)}page/$page"))) - .body; + (await client.get( + Uri.parse("$baseUrl${getPath(source)}page/$page"), + )).body; return animeFromElement(res); } @@ -38,21 +41,25 @@ class DataLifeEngine extends MProvider { final headers = { "Host": Uri.parse(baseUrl).host, "Origin": baseUrl, - "Referer": "$baseUrl/" + "Referer": "$baseUrl/", }; final cleanQuery = query.replaceAll(" ", "+"); if (page == 1) { - res = (await client.post( - Uri.parse( - "$baseUrl?do=search&subaction=search&story=$cleanQuery"), - headers: headers)) - .body; + res = + (await client.post( + Uri.parse( + "$baseUrl?do=search&subaction=search&story=$cleanQuery", + ), + headers: headers, + )).body; } else { - res = (await client.post( - Uri.parse( - "$baseUrl?do=search&subaction=search&search_start=$page&full_search=0&result_from=11&story=$cleanQuery"), - headers: headers)) - .body; + res = + (await client.post( + Uri.parse( + "$baseUrl?do=search&subaction=search&search_start=$page&full_search=0&result_from=11&story=$cleanQuery", + ), + headers: headers, + )).body; } } else { String url = ""; @@ -76,8 +83,9 @@ class DataLifeEngine extends MProvider { @override Future getDetail(String url) async { String res = - (await client.get(Uri.parse("$baseUrl${getUrlWithoutDomain(url)}"))) - .body; + (await client.get( + Uri.parse("$baseUrl${getUrlWithoutDomain(url)}"), + )).body; MManga anime = MManga(); final description = xpath(res, '//span[@itemprop="description"]/text()'); anime.description = description.isNotEmpty ? description.first : ""; @@ -96,10 +104,13 @@ class DataLifeEngine extends MProvider { } } else { final doc = parseHtml(res); - final elements = doc - .select(".hostsblock div:has(a)") - .where((MElement e) => e.outerHtml.contains("loadVideo('https://")) - .toList(); + final elements = + doc + .select(".hostsblock div:has(a)") + .where( + (MElement e) => e.outerHtml.contains("loadVideo('https://"), + ) + .toList(); if (elements.isNotEmpty) { for (var element in elements) { element = element as MElement; @@ -110,8 +121,12 @@ class DataLifeEngine extends MProvider { .replaceAll("vf", " VF"); ep.url = element .select("a") - .map((MElement e) => substringBefore( - substringAfter(e.attr('onclick'), "loadVideo('"), "')")) + .map( + (MElement e) => substringBefore( + substringAfter(e.attr('onclick'), "loadVideo('"), + "')", + ), + ) .toList() .join(",") .replaceAll("/vd.php?u=", ""); @@ -124,8 +139,12 @@ class DataLifeEngine extends MProvider { ep.url = doc .select("a") .where((MElement e) => e.outerHtml.contains("loadVideo('https://")) - .map((MElement e) => substringBefore( - substringAfter(e.attr('onclick'), "loadVideo('"), "')")) + .map( + (MElement e) => substringBefore( + substringAfter(e.attr('onclick'), "loadVideo('"), + "')", + ), + ) .toList() .join(",") .replaceAll("/vd.php?u=", ""); @@ -145,8 +164,12 @@ class DataLifeEngine extends MProvider { List a = []; if (sUrl.contains("dood") || sUrl.contains("d000")) { a = await doodExtractor(sUrl, "DoodStream"); - } else if (["streamhide", "guccihide", "streamvid", "dhtpre"] - .any((a) => sUrl.contains(a))) { + } else if ([ + "streamhide", + "guccihide", + "streamvid", + "dhtpre", + ].any((a) => sUrl.contains(a))) { a = await streamHideExtractor(sUrl); } else if (sUrl.contains("uqload")) { a = await uqloadExtractor(sUrl); @@ -191,15 +214,18 @@ class DataLifeEngine extends MProvider { Future> streamHideExtractor(String url) async { final res = (await client.get(Uri.parse(url))).body; final masterUrl = substringBefore( - substringAfter( - substringAfter( - substringAfter(unpackJs(res), "sources:"), "file:\""), - "src:\""), - '"'); + substringAfter( + substringAfter(substringAfter(unpackJs(res), "sources:"), "file:\""), + "src:\"", + ), + '"', + ); final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; List videos = []; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -226,12 +252,16 @@ class DataLifeEngine extends MProvider { if (js.isEmpty) { return []; } - final masterUrl = - substringBefore(substringAfter(unpackJs(js.first), "{file:\""), "\"}"); + final masterUrl = substringBefore( + substringAfter(unpackJs(js.first), "{file:\""), + "\"}", + ); final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; List videos = []; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -259,8 +289,10 @@ class DataLifeEngine extends MProvider { return []; } - final videoUrl = - substringBefore(substringAfter(js.first, "sources: [\""), '"'); + final videoUrl = substringBefore( + substringAfter(js.first, "sources: [\""), + '"', + ); MVideo video = MVideo(); video ..url = videoUrl @@ -271,22 +303,23 @@ class DataLifeEngine extends MProvider { } Future> vidmolyExtractor(String url) async { - final headers = { - 'Referer': 'https://vidmoly.to', - }; + final headers = {'Referer': 'https://vidmoly.to'}; List videos = []; final playListUrlResponse = (await client.get(Uri.parse(url))).body; final playlistUrl = RegExp(r'file:"(\S+?)"').firstMatch(playListUrlResponse)?.group(1) ?? - ""; + ""; if (playlistUrl.isEmpty) return []; - final masterPlaylistRes = - await client.get(Uri.parse(playlistUrl), headers: headers); + final masterPlaylistRes = await client.get( + Uri.parse(playlistUrl), + headers: headers, + ); if (masterPlaylistRes.statusCode == 200) { - for (var it - in substringAfter(masterPlaylistRes.body, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes.body, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -315,22 +348,24 @@ class DataLifeEngine extends MProvider { return [ if (source.name == "Wiflix") EditTextPreference( - key: "overrideBaseUrl", - title: "Changer l'url de base", - summary: "", - value: "https://wiflix-hd.vip", - dialogTitle: "Changer l'url de base", - dialogMessage: "", - text: "https://wiflix-hd.vip"), + key: "overrideBaseUrl", + title: "Changer l'url de base", + summary: "", + value: "https://wiflix-hd.vip", + dialogTitle: "Changer l'url de base", + dialogMessage: "", + text: "https://wiflix-hd.vip", + ), if (source.name == "French Anime") EditTextPreference( - key: "overrideBaseUrl", - title: "Changer l'url de base", - summary: "", - value: "https://french-anime.com", - dialogTitle: "Changer l'url de base", - dialogMessage: "", - text: "https://french-anime.com"), + key: "overrideBaseUrl", + title: "Changer l'url de base", + summary: "", + value: "https://french-anime.com", + dialogTitle: "Changer l'url de base", + dialogMessage: "", + text: "https://french-anime.com", + ), ]; } @@ -360,20 +395,20 @@ class DataLifeEngine extends MProvider { SelectFilterOption("Seinen", "/genre/seinen/"), SelectFilterOption("Horreur", "/genre/horreur/"), SelectFilterOption("Tranche de vie", "/genre/tranchedevie/"), - SelectFilterOption("Psychologique", "/genre/psychologique/") + SelectFilterOption("Psychologique", "/genre/psychologique/"), ]), if (source.name == "French Anime") SelectFilter("GenresFilter", "Genres", 0, [ SelectFilterOption("", ""), SelectFilterOption("Animes VF", "/animes-vf/"), SelectFilterOption("Animes VOSTFR", "/animes-vostfr/"), - SelectFilterOption("Films VF et VOSTFR", "/films-vf-vostfr/") + SelectFilterOption("Films VF et VOSTFR", "/films-vf-vostfr/"), ]), if (source.name == "Wiflix") SelectFilter("CategoriesFilter", "Catégories", 0, [ SelectFilterOption("", ""), SelectFilterOption("Séries", "/serie-en-streaming/"), - SelectFilterOption("Films", "/film-en-streaming/") + SelectFilterOption("Films", "/film-en-streaming/"), ]), if (source.name == "Wiflix") SelectFilter("GenresFilter", "Genres", 0, [ @@ -381,17 +416,25 @@ class DataLifeEngine extends MProvider { SelectFilterOption("Action", "/film-en-streaming/action/"), SelectFilterOption("Animation", "/film-en-streaming/animation/"), SelectFilterOption( - "Arts Martiaux", "/film-en-streaming/arts-martiaux/"), + "Arts Martiaux", + "/film-en-streaming/arts-martiaux/", + ), SelectFilterOption("Aventure", "/film-en-streaming/aventure/"), SelectFilterOption("Biopic", "/film-en-streaming/biopic/"), SelectFilterOption("Comédie", "/film-en-streaming/comedie/"), SelectFilterOption( - "Comédie Dramatique", "/film-en-streaming/comedie-dramatique/"), + "Comédie Dramatique", + "/film-en-streaming/comedie-dramatique/", + ), SelectFilterOption( - "Épouvante Horreur", "/film-en-streaming/horreur/"), + "Épouvante Horreur", + "/film-en-streaming/horreur/", + ), SelectFilterOption("Drame", "/film-en-streaming/drame/"), SelectFilterOption( - "Documentaire", "/film-en-streaming/documentaire/"), + "Documentaire", + "/film-en-streaming/documentaire/", + ), SelectFilterOption("Espionnage", "/film-en-streaming/espionnage/"), SelectFilterOption("Famille", "/film-en-streaming/famille/"), SelectFilterOption("Fantastique", "/film-en-streaming/fantastique/"), @@ -401,7 +444,9 @@ class DataLifeEngine extends MProvider { SelectFilterOption("Policier", "/film-en-streaming/policier/"), SelectFilterOption("Romance", "/film-en-streaming/romance/"), SelectFilterOption( - "Science-Fiction", "/film-en-streaming/science-fiction/"), + "Science-Fiction", + "/film-en-streaming/science-fiction/", + ), SelectFilterOption("Spectacles", "/film-en-streaming/spectacles/"), SelectFilterOption("Thriller", "/film-en-streaming/thriller/"), SelectFilterOption("Western", "/film-en-streaming/western/"), diff --git a/dart/anime/multisrc/datalifeengine/sources.dart b/dart/anime/multisrc/datalifeengine/sources.dart index 1398b736..6c5eca54 100644 --- a/dart/anime/multisrc/datalifeengine/sources.dart +++ b/dart/anime/multisrc/datalifeengine/sources.dart @@ -7,13 +7,17 @@ const _datalifeengineSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/multisrc/datalifeengine/datalifeengine.dart"; List get datalifeengineSourcesList => _datalifeengineSourcesList; -List _datalifeengineSourcesList = [ -//French Anime (FR) - frenchanimeSource, -//Wiflix (FR) - wiflixSource, -] - .map((e) => e - ..sourceCodeUrl = _datalifeengineSourceCodeUrl - ..version = _datalifeengineVersion) - .toList(); +List _datalifeengineSourcesList = + [ + //French Anime (FR) + frenchanimeSource, + //Wiflix (FR) + wiflixSource, + ] + .map( + (e) => + e + ..sourceCodeUrl = _datalifeengineSourceCodeUrl + ..version = _datalifeengineVersion, + ) + .toList(); diff --git a/dart/anime/multisrc/dopeflix/dopeflix.dart b/dart/anime/multisrc/dopeflix/dopeflix.dart index 6a49ea03..5403cd73 100644 --- a/dart/anime/multisrc/dopeflix/dopeflix.dart +++ b/dart/anime/multisrc/dopeflix/dopeflix.dart @@ -13,9 +13,12 @@ class DopeFlix extends MProvider { @override Future getPopular(int page) async { - final res = (await client.get(Uri.parse( - "$baseUrl/${getPreferenceValue(source.id, "preferred_popular_page")}?page=$page"))) - .body; + final res = + (await client.get( + Uri.parse( + "$baseUrl/${getPreferenceValue(source.id, "preferred_popular_page")}?page=$page", + ), + )).body; return parseAnimeList(res); } @@ -109,25 +112,32 @@ class DopeFlix extends MProvider { final resS = (await client.get(Uri.parse("$baseUrl/ajax/v2/tv/seasons/$id"))).body; - final seasonIds = - xpath(resS, '//a[@class="dropdown-item ss-item"]/@data-id'); - final seasonNames = - xpath(resS, '//a[@class="dropdown-item ss-item"]/text()'); + final seasonIds = xpath( + resS, + '//a[@class="dropdown-item ss-item"]/@data-id', + ); + final seasonNames = xpath( + resS, + '//a[@class="dropdown-item ss-item"]/text()', + ); for (int i = 0; i < seasonIds.length; i++) { final seasonId = seasonIds[i]; final seasonName = seasonNames[i]; - final html = (await client - .get(Uri.parse("$baseUrl/ajax/v2/season/episodes/$seasonId"))) - .body; + final html = + (await client.get( + Uri.parse("$baseUrl/ajax/v2/season/episodes/$seasonId"), + )).body; final epsHtmls = parseHtml(html).select("div.eps-item"); for (var epH in epsHtmls) { final epHtml = epH.outerHtml; final episodeId = - xpath(epHtml, '//div[contains(@class,"eps-item")]/@data-id') - .first; + xpath( + epHtml, + '//div[contains(@class,"eps-item")]/@data-id', + ).first; final epNum = xpath(epHtml, '//div[@class="episode-number"]/text()').first; final epName = xpath(epHtml, '//h3[@class="film-name"]/text()').first; @@ -157,8 +167,10 @@ class DopeFlix extends MProvider { final resSource = (await client.get(Uri.parse("$baseUrl/ajax/sources/$id"))).body; - final vidUrl = - substringBefore(substringAfter(resSource, "\"link\":\""), "\""); + final vidUrl = substringBefore( + substringAfter(resSource, "\"link\":\""), + "\"", + ); List a = []; String masterUrl = ""; String type = ""; @@ -168,10 +180,11 @@ class DopeFlix extends MProvider { final id = substringBefore(substringAfter(vidUrl, "/embed-4/"), "?"); final serverUrl = substringBefore(vidUrl, "/embed"); - final resServer = (await client.get( - Uri.parse("$serverUrl/ajax/embed-4/getSources?id=$id"), - headers: {"X-Requested-With": "XMLHttpRequest"})) - .body; + final resServer = + (await client.get( + Uri.parse("$serverUrl/ajax/embed-4/getSources?id=$id"), + headers: {"X-Requested-With": "XMLHttpRequest"}, + )).body; final encrypted = getMapValue(resServer, "encrypted"); String videoResJson = ""; @@ -192,11 +205,13 @@ class DopeFlix extends MProvider { index += item.last; } videoResJson = decryptAESCryptoJS(ciphertext, password); - masterUrl = ((json.decode(videoResJson) as List>) - .first)['file']; + masterUrl = + ((json.decode(videoResJson) as List>) + .first)['file']; - type = ((json.decode(videoResJson) as List>) - .first)['type']; + type = + ((json.decode(videoResJson) as List>) + .first)['type']; } else { masterUrl = ((json.decode(resServer)["sources"] as List>) @@ -207,9 +222,10 @@ class DopeFlix extends MProvider { .first)['type']; } - final tracks = (json.decode(resServer)['tracks'] as List) - .where((e) => e['kind'] == 'captions' ? true : false) - .toList(); + final tracks = + (json.decode(resServer)['tracks'] as List) + .where((e) => e['kind'] == 'captions' ? true : false) + .toList(); List subtitles = []; for (var sub in tracks) { @@ -227,8 +243,10 @@ class DopeFlix extends MProvider { final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -264,28 +282,31 @@ class DopeFlix extends MProvider { } Future>> generateIndexPairs() async { - final res = (await client.get(Uri.parse( - "https://rabbitstream.net/js/player/prod/e4-player.min.js"))) - .body; + final res = + (await client.get( + Uri.parse("https://rabbitstream.net/js/player/prod/e4-player.min.js"), + )).body; String script = substringBefore(substringAfter(res, "const "), "()"); script = script.substring(0, script.lastIndexOf(',')); - final list = script - .split(",") - .map((String e) { - String value = substringAfter(e, "="); - if (value.contains("0x")) { - return int.parse(substringAfter(value, "0x"), radix: 16); - } else { - return int.parse(value); - } - }) - .toList() - .skip(1) - .toList(); - return chunked(list, 2) - .map((List list) => list.reversed.toList()) - .toList(); + final list = + script + .split(",") + .map((String e) { + String value = substringAfter(e, "="); + if (value.contains("0x")) { + return int.parse(substringAfter(value, "0x"), radix: 16); + } else { + return int.parse(value); + } + }) + .toList() + .skip(1) + .toList(); + return chunked( + list, + 2, + ).map((List list) => list.reversed.toList()).toList(); } List> chunked(List list, int size) { @@ -316,7 +337,9 @@ class DopeFlix extends MProvider { animeList.add(anime); } final pages = xpath( - res, '//ul[contains(@class,"pagination")]/li/a[@title="Next"]/@title'); + res, + '//ul[contains(@class,"pagination")]/li/a[@title="Next"]/@title', + ); return MPages(animeList, pages.isNotEmpty); } @@ -326,13 +349,13 @@ class DopeFlix extends MProvider { SelectFilter("TypeFilter", "Type", 0, [ SelectFilterOption("All", "all"), SelectFilterOption("Movies", "movies"), - SelectFilterOption("TV Shows", "tv") + SelectFilterOption("TV Shows", "tv"), ]), SelectFilter("QualityFilter", "Quality", 0, [ SelectFilterOption("All", "all"), SelectFilterOption("HD", "HD"), SelectFilterOption("SD", "SD"), - SelectFilterOption("CAM", "CAM") + SelectFilterOption("CAM", "CAM"), ]), SelectFilter("ReleaseYearFilter", "Released at", 0, [ SelectFilterOption("All", "all"), @@ -343,7 +366,7 @@ class DopeFlix extends MProvider { SelectFilterOption("2020", "2020"), SelectFilterOption("2019", "2019"), SelectFilterOption("2018", "2018"), - SelectFilterOption("Older", "older-2018") + SelectFilterOption("Older", "older-2018"), ]), SeparatorFilter(), GroupFilter("GenresFilter", "Genre", [ @@ -374,7 +397,7 @@ class DopeFlix extends MProvider { CheckBoxFilter("TV Movie", "8"), CheckBoxFilter("War", "17"), CheckBoxFilter("War & Politics", "28"), - CheckBoxFilter("Western", "6") + CheckBoxFilter("Western", "6"), ]), GroupFilter("CountriesFilter", "Countries", [ CheckBoxFilter("Argentina", "11"), @@ -412,7 +435,7 @@ class DopeFlix extends MProvider { CheckBoxFilter("Taiwan", "119"), CheckBoxFilter("Thailand", "57"), CheckBoxFilter("United Kingdom", "180"), - CheckBoxFilter("United States of America", "129") + CheckBoxFilter("United States of America", "129"), ]), ]; } @@ -422,72 +445,78 @@ class DopeFlix extends MProvider { return [ if (source.name == "DopeBox") ListPreference( - key: "preferred_domain", - title: "Preferred domain", - summary: "", - valueIndex: 0, - entries: ["dopebox.to", "dopebox.se"], - entryValues: ["https://dopebox.to", "https://dopebox.se"]), + key: "preferred_domain", + title: "Preferred domain", + summary: "", + valueIndex: 0, + entries: ["dopebox.to", "dopebox.se"], + entryValues: ["https://dopebox.to", "https://dopebox.se"], + ), if (source.name == "SFlix") ListPreference( - key: "preferred_domain", - title: "Preferred domain", - summary: "", - valueIndex: 0, - entries: ["sflix.to", "sflix.se"], - entryValues: ["https://sflix.to", "https://sflix.se"]), - ListPreference( - key: "preferred_quality", - title: "Preferred Quality", + key: "preferred_domain", + title: "Preferred domain", summary: "", valueIndex: 0, - entries: ["1080p", "720p", "480p", "360p"], - entryValues: ["1080p", "720p", "480p", "360p"]), + entries: ["sflix.to", "sflix.se"], + entryValues: ["https://sflix.to", "https://sflix.se"], + ), ListPreference( - key: "preferred_subLang", - title: "Preferred sub language", - summary: "", - valueIndex: 1, - entries: [ - "Arabic", - "English", - "French", - "German", - "Hungarian", - "Italian", - "Japanese", - "Portuguese", - "Romanian", - "Russian", - "Spanish" - ], - entryValues: [ - "Arabic", - "English", - "French", - "German", - "Hungarian", - "Italian", - "Japanese", - "Portuguese", - "Romanian", - "Russian", - "Spanish" - ]), + key: "preferred_quality", + title: "Preferred Quality", + summary: "", + valueIndex: 0, + entries: ["1080p", "720p", "480p", "360p"], + entryValues: ["1080p", "720p", "480p", "360p"], + ), ListPreference( - key: "preferred_latest_page", - title: "Preferred latest page", - summary: "", - valueIndex: 0, - entries: ["Movies", "TV Shows"], - entryValues: ["Latest Movies", "Latest TV Shows"]), + key: "preferred_subLang", + title: "Preferred sub language", + summary: "", + valueIndex: 1, + entries: [ + "Arabic", + "English", + "French", + "German", + "Hungarian", + "Italian", + "Japanese", + "Portuguese", + "Romanian", + "Russian", + "Spanish", + ], + entryValues: [ + "Arabic", + "English", + "French", + "German", + "Hungarian", + "Italian", + "Japanese", + "Portuguese", + "Romanian", + "Russian", + "Spanish", + ], + ), ListPreference( - key: "preferred_popular_page", - title: "Preferred popular page", - summary: "", - valueIndex: 0, - entries: ["Movies", "TV Shows"], - entryValues: ["movie", "tv-show"]), + key: "preferred_latest_page", + title: "Preferred latest page", + summary: "", + valueIndex: 0, + entries: ["Movies", "TV Shows"], + entryValues: ["Latest Movies", "Latest TV Shows"], + ), + ListPreference( + key: "preferred_popular_page", + title: "Preferred popular page", + summary: "", + valueIndex: 0, + entries: ["Movies", "TV Shows"], + entryValues: ["movie", "tv-show"], + ), ]; } diff --git a/dart/anime/multisrc/dopeflix/sources.dart b/dart/anime/multisrc/dopeflix/sources.dart index 983cd570..1f4b25f0 100644 --- a/dart/anime/multisrc/dopeflix/sources.dart +++ b/dart/anime/multisrc/dopeflix/sources.dart @@ -7,13 +7,17 @@ const _dopeflixSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/multisrc/dopeflix/dopeflix.dart"; List get dopeflixSourcesList => _dopeflixSourcesList; -List _dopeflixSourcesList = [ -//DopeBox (EN) - dopeboxSource, -//SFlix (EN) - sflixSource, -] - .map((e) => e - ..sourceCodeUrl = _dopeflixSourceCodeUrl - ..version = _dopeflixVersion) - .toList(); +List _dopeflixSourcesList = + [ + //DopeBox (EN) + dopeboxSource, + //SFlix (EN) + sflixSource, + ] + .map( + (e) => + e + ..sourceCodeUrl = _dopeflixSourceCodeUrl + ..version = _dopeflixVersion, + ) + .toList(); diff --git a/dart/anime/multisrc/zorotheme/sources.dart b/dart/anime/multisrc/zorotheme/sources.dart index 15a4e6db..b010ad4e 100644 --- a/dart/anime/multisrc/zorotheme/sources.dart +++ b/dart/anime/multisrc/zorotheme/sources.dart @@ -7,13 +7,17 @@ const _zorothemeSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/multisrc/zorotheme/zorotheme.dart"; List get zorothemeSourcesList => _zorothemeSourcesList; -List _zorothemeSourcesList = [ -//AniWatch.to (EN) - aniwatchSource, -//Kaido.to (EN) - kaidoSource, -] - .map((e) => e - ..sourceCodeUrl = _zorothemeSourceCodeUrl - ..version = _zorothemeVersion) - .toList(); +List _zorothemeSourcesList = + [ + //AniWatch.to (EN) + aniwatchSource, + //Kaido.to (EN) + kaidoSource, + ] + .map( + (e) => + e + ..sourceCodeUrl = _zorothemeSourceCodeUrl + ..version = _zorothemeVersion, + ) + .toList(); diff --git a/dart/anime/multisrc/zorotheme/zorotheme.dart b/dart/anime/multisrc/zorotheme/zorotheme.dart index 6ba900fe..ab9c8ec9 100644 --- a/dart/anime/multisrc/zorotheme/zorotheme.dart +++ b/dart/anime/multisrc/zorotheme/zorotheme.dart @@ -10,18 +10,20 @@ class ZoroTheme extends MProvider { @override Future getPopular(int page) async { - final res = (await client - .get(Uri.parse("${source.baseUrl}/most-popular?page=$page"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/most-popular?page=$page"), + )).body; return animeElementM(res); } @override Future getLatestUpdates(int page) async { - final res = (await client - .get(Uri.parse("${source.baseUrl}/recently-updated?page=$page"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/recently-updated?page=$page"), + )).body; return animeElementM(res); } @@ -122,28 +124,36 @@ class ZoroTheme extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"Currently Airing": 0, "Finished Airing": 1} + {"Currently Airing": 0, "Finished Airing": 1}, ]; final res = (await client.get(Uri.parse("${source.baseUrl}$url"))).body; MManga anime = MManga(); - final status = xpath(res, - '//*[@class="anisc-info"]/div[contains(text(),"Status:")]/span[2]/text()'); + final status = xpath( + res, + '//*[@class="anisc-info"]/div[contains(text(),"Status:")]/span[2]/text()', + ); if (status.isNotEmpty) { anime.status = parseStatus(status.first, statusList); } - final author = xpath(res, - '//*[@class="anisc-info"]/div[contains(text(),"Studios:")]/span/text()'); + final author = xpath( + res, + '//*[@class="anisc-info"]/div[contains(text(),"Studios:")]/span/text()', + ); if (author.isNotEmpty) { anime.author = author.first.replaceAll("Studios:", ""); } - final description = xpath(res, - '//*[@class="anisc-info"]/div[contains(text(),"Overview:")]/text()'); + final description = xpath( + res, + '//*[@class="anisc-info"]/div[contains(text(),"Overview:")]/text()', + ); if (description.isNotEmpty) { anime.description = description.first.replaceAll("Overview:", ""); } - final genre = xpath(res, - '//*[@class="anisc-info"]/div[contains(text(),"Genres:")]/a/text()'); + final genre = xpath( + res, + '//*[@class="anisc-info"]/div[contains(text(),"Genres:")]/a/text()', + ); anime.genre = genre; final id = substringAfterLast(url, '-'); @@ -177,11 +187,13 @@ class ZoroTheme extends MProvider { Future> getVideoList(String url) async { final id = substringAfterLast(url, '?ep='); - final res = (await client.get( - Uri.parse( - "${source.baseUrl}/ajax${ajaxRoute('${source.baseUrl}')}/episode/servers?episodeId=$id"), - headers: {"referer": "${source.baseUrl}/$url"})) - .body; + final res = + (await client.get( + Uri.parse( + "${source.baseUrl}/ajax${ajaxRoute('${source.baseUrl}')}/episode/servers?episodeId=$id", + ), + headers: {"referer": "${source.baseUrl}/$url"}, + )).body; final html = json.decode(res)["html"]; final serverElements = parseHtml(html).select("div.server-item"); @@ -194,11 +206,13 @@ class ZoroTheme extends MProvider { final id = serverElement.attr("data-id"); final subDub = serverElement.attr("data-type"); - final resE = (await client.get( - Uri.parse( - "${source.baseUrl}/ajax${ajaxRoute('${source.baseUrl}')}/episode/sources?id=$id"), - headers: {"referer": "${source.baseUrl}/$url"})) - .body; + final resE = + (await client.get( + Uri.parse( + "${source.baseUrl}/ajax${ajaxRoute('${source.baseUrl}')}/episode/sources?id=$id", + ), + headers: {"referer": "${source.baseUrl}/$url"}, + )).body; String epUrl = substringBefore(substringAfter(resE, "\"link\":\""), "\""); List a = []; if (hosterSelection.contains(name) && typeSelection.contains(subDub)) { @@ -222,30 +236,36 @@ class ZoroTheme extends MProvider { Future> rapidCloudExtractor(String url, String name) async { final serverUrl = ['https://megacloud.tv', 'https://rapid-cloud.co']; - final serverType = url.startsWith('https://megacloud.tv') || url.startsWith('https://megacloud.club') ? 0 : 1; + final serverType = + url.startsWith('https://megacloud.tv') || + url.startsWith('https://megacloud.club') + ? 0 + : 1; final sourceUrl = [ '/embed-2/ajax/e-1/getSources?id=', - '/ajax/embed-6-v2/getSources?id=' + '/ajax/embed-6-v2/getSources?id=', ]; final sourceSpliter = ['/e-1/', '/embed-6-v2/']; final id = url.split(sourceSpliter[serverType]).last.split('?').first; String resServer = ""; if (serverType == 0) { - resServer = - await evaluateJavascriptViaWebview("https://megacloud.tv/about", { - "X-Requested-With": "org.lineageos.jelly" - }, [ - cryptoStr, - decodePng, - getSrcStr, - "getSources('$id').then(s => window.flutter_inappwebview.callHandler('setResponse', JSON.stringify(s)))" - ]); + resServer = await evaluateJavascriptViaWebview( + "https://megacloud.tv/about", + {"X-Requested-With": "org.lineageos.jelly"}, + [ + cryptoStr, + decodePng, + getSrcStr, + "getSources('$id').then(s => window.flutter_inappwebview.callHandler('setResponse', JSON.stringify(s)))", + ], + ); } else { - resServer = (await client.get( - Uri.parse('${serverUrl[serverType]}${sourceUrl[serverType]}$id'), - headers: {"X-Requested-With": "XMLHttpRequest"})) - .body; + resServer = + (await client.get( + Uri.parse('${serverUrl[serverType]}${sourceUrl[serverType]}$id'), + headers: {"X-Requested-With": "XMLHttpRequest"}, + )).body; } final encrypted = getMapValue(resServer, "encrypted"); @@ -268,18 +288,21 @@ class ZoroTheme extends MProvider { videoResJson = decryptAESCryptoJS(ciphertext, password); } else { videoResJson = json.encode( - (json.decode(resServer)["sources"] as List>)); + (json.decode(resServer)["sources"] as List>), + ); } String masterUrl = ((json.decode(videoResJson) as List>) .first)['file']; - String type = ((json.decode(videoResJson) as List>) - .first)['type']; + String type = + ((json.decode(videoResJson) as List>) + .first)['type']; - final tracks = (json.decode(resServer)['tracks'] as List) - .where((e) => e['kind'] == 'captions' ? true : false) - .toList(); + final tracks = + (json.decode(resServer)['tracks'] as List) + .where((e) => e['kind'] == 'captions' ? true : false) + .toList(); List subtitles = []; for (var sub in tracks) { @@ -295,8 +318,10 @@ class ZoroTheme extends MProvider { if (type == "hls") { final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -330,19 +355,22 @@ class ZoroTheme extends MProvider { Future>> generateIndexPairs(int serverType) async { final jsPlayerUrl = [ "https://megacloud.tv/js/player/a/prod/e1-player.min.js", - "https://rapid-cloud.co/js/player/prod/e6-player-v2.min.js" + "https://rapid-cloud.co/js/player/prod/e6-player-v2.min.js", ]; final scriptText = (await client.get(Uri.parse(jsPlayerUrl[serverType]))).body; final switchCode = scriptText.substring( - scriptText.lastIndexOf('switch'), scriptText.indexOf('=partKey')); + scriptText.lastIndexOf('switch'), + scriptText.indexOf('=partKey'), + ); List indexes = []; for (var variableMatch in RegExp(r'=(\w+)').allMatches(switchCode).toList()) { final regex = RegExp( - ',${(variableMatch as RegExpMatch).group(1)}=((?:0x)?([0-9a-fA-F]+))'); + ',${(variableMatch as RegExpMatch).group(1)}=((?:0x)?([0-9a-fA-F]+))', + ); Match? match = regex.firstMatch(scriptText); if (match != null) { @@ -374,13 +402,19 @@ class ZoroTheme extends MProvider { List animeList = []; final urls = xpath( - res, '//*[@class^="flw-item"]/div[@class="film-detail"]/h3/a/@href'); + res, + '//*[@class^="flw-item"]/div[@class="film-detail"]/h3/a/@href', + ); - final names = xpath(res, - '//*[@class^="flw-item"]/div[@class="film-detail"]/h3/a/@data-jname'); + final names = xpath( + res, + '//*[@class^="flw-item"]/div[@class="film-detail"]/h3/a/@data-jname', + ); final images = xpath( - res, '//*[@class^="flw-item"]/div[@class="film-poster"]/img/@data-src'); + res, + '//*[@class^="flw-item"]/div[@class="film-poster"]/img/@data-src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); anime.name = names[i]; @@ -388,8 +422,11 @@ class ZoroTheme extends MProvider { anime.link = urls[i]; animeList.add(anime); } - final nextPage = - xpath(res, '//li[@class="page-item"]/a[@title="Next"]/@href', ""); + final nextPage = xpath( + res, + '//li[@class="page-item"]/a[@title="Next"]/@href', + "", + ); return MPages(animeList, !nextPage.isEmpty); } @@ -403,7 +440,7 @@ class ZoroTheme extends MProvider { List yearList = [ for (var i = 1917; i < 2024; i++) SelectFilterOption(i.toString(), i.toString()), - SelectFilterOption("All", "") + SelectFilterOption("All", ""), ]; @override @@ -416,13 +453,13 @@ class ZoroTheme extends MProvider { SelectFilterOption("OVA", "3"), SelectFilterOption("ONA", "4"), SelectFilterOption("Special", "5"), - SelectFilterOption("Music", "6") + SelectFilterOption("Music", "6"), ]), SelectFilter("StatusFilter", "Status", 0, [ SelectFilterOption("All", ""), SelectFilterOption("Finished Airing", "1"), SelectFilterOption("Currently Airing", "2"), - SelectFilterOption("Not yet aired", "3") + SelectFilterOption("Not yet aired", "3"), ]), SelectFilter("RatedFilter", "Rated", 0, [ SelectFilterOption("All", ""), @@ -431,7 +468,7 @@ class ZoroTheme extends MProvider { SelectFilterOption("PG-13", "3"), SelectFilterOption("R", "4"), SelectFilterOption("R+", "5"), - SelectFilterOption("Rx", "6") + SelectFilterOption("Rx", "6"), ]), SelectFilter("ScoreFilter", "Score", 0, [ SelectFilterOption("All", ""), @@ -444,20 +481,20 @@ class ZoroTheme extends MProvider { SelectFilterOption("(7) Good", "7"), SelectFilterOption("(8) Very Good", "8"), SelectFilterOption("(9) Great", "9"), - SelectFilterOption("(10) Masterpiece", "10") + SelectFilterOption("(10) Masterpiece", "10"), ]), SelectFilter("SeasonFilter", "Season", 0, [ SelectFilterOption("All", ""), SelectFilterOption("Spring", "1"), SelectFilterOption("Summer", "2"), SelectFilterOption("Fall", "3"), - SelectFilterOption("Winter", "4") + SelectFilterOption("Winter", "4"), ]), SelectFilter("LanguageFilter", "Language", 0, [ SelectFilterOption("All", ""), SelectFilterOption("SUB", "1"), SelectFilterOption("DUB", "2"), - SelectFilterOption("SUB & DUB", "3") + SelectFilterOption("SUB & DUB", "3"), ]), SelectFilter("SortFilter", "Sort by", 0, [ SelectFilterOption("All", ""), @@ -467,14 +504,18 @@ class ZoroTheme extends MProvider { SelectFilterOption("Score", "score"), SelectFilterOption("Name A-Z", "name_az"), SelectFilterOption("Released Date", "released_date"), - SelectFilterOption("Most Watched", "most_watched") + SelectFilterOption("Most Watched", "most_watched"), ]), SelectFilter( - "StartYearFilter", "Start year", 0, yearList.reversed.toList()), + "StartYearFilter", + "Start year", + 0, + yearList.reversed.toList(), + ), SelectFilter("StartMonthFilter", "Start month", 0, [ SelectFilterOption("All", ""), for (var i = 1; i < 13; i++) - SelectFilterOption(i.toString(), i.toString()) + SelectFilterOption(i.toString(), i.toString()), ]), SelectFilter("StartDayFilter", "Start day", 0, [ SelectFilterOption("All", ""), @@ -485,12 +526,12 @@ class ZoroTheme extends MProvider { SelectFilter("EndmonthFilter", "End month", 0, [ SelectFilterOption("All", ""), for (var i = 1; i < 32; i++) - SelectFilterOption(i.toString(), i.toString()) + SelectFilterOption(i.toString(), i.toString()), ]), SelectFilter("EndDayFilter", "End day", 0, [ SelectFilterOption("All", ""), for (var i = 1; i < 32; i++) - SelectFilterOption(i.toString(), i.toString()) + SelectFilterOption(i.toString(), i.toString()), ]), GroupFilter("GenreFilter", "Genre", [ CheckBoxFilter("Action", "1"), @@ -535,7 +576,7 @@ class ZoroTheme extends MProvider { CheckBoxFilter("Thriller", "41"), CheckBoxFilter("Vampire", "32"), CheckBoxFilter("Yaoi", "33"), - CheckBoxFilter("Yuri", "34") + CheckBoxFilter("Yuri", "34"), ]), ]; } @@ -544,58 +585,65 @@ class ZoroTheme extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_quality", - title: "Preferred Quality", - summary: "", - valueIndex: 1, - entries: ["1080p", "720p", "480p", "360p"], - entryValues: ["1080", "720", "480", "360"]), + key: "preferred_quality", + title: "Preferred Quality", + summary: "", + valueIndex: 1, + entries: ["1080p", "720p", "480p", "360p"], + entryValues: ["1080", "720", "480", "360"], + ), if (source.name == "HiAnime") ListPreference( - key: "preferred_server1", - title: "Preferred server", - summary: "", - valueIndex: 0, - entries: ["HD-1", "HD-2", "StreamTape"], - entryValues: ["HD-1", "HD-2", "StreamTape"]), - if (source.name != "HiAnime") - ListPreference( - key: "preferred_server1", - title: "Preferred server", - summary: "", - valueIndex: 0, - entries: ["Vidstreaming", "VidCloud", "StreamTape"], - entryValues: ["Vidstreaming", "VidCloud", "StreamTape"]), - ListPreference( - key: "preferred_type1", - title: "Preferred Type", + key: "preferred_server1", + title: "Preferred server", summary: "", valueIndex: 0, - entries: ["Sub", "Dub"], - entryValues: ["sub", "dub"]), + entries: ["HD-1", "HD-2", "StreamTape"], + entryValues: ["HD-1", "HD-2", "StreamTape"], + ), + if (source.name != "HiAnime") + ListPreference( + key: "preferred_server1", + title: "Preferred server", + summary: "", + valueIndex: 0, + entries: ["Vidstreaming", "VidCloud", "StreamTape"], + entryValues: ["Vidstreaming", "VidCloud", "StreamTape"], + ), + ListPreference( + key: "preferred_type1", + title: "Preferred Type", + summary: "", + valueIndex: 0, + entries: ["Sub", "Dub"], + entryValues: ["sub", "dub"], + ), if (source.name != "HiAnime") MultiSelectListPreference( - key: "hoster_selection1", - title: "Enable/Disable Hosts", - summary: "", - entries: ["Vidstreaming", "VidCloud", "StreamTape"], - entryValues: ["Vidstreaming", "VidCloud", "StreamTape"], - values: ["Vidstreaming", "VidCloud", "StreamTape"]), + key: "hoster_selection1", + title: "Enable/Disable Hosts", + summary: "", + entries: ["Vidstreaming", "VidCloud", "StreamTape"], + entryValues: ["Vidstreaming", "VidCloud", "StreamTape"], + values: ["Vidstreaming", "VidCloud", "StreamTape"], + ), if (source.name == "HiAnime") MultiSelectListPreference( - key: "hoster_selection1", - title: "Enable/Disable Hosts", - summary: "", - entries: ["HD-1", "HD-2", "StreamTape"], - entryValues: ["HD-1", "HD-2", "StreamTape"], - values: ["HD-1", "HD-2", "StreamTape"]), - MultiSelectListPreference( - key: "type_selection_new", - title: "Enable/Disable Types", + key: "hoster_selection1", + title: "Enable/Disable Hosts", summary: "", - entries: ["Sub", "Dub", "Raw"], - entryValues: ["sub", "dub"], - values: ["sub", "dub", "raw"]), + entries: ["HD-1", "HD-2", "StreamTape"], + entryValues: ["HD-1", "HD-2", "StreamTape"], + values: ["HD-1", "HD-2", "StreamTape"], + ), + MultiSelectListPreference( + key: "type_selection_new", + title: "Enable/Disable Types", + summary: "", + entries: ["Sub", "Dub", "Raw"], + entryValues: ["sub", "dub"], + values: ["sub", "dub", "raw"], + ), ]; } diff --git a/dart/anime/src/all/animeworldindia/animeworldindia.dart b/dart/anime/src/all/animeworldindia/animeworldindia.dart index 2bd4085b..954f951f 100644 --- a/dart/anime/src/all/animeworldindia/animeworldindia.dart +++ b/dart/anime/src/all/animeworldindia/animeworldindia.dart @@ -10,18 +10,24 @@ class AnimeWorldIndia extends MProvider { @override Future getPopular(int page) async { - final res = (await client.get(Uri.parse( - "${source.baseUrl}/advanced-search/page/$page/?s_lang=${source.lang}&s_orderby=viewed"))) - .body; + final res = + (await client.get( + Uri.parse( + "${source.baseUrl}/advanced-search/page/$page/?s_lang=${source.lang}&s_orderby=viewed", + ), + )).body; return parseAnimeList(res); } @override Future getLatestUpdates(int page) async { - final res = (await client.get(Uri.parse( - "${source.baseUrl}/advanced-search/page/$page/?s_lang=${source.lang}&s_orderby=update"))) - .body; + final res = + (await client.get( + Uri.parse( + "${source.baseUrl}/advanced-search/page/$page/?s_lang=${source.lang}&s_orderby=update", + ), + )).body; return parseAnimeList(res); } @@ -80,7 +86,9 @@ class AnimeWorldIndia extends MProvider { anime.status = MStatus.completed; } else { final eps = xpath( - res, '//ul/li/a[contains(@href,"${source.baseUrl}/watch")]/text()'); + res, + '//ul/li/a[contains(@href,"${source.baseUrl}/watch")]/text()', + ); if (eps.isNotEmpty) { final epParts = eps.first .substring(3) @@ -101,19 +109,26 @@ class AnimeWorldIndia extends MProvider { .xpath('//li[contains(text(),"Producers:")]/span/a/text()') .join(', '); anime.genre = document.xpath( - '//span[@class="leading-6"]/a[contains(@class,"border-opacity-30")]/text()'); - final seasonsJson = json.decode(substringBeforeLast( - substringBefore( - substringAfter(res, "var season_list = "), "var season_label ="), - ";")) as List>; + '//span[@class="leading-6"]/a[contains(@class,"border-opacity-30")]/text()', + ); + final seasonsJson = + json.decode( + substringBeforeLast( + substringBefore( + substringAfter(res, "var season_list = "), + "var season_label =", + ), + ";", + ), + ) + as List>; bool isSingleSeason = seasonsJson.length == 1; List? episodesList = []; for (var i = 0; i < seasonsJson.length; i++) { final seasonJson = seasonsJson[i]; final seasonName = isSingleSeason ? "" : "Season ${i + 1}"; final episodesJson = - (seasonJson["episodes"]["all"] as List>) - .reversed + (seasonJson["episodes"]["all"] as List>).reversed .toList(); for (var j = 0; j < episodesJson.length; j++) { final episodeJson = episodesJson[j]; @@ -148,17 +163,25 @@ class AnimeWorldIndia extends MProvider { Future> getVideoList(String url) async { final res = (await client.get(Uri.parse("${source.baseUrl}$url"))).body; var resJson = substringBefore( - substringAfterLast(res, "\"players\":"), ",\"noplayer\":"); - var streams = (json.decode(resJson) as List>) - .where((e) => - (e["type"] == "stream" ? true : false) && - (e["url"] as String).isNotEmpty) - .toList() - .where((e) => language(source.lang).isEmpty || - language(source.lang) == e["language"] - ? true - : false) - .toList(); + substringAfterLast(res, "\"players\":"), + ",\"noplayer\":", + ); + var streams = + (json.decode(resJson) as List>) + .where( + (e) => + (e["type"] == "stream" ? true : false) && + (e["url"] as String).isNotEmpty, + ) + .toList() + .where( + (e) => + language(source.lang).isEmpty || + language(source.lang) == e["language"] + ? true + : false, + ) + .toList(); List videos = []; for (var stream in streams) { String videoUrl = stream["url"]; @@ -183,9 +206,11 @@ class AnimeWorldIndia extends MProvider { "${source.baseUrl}${getUrlWithoutDomain(element.selectFirst("img").getSrc)}"; animeList.add(anime); } - final hasNextPage = xpath(res, - '//li/span[@class="page-numbers current"]/parent::li//following-sibling::li/a/@href') - .isNotEmpty; + final hasNextPage = + xpath( + res, + '//li/span[@class="page-numbers current"]/parent::li//following-sibling::li/a/@href', + ).isNotEmpty; return MPages(animeList, hasNextPage); } @@ -199,7 +224,7 @@ class AnimeWorldIndia extends MProvider { "ml": "malayalam", "mr": "marathi", "ta": "tamil", - "te": "telugu" + "te": "telugu", }; return languages[lang] ?? ""; } @@ -208,17 +233,23 @@ class AnimeWorldIndia extends MProvider { List videos = []; final res = (await client.get(Uri.parse(url))).body; final streamCode = substringBefore( - substringAfter(substringAfter(res, "sniff("), ", \""), '"'); + substringAfter(substringAfter(res, "sniff("), ", \""), + '"', + ); final streamUrl = "${substringBefore(url, "/watch")}/m3u8/$streamCode/master.txt?s=1&cache=1"; final masterPlaylistRes = (await client.get(Uri.parse(streamUrl))).body; List audios = []; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-MEDIA:TYPE=AUDIO") - .split("#EXT-X-MEDIA:TYPE=AUDIO")) { - final line = - substringBefore(substringAfter(it, "#EXT-X-MEDIA:TYPE=AUDIO"), "\n"); + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-MEDIA:TYPE=AUDIO", + ).split("#EXT-X-MEDIA:TYPE=AUDIO")) { + final line = substringBefore( + substringAfter(it, "#EXT-X-MEDIA:TYPE=AUDIO"), + "\n", + ); final audioUrl = substringBefore(substringAfter(line, "URI=\""), "\""); MTrack audio = MTrack(); audio @@ -227,8 +258,10 @@ class AnimeWorldIndia extends MProvider { audios.add(audio); } - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -299,7 +332,7 @@ class AnimeWorldIndia extends MProvider { SelectFilterOption("1993", "1993"), SelectFilterOption("1992", "1992"), SelectFilterOption("1991", "1991"), - SelectFilterOption("1990", "1990") + SelectFilterOption("1990", "1990"), ]), SelectFilter("SortFilter", "Sort", 0, [ SelectFilterOption("Default", "default"), @@ -348,12 +381,13 @@ class AnimeWorldIndia extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_quality", - title: "Preferred Quality", - summary: "", - valueIndex: 0, - entries: ["1080p", "720p", "480p", "360p", "240p"], - entryValues: ["1080", "720", "480", "360", "240"]), + key: "preferred_quality", + title: "Preferred Quality", + summary: "", + valueIndex: 0, + entries: ["1080p", "720p", "480p", "360p", "240p"], + entryValues: ["1080", "720", "480", "360", "240"], + ), ]; } diff --git a/dart/anime/src/all/animeworldindia/sources.dart b/dart/anime/src/all/animeworldindia/sources.dart index 7d5e80e8..474f8bb4 100644 --- a/dart/anime/src/all/animeworldindia/sources.dart +++ b/dart/anime/src/all/animeworldindia/sources.dart @@ -20,14 +20,18 @@ List _languages = [ ]; List get animeworldindiaSourcesList => _animeworldindiaSourcesList; -List _animeworldindiaSourcesList = _languages - .map((e) => Source( - name: 'AnimeWorld India', - baseUrl: "https://anime-world.in", - lang: e, - typeSource: "multiple", - iconUrl: _iconUrl, - version: _animeworldindiaVersion, - itemType: ItemType.anime, - sourceCodeUrl: _animeworldindiaSourceCodeUrl)) - .toList(); +List _animeworldindiaSourcesList = + _languages + .map( + (e) => Source( + name: 'AnimeWorld India', + baseUrl: "https://anime-world.in", + lang: e, + typeSource: "multiple", + iconUrl: _iconUrl, + version: _animeworldindiaVersion, + itemType: ItemType.anime, + sourceCodeUrl: _animeworldindiaSourceCodeUrl, + ), + ) + .toList(); diff --git a/dart/anime/src/all/nyaa/nyaa.dart b/dart/anime/src/all/nyaa/nyaa.dart index 79fc7e09..1252c3a2 100644 --- a/dart/anime/src/all/nyaa/nyaa.dart +++ b/dart/anime/src/all/nyaa/nyaa.dart @@ -9,17 +9,23 @@ class Nyaa extends MProvider { @override Future getPopular(int page) async { - final res = (await client.get(Uri.parse( - "${source.baseUrl}/?f=0&c=${getPreferenceValue(source.id, "preferred_categorie_page")}&q=&s=downloads&o=desc&p=$page"))) - .body; + final res = + (await client.get( + Uri.parse( + "${source.baseUrl}/?f=0&c=${getPreferenceValue(source.id, "preferred_categorie_page")}&q=&s=downloads&o=desc&p=$page", + ), + )).body; return parseAnimeList(res); } @override Future getLatestUpdates(int page) async { - final res = (await client.get(Uri.parse( - "${source.baseUrl}/?f=0&c=${getPreferenceValue(source.id, "preferred_categorie_page")}&q=$page"))) - .body; + final res = + (await client.get( + Uri.parse( + "${source.baseUrl}/?f=0&c=${getPreferenceValue(source.id, "preferred_categorie_page")}&q=$page", + ), + )).body; return parseAnimeList(res); } @@ -78,8 +84,8 @@ class Nyaa extends MProvider { SelectFilterOption("Date", "id"), SelectFilterOption("Seeders", "seeders"), SelectFilterOption("Leechers", "leechers"), - SelectFilterOption("Download", "downloads") - ]) + SelectFilterOption("Download", "downloads"), + ]), ]; } @@ -87,12 +93,13 @@ class Nyaa extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_categorie_page", - title: "Preferred categorie page", - summary: "", - valueIndex: 0, - entries: ["Anime", "Live Action"], - entryValues: ["1_0", "4_0"]), + key: "preferred_categorie_page", + title: "Preferred categorie page", + summary: "", + valueIndex: 0, + entries: ["Anime", "Live Action"], + entryValues: ["1_0", "4_0"], + ), ]; } @@ -100,19 +107,23 @@ class Nyaa extends MProvider { List animeList = []; final document = parseHtml(res); - final values = document - .select("body > div > div.table-responsive > table > tbody > tr"); + final values = document.select( + "body > div > div.table-responsive > table > tbody > tr", + ); for (var value in values) { MManga anime = MManga(); anime.imageUrl = "${source.baseUrl}${getUrlWithoutDomain(value.selectFirst("td:nth-child(1) > a > img").getSrc)}"; - MElement firstElement = value - .select("td > a") - .where((MElement e) => - e.outerHtml.contains("/view/") && - !e.outerHtml.contains("#comments")) - .toList() - .first; + MElement firstElement = + value + .select("td > a") + .where( + (MElement e) => + e.outerHtml.contains("/view/") && + !e.outerHtml.contains("#comments"), + ) + .toList() + .first; anime.link = "${source.baseUrl}${getUrlWithoutDomain(firstElement.getHref)}"; anime.name = firstElement.attr("title"); @@ -120,8 +131,10 @@ class Nyaa extends MProvider { } final hasNextPage = - xpath(res, '//ul[@class="pagination"]/li[contains(text(),"»")]/a/@href') - .isNotEmpty; + xpath( + res, + '//ul[@class="pagination"]/li[contains(text(),"»")]/a/@href', + ).isNotEmpty; return MPages(animeList, hasNextPage); } diff --git a/dart/anime/src/all/nyaa/source.dart b/dart/anime/src/all/nyaa/source.dart index 2bae1c60..b83bd3c3 100644 --- a/dart/anime/src/all/nyaa/source.dart +++ b/dart/anime/src/all/nyaa/source.dart @@ -9,11 +9,12 @@ String _iconUrl = Source get nyaaSource => _nyaaSource; Source _nyaaSource = Source( - name: 'Nyaa', - baseUrl: "https://nyaa.si", - lang: "all", - typeSource: "torrent", - iconUrl: _iconUrl, - version: _nyaaVersion, - itemType: ItemType.anime, - sourceCodeUrl: _nyaaSourceCodeUrl); + name: 'Nyaa', + baseUrl: "https://nyaa.si", + lang: "all", + typeSource: "torrent", + iconUrl: _iconUrl, + version: _nyaaVersion, + itemType: ItemType.anime, + sourceCodeUrl: _nyaaSourceCodeUrl, +); diff --git a/dart/anime/src/ar/okanime/okanime.dart b/dart/anime/src/ar/okanime/okanime.dart index 470b02bd..4f682ab0 100644 --- a/dart/anime/src/ar/okanime/okanime.dart +++ b/dart/anime/src/ar/okanime/okanime.dart @@ -30,9 +30,10 @@ class OkAnime extends MProvider { @override Future getLatestUpdates(int page) async { - final res = (await client - .get(Uri.parse("${source.baseUrl}/espisode-list?page=$page"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/espisode-list?page=$page"), + )).body; List animeList = []; String path = '//*[contains(@class,"anime-card")]'; final urls = xpath(res, '$path/div[@class="anime-title")]/h4/a/@href'); @@ -46,8 +47,10 @@ class OkAnime extends MProvider { anime.link = urls[i]; animeList.add(anime); } - final nextPage = - xpath(res, '//li[@class="page-item"]/a[@rel="next"]/@href'); + final nextPage = xpath( + res, + '//li[@class="page-item"]/a[@rel="next"]/@href', + ); return MPages(animeList, nextPage.isNotEmpty); } @@ -73,34 +76,40 @@ class OkAnime extends MProvider { anime.link = urls[i]; animeList.add(anime); } - final nextPage = - xpath(res, '//li[@class="page-item"]/a[@rel="next"]/@href'); + final nextPage = xpath( + res, + '//li[@class="page-item"]/a[@rel="next"]/@href', + ); return MPages(animeList, nextPage.isNotEmpty); } @override Future getDetail(String url) async { final statusList = [ - {"يعرض الان": 0, "مكتمل": 1} + {"يعرض الان": 0, "مكتمل": 1}, ]; final res = (await client.get(Uri.parse(url))).body; MManga anime = MManga(); - final status = xpath(res, - '//*[@class="full-list-info" and contains(text(),"حالة الأنمي")]/small/a/text()'); + final status = xpath( + res, + '//*[@class="full-list-info" and contains(text(),"حالة الأنمي")]/small/a/text()', + ); if (status.isNotEmpty) { anime.status = parseStatus(status.first, statusList); } anime.description = xpath(res, '//*[@class="review-content"]/text()').first; anime.genre = xpath(res, '//*[@class="review-author-info"]/a/text()'); - final epUrls = xpath(res, - '//*[contains(@class,"anime-card")]/div[@class="anime-title")]/h5/a/@href') - .reversed - .toList(); - final names = xpath(res, - '//*[contains(@class,"anime-card")]/div[@class="anime-title")]/h5/a/text()') - .reversed - .toList(); + final epUrls = + xpath( + res, + '//*[contains(@class,"anime-card")]/div[@class="anime-title")]/h5/a/@href', + ).reversed.toList(); + final names = + xpath( + res, + '//*[contains(@class,"anime-card")]/div[@class="anime-title")]/h5/a/text()', + ).reversed.toList(); List? episodesList = []; for (var i = 0; i < epUrls.length; i++) { @@ -147,19 +156,21 @@ class OkAnime extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_quality", - title: "Preferred Quality", - summary: "", - valueIndex: 1, - entries: ["1080p", "720p", "480p", "360p"], - entryValues: ["1080", "720", "480", "360"]), + key: "preferred_quality", + title: "Preferred Quality", + summary: "", + valueIndex: 1, + entries: ["1080p", "720p", "480p", "360p"], + entryValues: ["1080", "720", "480", "360"], + ), MultiSelectListPreference( - key: "hoster_selection", - title: "Enable/Disable Hosts", - summary: "", - entries: ["Dood", "Voe", "Mp4upload", "VidBom", "Okru"], - entryValues: ["Dood", "Voe", "Mp4upload", "VidBom", "Okru"], - values: ["Dood", "Voe", "Mp4upload", "VidBom", "Okru"]), + key: "hoster_selection", + title: "Enable/Disable Hosts", + summary: "", + entries: ["Dood", "Voe", "Mp4upload", "VidBom", "Okru"], + entryValues: ["Dood", "Voe", "Mp4upload", "VidBom", "Okru"], + values: ["Dood", "Voe", "Mp4upload", "VidBom", "Okru"], + ), ]; } diff --git a/dart/anime/src/ar/okanime/source.dart b/dart/anime/src/ar/okanime/source.dart index ac354883..256ddd63 100644 --- a/dart/anime/src/ar/okanime/source.dart +++ b/dart/anime/src/ar/okanime/source.dart @@ -5,12 +5,13 @@ const _okanimeVersion = "0.0.55"; const _okanimeSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/ar/okanime/okanime.dart"; Source _okanimeSource = Source( - name: "Okanime", - baseUrl: "https://www.okanime.xyz", - lang: "ar", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/ar/okanime/icon.png", - sourceCodeUrl: _okanimeSourceCodeUrl, - version: _okanimeVersion, - itemType: ItemType.anime); + name: "Okanime", + baseUrl: "https://www.okanime.xyz", + lang: "ar", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/ar/okanime/icon.png", + sourceCodeUrl: _okanimeSourceCodeUrl, + version: _okanimeVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/de/animetoast/animetoast.dart b/dart/anime/src/de/animetoast/animetoast.dart index 0138f4c1..b833267a 100644 --- a/dart/anime/src/de/animetoast/animetoast.dart +++ b/dart/anime/src/de/animetoast/animetoast.dart @@ -23,9 +23,11 @@ class AnimeToast extends MProvider { MManga anime = MManga(); anime.name = element.selectFirst("div.item-thumbnail a").attr("title"); anime.link = getUrlWithoutDomain( - element.selectFirst("div.item-thumbnail a").attr("href")); - anime.imageUrl = - element.selectFirst("div.item-thumbnail a img").attr("src"); + element.selectFirst("div.item-thumbnail a").attr("href"), + ); + anime.imageUrl = element + .selectFirst("div.item-thumbnail a img") + .attr("src"); animeList.add(anime); } return MPages(animeList, false); @@ -46,7 +48,9 @@ class AnimeToast extends MProvider { animeList.add(anime); } return MPages( - animeList, document.selectFirst("li.next a")?.attr("href") != null); + animeList, + document.selectFirst("li.next a")?.attr("href") != null, + ); } @override @@ -106,7 +110,8 @@ class AnimeToast extends MProvider { MChapter ep = MChapter(); ep.name = document.selectFirst("h1.light-title")?.text ?? "Film"; ep.url = getUrlWithoutDomain( - document.selectFirst("link[rel=canonical]").attr("href")); + document.selectFirst("link[rel=canonical]").attr("href"), + ); episodesList.add(ep); } anime.chapters = episodesList.reversed.toList(); @@ -134,16 +139,24 @@ class AnimeToast extends MProvider { final doc = parseHtml((await client.get(Uri.parse(sUrl))).body); final nUrl = doc.selectFirst("#player-embed a").attr("href"); final nDoc = parseHtml((await client.get(Uri.parse(nUrl))).body); - epcu = int.tryParse(substringAfter( + epcu = + int.tryParse( + substringAfter( document.selectFirst("div.tab-pane a.current-link")?.text ?? "", - "Ep.")) ?? + "Ep.", + ), + ) ?? 100; ep = nDoc.select("div.tab-pane a"); } } else { - epcu = int.tryParse(substringAfter( + epcu = + int.tryParse( + substringAfter( document.selectFirst("div.tab-pane a.current-link")?.text ?? "", - "Ep.")) ?? + "Ep.", + ), + ) ?? 100; ep = document.select("div.tab-pane a"); } @@ -213,19 +226,21 @@ class AnimeToast extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_hoster", - title: "Standard-Hoster", - summary: "", - valueIndex: 0, - entries: ["Voe", "DoodStream", "Filemoon", "Mp4upload"], - entryValues: ["voe", "doodStream", "filemoon", "mp4upload"]), + key: "preferred_hoster", + title: "Standard-Hoster", + summary: "", + valueIndex: 0, + entries: ["Voe", "DoodStream", "Filemoon", "Mp4upload"], + entryValues: ["voe", "doodStream", "filemoon", "mp4upload"], + ), MultiSelectListPreference( - key: "hoster_selection", - title: "Hoster auswählen", - summary: "", - entries: ["Voe", "DoodStream", "Filemoon", "Mp4upload"], - entryValues: ["voe", "dood", "filemoon", "mp4upload"], - values: ["voe", "dood", "filemoon", "mp4upload"]), + key: "hoster_selection", + title: "Hoster auswählen", + summary: "", + entries: ["Voe", "DoodStream", "Filemoon", "Mp4upload"], + entryValues: ["voe", "dood", "filemoon", "mp4upload"], + values: ["voe", "dood", "filemoon", "mp4upload"], + ), ]; } } diff --git a/dart/anime/src/de/animetoast/source.dart b/dart/anime/src/de/animetoast/source.dart index e472a65c..da9f5154 100644 --- a/dart/anime/src/de/animetoast/source.dart +++ b/dart/anime/src/de/animetoast/source.dart @@ -5,12 +5,13 @@ const _animetoastVersion = "0.0.2"; const _animetoastCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/de/animetoast/animetoast.dart"; Source _animetoast = Source( - name: "AnimeToast", - baseUrl: "https://animetoast.cc", - lang: "de", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/de/animetoast/icon.png", - sourceCodeUrl: _animetoastCodeUrl, - version: _animetoastVersion, - itemType: ItemType.anime); + name: "AnimeToast", + baseUrl: "https://animetoast.cc", + lang: "de", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/de/animetoast/icon.png", + sourceCodeUrl: _animetoastCodeUrl, + version: _animetoastVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/en/animepahe/animepahe.dart b/dart/anime/src/en/animepahe/animepahe.dart index ddc3f62e..dc3b92b5 100644 --- a/dart/anime/src/en/animepahe/animepahe.dart +++ b/dart/anime/src/en/animepahe/animepahe.dart @@ -22,9 +22,11 @@ class AnimePahe extends MProvider { @override Future getLatestUpdates(int page) async { - final res = (await client.get(Uri.parse("$baseUrl/api?m=airing&page=$page"), - headers: headers)) - .body; + final res = + (await client.get( + Uri.parse("$baseUrl/api?m=airing&page=$page"), + headers: headers, + )).body; final jsonResult = json.decode(res); final hasNextPage = jsonResult["current_page"] < jsonResult["last_page"]; List animeList = []; @@ -41,10 +43,11 @@ class AnimePahe extends MProvider { @override Future search(String query, int page, FilterList filterList) async { - final res = (await client.get( - Uri.parse("$baseUrl/api?m=search&l=8&q=$query"), - headers: headers)) - .body; + final res = + (await client.get( + Uri.parse("$baseUrl/api?m=search&l=8&q=$query"), + headers: headers, + )).body; final jsonResult = json.decode(res); List animeList = []; for (var item in jsonResult["data"]) { @@ -60,16 +63,17 @@ class AnimePahe extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"Currently Airing": 0, "Finished Airing": 1} + {"Currently Airing": 0, "Finished Airing": 1}, ]; MManga anime = MManga(); final id = substringBefore(substringAfterLast(url, "?anime_id="), "&name="); final name = substringAfterLast(url, "&name="); final session = await getSession(name, id); - final res = (await client.get( - Uri.parse("$baseUrl/anime/$session?anime_id=$id"), - headers: headers)) - .body; + final res = + (await client.get( + Uri.parse("$baseUrl/anime/$session?anime_id=$id"), + headers: headers, + )).body; final document = parseHtml(res); final status = (document.xpathFirst('//div/p[contains(text(),"Status:")]/text()') ?? @@ -85,8 +89,10 @@ class AnimePahe extends MProvider { .replaceAll("Studio:\n", "") .trim(); anime.imageUrl = document.selectFirst("div.anime-poster a").attr("href"); - anime.genre = - xpath(res, '//*[contains(@class,"anime-genre")]/ul/li/text()'); + anime.genre = xpath( + res, + '//*[contains(@class,"anime-genre")]/ul/li/text()', + ); final synonyms = (document.xpathFirst('//div/p[contains(text(),"Synonyms:")]/text()') ?? "") @@ -105,7 +111,10 @@ class AnimePahe extends MProvider { } Future> recursivePages( - String url, String res, String session) async { + String url, + String res, + String session, + ) async { final jsonResult = json.decode(res); final page = jsonResult["current_page"]; final hasNextPage = page < jsonResult["last_page"]; @@ -128,13 +137,15 @@ class AnimePahe extends MProvider { } Future getSession(String title, String animeId) async { - final res = (await client.get(Uri.parse("$baseUrl/api?m=search&q=$title"), - headers: headers)) - .body; + final res = + (await client.get( + Uri.parse("$baseUrl/api?m=search&q=$title"), + headers: headers, + )).body; return substringBefore( - substringAfter( - substringAfter(res, "\"id\":$animeId"), "\"session\":\""), - "\""); + substringAfter(substringAfter(res, "\"id\":$animeId"), "\"session\":\""), + "\"", + ); } @override @@ -150,24 +161,35 @@ class AnimePahe extends MProvider { for (var i = 0; i < buttons.length; i++) { final btn = buttons[i]; - final audio = btn.attr("data-audio"); // Get audio type (jpn/eng). Japanese or Dubbed. + final audio = btn.attr( + "data-audio", + ); // Get audio type (jpn/eng). Japanese or Dubbed. final kwikLink = btn.attr("data-src"); final quality = btn.text; final paheWinLink = downloadLinks[i].attr("href"); - + if (getPreferenceValue(source.id, "preffered_link_type")) { - final noRedirectClient = Client(source, - json.encode({"followRedirects": false, "useDartHttpClient": true})); + final noRedirectClient = Client( + source, + json.encode({"followRedirects": false, "useDartHttpClient": true}), + ); final kwikHeaders = (await noRedirectClient.get(Uri.parse("${paheWinLink}/i"))).headers; final kwikUrl = "https://${substringAfterLast(getMapValue(json.encode(kwikHeaders), "location"), "https://")}"; - final reskwik = (await client - .get(Uri.parse(kwikUrl), headers: {"Referer": "https://kwik.cx/"})); - final matches = RegExp(r'\("(\S+)",\d+,"(\S+)",(\d+),(\d+)') - .firstMatch(reskwik.body); - final token = decrypt(matches!.group(1)!, matches.group(2)!, - matches.group(3)!, int.parse(matches.group(4)!)); + final reskwik = (await client.get( + Uri.parse(kwikUrl), + headers: {"Referer": "https://kwik.cx/"}, + )); + final matches = RegExp( + r'\("(\S+)",\d+,"(\S+)",(\d+),(\d+)', + ).firstMatch(reskwik.body); + final token = decrypt( + matches!.group(1)!, + matches.group(2)!, + matches.group(3)!, + int.parse(matches.group(4)!), + ); final url = RegExp(r'action="([^"]+)"').firstMatch(token)!.group(1)!; final tok = RegExp(r'value="([^"]+)"').firstMatch(token)!.group(1)!; var code = 419; @@ -175,22 +197,27 @@ class AnimePahe extends MProvider { String location = ""; while (code != 302 && tries < 20) { - String cookie = - getMapValue(json.encode(res.request.headers), "cookie"); + String cookie = getMapValue( + json.encode(res.request.headers), + "cookie", + ); cookie += "; ${getMapValue(json.encode(reskwik.headers), "set-cookie").replaceAll("path=/;", "")}"; final resNo = await Client( - source, - json.encode( - {"followRedirects": false, "useDartHttpClient": true})) - .post(Uri.parse(url), headers: { - "referer": reskwik.request.url.toString(), - "cookie": cookie, - "user-agent": - getMapValue(json.encode(res.request.headers), "user-agent") - }, body: { - "_token": tok - }); + source, + json.encode({"followRedirects": false, "useDartHttpClient": true}), + ).post( + Uri.parse(url), + headers: { + "referer": reskwik.request.url.toString(), + "cookie": cookie, + "user-agent": getMapValue( + json.encode(res.request.headers), + "user-agent", + ), + }, + body: {"_token": tok}, + ); code = resNo.statusCode; tries++; location = getMapValue(json.encode(resNo.headers), "location"); @@ -205,17 +232,24 @@ class AnimePahe extends MProvider { ..quality = quality; videos.add(video); } else { - final ress = (await client.get(Uri.parse(kwikLink), - headers: {"Referer": "https://animepahe.com"})); + final ress = (await client.get( + Uri.parse(kwikLink), + headers: {"Referer": "https://animepahe.com"}, + )); final script = substringAfterLast( - xpath(ress.body, - '//script[contains(text(),"eval(function")]/text()') - .first, - "eval(function("); + xpath( + ress.body, + '//script[contains(text(),"eval(function")]/text()', + ).first, + "eval(function(", + ); final videoUrl = substringBefore( - substringAfter(unpackJsAndCombine("eval(function($script"), - "const source=\\'"), - "\\';"); + substringAfter( + unpackJsAndCombine("eval(function($script"), + "const source=\\'", + ), + "\\';", + ); MVideo video = MVideo(); video ..url = videoUrl @@ -235,7 +269,8 @@ class AnimePahe extends MProvider { final n = cm.substring(0, b); double mx = 0; for (var index = 0; index < ctn.length; index++) { - mx += (int.tryParse(ctn[ctn.length - index - 1], radix: 10) ?? 0.0) + mx += + (int.tryParse(ctn[ctn.length - index - 1], radix: 10) ?? 0.0) .toInt() * (pow(sep, index)); } @@ -269,12 +304,14 @@ class AnimePahe extends MProvider { List sortVideos(List videos) { String quality = getPreferenceValue(source.id, "preferred_quality"); - String preferredAudio = getPreferenceValue(source.id, "preferred_audio"); // get user's audio preference - + String preferredAudio = getPreferenceValue( + source.id, + "preferred_audio", + ); // get user's audio preference videos.sort((MVideo a, MVideo b) { - // Prioritize audio first. - // Preferred Audio: Videos with matching preferred audio are ranked highest. + // Prioritize audio first. + // Preferred Audio: Videos with matching preferred audio are ranked highest. int audioMatchA = a.quality.contains(preferredAudio) ? 1 : 0; int audioMatchB = b.quality.contains(preferredAudio) ? 1 : 0; if (audioMatchA != audioMatchB) { @@ -310,40 +347,40 @@ class AnimePahe extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_domain", - title: "Preferred domain", - summary: "", - valueIndex: 1, - entries: [ - "animepahe.com", - "animepahe.ru", - "animepahe.org" - ], - entryValues: [ - "https://animepahe.com", - "https://animepahe.ru", - "https://animepahe.org" - ]), + key: "preferred_domain", + title: "Preferred domain", + summary: "", + valueIndex: 1, + entries: ["animepahe.com", "animepahe.ru", "animepahe.org"], + entryValues: [ + "https://animepahe.com", + "https://animepahe.ru", + "https://animepahe.org", + ], + ), SwitchPreferenceCompat( - key: "preffered_link_type", - title: "Use HLS links", - summary: "Enable this if you are having Cloudflare issues.", - value: false), + key: "preffered_link_type", + title: "Use HLS links", + summary: "Enable this if you are having Cloudflare issues.", + value: false, + ), ListPreference( - key: "preferred_quality", - title: "Preferred Quality", - summary: "", - valueIndex: 0, - entries: ["1080p", "720p", "360p"], - entryValues: ["1080", "720", "360"]), - + key: "preferred_quality", + title: "Preferred Quality", + summary: "", + valueIndex: 0, + entries: ["1080p", "720p", "360p"], + entryValues: ["1080", "720", "360"], + ), + ListPreference( - key: "preferred_audio", // Add new preference for audio - title: "Preferred Audio", - summary: "Select your preferred audio language (Japanese or English).", - valueIndex: 0, // Default to Japanese (or whichever you prefer) - entries: ["Japanese", "English"], - entryValues: ["jpn", "eng"]), + key: "preferred_audio", // Add new preference for audio + title: "Preferred Audio", + summary: "Select your preferred audio language (Japanese or English).", + valueIndex: 0, // Default to Japanese (or whichever you prefer) + entries: ["Japanese", "English"], + entryValues: ["jpn", "eng"], + ), ]; } } diff --git a/dart/anime/src/en/animepahe/source.dart b/dart/anime/src/en/animepahe/source.dart index 26cb0d59..6074525e 100644 --- a/dart/anime/src/en/animepahe/source.dart +++ b/dart/anime/src/en/animepahe/source.dart @@ -5,12 +5,13 @@ const _animepaheVersion = "0.0.5"; const _animepaheSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/animepahe/animepahe.dart"; Source _animepaheSource = Source( - name: "AnimePahe", - baseUrl: "https://www.animepahe.ru", - lang: "en", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/animepahe/icon.png", - sourceCodeUrl: _animepaheSourceCodeUrl, - version: _animepaheVersion, - itemType: ItemType.anime); + name: "AnimePahe", + baseUrl: "https://www.animepahe.ru", + lang: "en", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/animepahe/icon.png", + sourceCodeUrl: _animepaheSourceCodeUrl, + version: _animepaheVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/en/gogoanime/gogoanime.dart b/dart/anime/src/en/gogoanime/gogoanime.dart index 38717f79..d330c5a0 100644 --- a/dart/anime/src/en/gogoanime/gogoanime.dart +++ b/dart/anime/src/en/gogoanime/gogoanime.dart @@ -162,25 +162,25 @@ class GogoAnime extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"Ongoing": 0, "Completed": 1} + {"Ongoing": 0, "Completed": 1}, ]; final res = (await client.get(Uri.parse("$baseUrl$url"))).body; MManga anime = MManga(); final status = xpath( - res, '//*[@class="anime_info_body_bg"]/p[@class="type"][5]/text()') - .first - .replaceAll("Status: ", ""); - anime.description = parseHtml(res) - .selectFirst("div.anime_info_body_bg > div.description") - ?.text ?? + res, + '//*[@class="anime_info_body_bg"]/p[@class="type"][5]/text()', + ).first.replaceAll("Status: ", ""); + anime.description = + parseHtml( + res, + ).selectFirst("div.anime_info_body_bg > div.description")?.text ?? ""; anime.status = parseStatus(status, statusList); anime.genre = xpath( - res, '//*[@class="anime_info_body_bg"]/p[@class="type"][3]/text()') - .first - .replaceAll("Genre: ", "") - .split(","); + res, + '//*[@class="anime_info_body_bg"]/p[@class="type"][3]/text()', + ).first.replaceAll("Genre: ", "").split(","); final id = xpath(res, '//*[@id="movie_id"]/@value').first; final urlEp = @@ -190,7 +190,9 @@ class GogoAnime extends MProvider { final epUrls = xpath(resEp, '//*[@id="episode_related"]/li/a/@href'); final names = xpath( - resEp, '//*[@id="episode_related"]/li/a/div[@class="name"]/text()'); + resEp, + '//*[@id="episode_related"]/li/a/div[@class="name"]/text()', + ); List episodes = []; for (var a in names) { @@ -211,10 +213,14 @@ class GogoAnime extends MProvider { @override Future> getVideoList(String url) async { final res = (await client.get(Uri.parse("$baseUrl$url"))).body; - final serverUrls = - xpath(res, '//*[@class="anime_muti_link"]/ul/li/a/@data-video'); - final serverNames = - xpath(res, '//*[@class="anime_muti_link"]/ul/li/@class'); + final serverUrls = xpath( + res, + '//*[@class="anime_muti_link"]/ul/li/a/@data-video', + ); + final serverNames = xpath( + res, + '//*[@class="anime_muti_link"]/ul/li/@class', + ); List videos = []; final hosterSelection = preferenceHosterSelection(source.id); for (var i = 0; i < serverNames.length; i++) { @@ -249,335 +255,337 @@ class GogoAnime extends MProvider { GroupFilter("GenreFilter", "Genre", [ { "type": "CheckBox", - "filter": {"name": "Action", "value": "action"} + "filter": {"name": "Action", "value": "action"}, }, { "type": "CheckBox", - "filter": {"name": "Adult Cast", "value": "adult-cast"} + "filter": {"name": "Adult Cast", "value": "adult-cast"}, }, { "type": "CheckBox", - "filter": {"name": "Adventure", "value": "adventure"} + "filter": {"name": "Adventure", "value": "adventure"}, }, { "type": "CheckBox", - "filter": {"name": "Anthropomorphic", "value": "anthropomorphic"} + "filter": {"name": "Anthropomorphic", "value": "anthropomorphic"}, }, { "type": "CheckBox", - "filter": {"name": "Avant Garde", "value": "avant-garde"} + "filter": {"name": "Avant Garde", "value": "avant-garde"}, }, { "type": "CheckBox", - "filter": {"name": "Boys Love", "value": "shounen-ai"} + "filter": {"name": "Boys Love", "value": "shounen-ai"}, }, { "type": "CheckBox", - "filter": {"name": "Cars", "value": "cars"} + "filter": {"name": "Cars", "value": "cars"}, }, { "type": "CheckBox", - "filter": {"name": "CGDCT", "value": "cgdct"} + "filter": {"name": "CGDCT", "value": "cgdct"}, }, { "type": "CheckBox", - "filter": {"name": "Childcare", "value": "childcare"} + "filter": {"name": "Childcare", "value": "childcare"}, }, { "type": "CheckBox", - "filter": {"name": "Comedy", "value": "comedy"} + "filter": {"name": "Comedy", "value": "comedy"}, }, { "type": "CheckBox", - "filter": {"name": "Comic", "value": "comic"} + "filter": {"name": "Comic", "value": "comic"}, }, { "type": "CheckBox", - "filter": {"name": "Crime", "value": "crime"} + "filter": {"name": "Crime", "value": "crime"}, }, { "type": "CheckBox", - "filter": {"name": "Crossdressing", "value": "crossdressing"} + "filter": {"name": "Crossdressing", "value": "crossdressing"}, }, { "type": "CheckBox", - "filter": {"name": "Delinquents", "value": "delinquents"} + "filter": {"name": "Delinquents", "value": "delinquents"}, }, { "type": "CheckBox", - "filter": {"name": "Dementia", "value": "dementia"} + "filter": {"name": "Dementia", "value": "dementia"}, }, { "type": "CheckBox", - "filter": {"name": "Demons", "value": "demons"} + "filter": {"name": "Demons", "value": "demons"}, }, { "type": "CheckBox", - "filter": {"name": "Detective", "value": "detective"} + "filter": {"name": "Detective", "value": "detective"}, }, { "type": "CheckBox", - "filter": {"name": "Drama", "value": "drama"} + "filter": {"name": "Drama", "value": "drama"}, }, { "type": "CheckBox", - "filter": {"name": "Dub", "value": "dub"} + "filter": {"name": "Dub", "value": "dub"}, }, { "type": "CheckBox", - "filter": {"name": "Ecchi", "value": "ecchi"} + "filter": {"name": "Ecchi", "value": "ecchi"}, }, { "type": "CheckBox", - "filter": {"name": "Erotica", "value": "erotica"} + "filter": {"name": "Erotica", "value": "erotica"}, }, { "type": "CheckBox", - "filter": {"name": "Family", "value": "family"} + "filter": {"name": "Family", "value": "family"}, }, { "type": "CheckBox", - "filter": {"name": "Fantasy", "value": "fantasy"} + "filter": {"name": "Fantasy", "value": "fantasy"}, }, { "type": "CheckBox", - "filter": {"name": "Gag Humor", "value": "gag-humor"} + "filter": {"name": "Gag Humor", "value": "gag-humor"}, }, { "type": "CheckBox", - "filter": {"name": "Game", "value": "game"} + "filter": {"name": "Game", "value": "game"}, }, { "type": "CheckBox", - "filter": {"name": "Gender Bender", "value": "gender-bender"} + "filter": {"name": "Gender Bender", "value": "gender-bender"}, }, { "type": "CheckBox", - "filter": {"name": "Gore", "value": "gore"} + "filter": {"name": "Gore", "value": "gore"}, }, { "type": "CheckBox", - "filter": {"name": "Gourmet", "value": "gourmet"} + "filter": {"name": "Gourmet", "value": "gourmet"}, }, { "type": "CheckBox", - "filter": {"name": "Harem", "value": "harem"} + "filter": {"name": "Harem", "value": "harem"}, }, { "type": "CheckBox", - "filter": {"name": "Hentai", "value": "hentai"} + "filter": {"name": "Hentai", "value": "hentai"}, }, { "type": "CheckBox", - "filter": {"name": "High Stakes Game", "value": "high-stakes-game"} + "filter": {"name": "High Stakes Game", "value": "high-stakes-game"}, }, { "type": "CheckBox", - "filter": {"name": "Historical", "value": "historical"} + "filter": {"name": "Historical", "value": "historical"}, }, { "type": "CheckBox", - "filter": {"name": "Horror", "value": "horror"} + "filter": {"name": "Horror", "value": "horror"}, }, { "type": "CheckBox", - "filter": {"name": "Isekai", "value": "isekai"} + "filter": {"name": "Isekai", "value": "isekai"}, }, { "type": "CheckBox", - "filter": {"name": "Iyashikei", "value": "iyashikei"} + "filter": {"name": "Iyashikei", "value": "iyashikei"}, }, { "type": "CheckBox", - "filter": {"name": "Josei", "value": "josei"} + "filter": {"name": "Josei", "value": "josei"}, }, { "type": "CheckBox", - "filter": {"name": "Kids", "value": "kids"} + "filter": {"name": "Kids", "value": "kids"}, }, { "type": "CheckBox", - "filter": {"name": "Magic", "value": "magic"} + "filter": {"name": "Magic", "value": "magic"}, }, { "type": "CheckBox", - "filter": {"name": "Magical Sex Shift", "value": "magical-sex-shift"} + "filter": {"name": "Magical Sex Shift", "value": "magical-sex-shift"}, }, { "type": "CheckBox", - "filter": {"name": "Mahou Shoujo", "value": "mahou-shoujo"} + "filter": {"name": "Mahou Shoujo", "value": "mahou-shoujo"}, }, { "type": "CheckBox", - "filter": {"name": "Martial Arts", "value": "martial-arts"} + "filter": {"name": "Martial Arts", "value": "martial-arts"}, }, { "type": "CheckBox", - "filter": {"name": "Mecha", "value": "mecha"} + "filter": {"name": "Mecha", "value": "mecha"}, }, { "type": "CheckBox", - "filter": {"name": "Medical", "value": "medical"} + "filter": {"name": "Medical", "value": "medical"}, }, { "type": "CheckBox", - "filter": {"name": "Military", "value": "military"} + "filter": {"name": "Military", "value": "military"}, }, { "type": "CheckBox", - "filter": {"name": "Music", "value": "music"} + "filter": {"name": "Music", "value": "music"}, }, { "type": "CheckBox", - "filter": {"name": "Mystery", "value": "mystery"} + "filter": {"name": "Mystery", "value": "mystery"}, }, { "type": "CheckBox", - "filter": {"name": "Mythology", "value": "mythology"} + "filter": {"name": "Mythology", "value": "mythology"}, }, { "type": "CheckBox", - "filter": {"name": "Organized Crime", "value": "organized-crime"} + "filter": {"name": "Organized Crime", "value": "organized-crime"}, }, { "type": "CheckBox", - "filter": {"name": "Parody", "value": "parody"} + "filter": {"name": "Parody", "value": "parody"}, }, { "type": "CheckBox", - "filter": {"name": "Performing Arts", "value": "performing-arts"} + "filter": {"name": "Performing Arts", "value": "performing-arts"}, }, { "type": "CheckBox", - "filter": {"name": "Pets", "value": "pets"} + "filter": {"name": "Pets", "value": "pets"}, }, { "type": "CheckBox", - "filter": {"name": "Police", "value": "police"} + "filter": {"name": "Police", "value": "police"}, }, { "type": "CheckBox", - "filter": {"name": "Psychological", "value": "psychological"} + "filter": {"name": "Psychological", "value": "psychological"}, }, { "type": "CheckBox", - "filter": {"name": "Racing", "value": "racing"} + "filter": {"name": "Racing", "value": "racing"}, }, { "type": "CheckBox", - "filter": {"name": "Reincarnation", "value": "reincarnation"} + "filter": {"name": "Reincarnation", "value": "reincarnation"}, }, { "type": "CheckBox", - "filter": {"name": "Romance", "value": "romance"} + "filter": {"name": "Romance", "value": "romance"}, }, { "type": "CheckBox", - "filter": {"name": "Romantic Subtext", "value": "romantic-subtext"} + "filter": {"name": "Romantic Subtext", "value": "romantic-subtext"}, }, { "type": "CheckBox", - "filter": {"name": "Samurai", "value": "samurai"} + "filter": {"name": "Samurai", "value": "samurai"}, }, { "type": "CheckBox", - "filter": {"name": "School", "value": "school"} + "filter": {"name": "School", "value": "school"}, }, { "type": "CheckBox", - "filter": {"name": "Sci-Fi", "value": "sci-fi"} + "filter": {"name": "Sci-Fi", "value": "sci-fi"}, }, { "type": "CheckBox", - "filter": {"name": "Seinen", "value": "seinen"} + "filter": {"name": "Seinen", "value": "seinen"}, }, { "type": "CheckBox", - "filter": {"name": "Shoujo", "value": "shoujo"} + "filter": {"name": "Shoujo", "value": "shoujo"}, }, { "type": "CheckBox", - "filter": {"name": "Shoujo Ai", "value": "shoujo-ai"} + "filter": {"name": "Shoujo Ai", "value": "shoujo-ai"}, }, { "type": "CheckBox", - "filter": {"name": "Shounen", "value": "shounen"} + "filter": {"name": "Shounen", "value": "shounen"}, }, { "type": "CheckBox", - "filter": {"name": "Showbiz", "value": "showbiz"} + "filter": {"name": "Showbiz", "value": "showbiz"}, }, { "type": "CheckBox", - "filter": {"name": "Slice of Life", "value": "slice-of-life"} + "filter": {"name": "Slice of Life", "value": "slice-of-life"}, }, { "type": "CheckBox", - "filter": {"name": "Space", "value": "space"} + "filter": {"name": "Space", "value": "space"}, }, { "type": "CheckBox", - "filter": {"name": "Sports", "value": "sports"} + "filter": {"name": "Sports", "value": "sports"}, }, { "type": "CheckBox", - "filter": {"name": "Strategy Game", "value": "strategy-game"} + "filter": {"name": "Strategy Game", "value": "strategy-game"}, }, { "type": "CheckBox", - "filter": {"name": "Super Power", "value": "super-power"} + "filter": {"name": "Super Power", "value": "super-power"}, }, { "type": "CheckBox", - "filter": {"name": "Supernatural", "value": "supernatural"} + "filter": {"name": "Supernatural", "value": "supernatural"}, }, { "type": "CheckBox", - "filter": {"name": "Survival", "value": "survival"} + "filter": {"name": "Survival", "value": "survival"}, }, { "type": "CheckBox", - "filter": {"name": "Suspense", "value": "suspense"} + "filter": {"name": "Suspense", "value": "suspense"}, }, { "type": "CheckBox", - "filter": {"name": "Team Sports", "value": "team-sports"} + "filter": {"name": "Team Sports", "value": "team-sports"}, }, { "type": "CheckBox", - "filter": {"name": "Thriller", "value": "thriller"} + "filter": {"name": "Thriller", "value": "thriller"}, }, { "type": "CheckBox", - "filter": {"name": "Time Travel", "value": "time-travel"} + "filter": {"name": "Time Travel", "value": "time-travel"}, }, { "type": "CheckBox", - "filter": {"name": "Vampire", "value": "vampire"} + "filter": {"name": "Vampire", "value": "vampire"}, }, { "type": "CheckBox", - "filter": {"name": "Visual Arts", "value": "visual-arts"} + "filter": {"name": "Visual Arts", "value": "visual-arts"}, }, { "type": "CheckBox", - "filter": {"name": "Work Life", "value": "work-life"} + "filter": {"name": "Work Life", "value": "work-life"}, }, { "type": "CheckBox", - "filter": {"name": "Workplace", "value": "workplace"} + "filter": {"name": "Workplace", "value": "workplace"}, }, { "type": "CheckBox", - "filter": {"name": "Yaoi", "value": "yaoi"} + "filter": {"name": "Yaoi", "value": "yaoi"}, }, { "type": "CheckBox", - "filter": {"name": "Yuri", "value": "yuri"} - } + "filter": {"name": "Yuri", "value": "yuri"}, + }, + ]), + GroupFilter("CountryFilter", "Country", [ + CheckBoxFilter("China", "5"), + CheckBoxFilter("Japan", "2"), ]), - GroupFilter("CountryFilter", "Country", - [CheckBoxFilter("China", "5"), CheckBoxFilter("Japan", "2")]), GroupFilter("SeasonFilter", "Season", [ CheckBoxFilter("Fall", "fall"), CheckBoxFilter("Summer", "summer"), @@ -628,13 +636,13 @@ class GogoAnime extends MProvider { GroupFilter("StatusFilter", "Status", [ CheckBoxFilter("Not Yet Aired", "Upcoming"), CheckBoxFilter("Ongoing", "Ongoing"), - CheckBoxFilter("Completed", "Completed") + CheckBoxFilter("Completed", "Completed"), ]), SelectFilter("SortFilter", "Sort by", 0, [ SelectFilterOption("Name A-Z", "title_az"), SelectFilterOption("Recently updated", "recently_updated"), SelectFilterOption("Recently added", "recently_added"), - SelectFilterOption("Release date", "release_date") + SelectFilterOption("Release date", "release_date"), ]), SeparatorFilter(), HeaderFilter("Select sub-page"), @@ -642,342 +650,342 @@ class GogoAnime extends MProvider { SelectFilter("GenreIFilter", "Genre", 0, [ { "type": "SelectOption", - "filter": {"name": "", "value": ""} + "filter": {"name": "", "value": ""}, }, { "type": "SelectOption", - "filter": {"name": "Action", "value": "action"} + "filter": {"name": "Action", "value": "action"}, }, { "type": "SelectOption", - "filter": {"name": "Adult Cast", "value": "adult-cast"} + "filter": {"name": "Adult Cast", "value": "adult-cast"}, }, { "type": "SelectOption", - "filter": {"name": "Adventure", "value": "adventure"} + "filter": {"name": "Adventure", "value": "adventure"}, }, { "type": "SelectOption", - "filter": {"name": "Anthropomorphic", "value": "anthropomorphic"} + "filter": {"name": "Anthropomorphic", "value": "anthropomorphic"}, }, { "type": "SelectOption", - "filter": {"name": "Avant Garde", "value": "avant-garde"} + "filter": {"name": "Avant Garde", "value": "avant-garde"}, }, { "type": "SelectOption", - "filter": {"name": "Boys Love", "value": "shounen-ai"} + "filter": {"name": "Boys Love", "value": "shounen-ai"}, }, { "type": "SelectOption", - "filter": {"name": "Cars", "value": "cars"} + "filter": {"name": "Cars", "value": "cars"}, }, { "type": "SelectOption", - "filter": {"name": "CGDCT", "value": "cgdct"} + "filter": {"name": "CGDCT", "value": "cgdct"}, }, { "type": "SelectOption", - "filter": {"name": "Childcare", "value": "childcare"} + "filter": {"name": "Childcare", "value": "childcare"}, }, { "type": "SelectOption", - "filter": {"name": "Comedy", "value": "comedy"} + "filter": {"name": "Comedy", "value": "comedy"}, }, { "type": "SelectOption", - "filter": {"name": "Comic", "value": "comic"} + "filter": {"name": "Comic", "value": "comic"}, }, { "type": "SelectOption", - "filter": {"name": "Crime", "value": "crime"} + "filter": {"name": "Crime", "value": "crime"}, }, { "type": "SelectOption", - "filter": {"name": "Crossdressing", "value": "crossdressing"} + "filter": {"name": "Crossdressing", "value": "crossdressing"}, }, { "type": "SelectOption", - "filter": {"name": "Delinquents", "value": "delinquents"} + "filter": {"name": "Delinquents", "value": "delinquents"}, }, { "type": "SelectOption", - "filter": {"name": "Dementia", "value": "dementia"} + "filter": {"name": "Dementia", "value": "dementia"}, }, { "type": "SelectOption", - "filter": {"name": "Demons", "value": "demons"} + "filter": {"name": "Demons", "value": "demons"}, }, { "type": "SelectOption", - "filter": {"name": "Detective", "value": "detective"} + "filter": {"name": "Detective", "value": "detective"}, }, { "type": "SelectOption", - "filter": {"name": "Drama", "value": "drama"} + "filter": {"name": "Drama", "value": "drama"}, }, { "type": "SelectOption", - "filter": {"name": "Dub", "value": "dub"} + "filter": {"name": "Dub", "value": "dub"}, }, { "type": "SelectOption", - "filter": {"name": "Ecchi", "value": "ecchi"} + "filter": {"name": "Ecchi", "value": "ecchi"}, }, { "type": "SelectOption", - "filter": {"name": "Erotica", "value": "erotica"} + "filter": {"name": "Erotica", "value": "erotica"}, }, { "type": "SelectOption", - "filter": {"name": "Family", "value": "family"} + "filter": {"name": "Family", "value": "family"}, }, { "type": "SelectOption", - "filter": {"name": "Fantasy", "value": "fantasy"} + "filter": {"name": "Fantasy", "value": "fantasy"}, }, { "type": "SelectOption", - "filter": {"name": "Gag Humor", "value": "gag-humor"} + "filter": {"name": "Gag Humor", "value": "gag-humor"}, }, { "type": "SelectOption", - "filter": {"name": "Game", "value": "game"} + "filter": {"name": "Game", "value": "game"}, }, { "type": "SelectOption", - "filter": {"name": "Gender Bender", "value": "gender-bender"} + "filter": {"name": "Gender Bender", "value": "gender-bender"}, }, { "type": "SelectOption", - "filter": {"name": "Gore", "value": "gore"} + "filter": {"name": "Gore", "value": "gore"}, }, { "type": "SelectOption", - "filter": {"name": "Gourmet", "value": "gourmet"} + "filter": {"name": "Gourmet", "value": "gourmet"}, }, { "type": "SelectOption", - "filter": {"name": "Harem", "value": "harem"} + "filter": {"name": "Harem", "value": "harem"}, }, { "type": "SelectOption", - "filter": {"name": "Hentai", "value": "hentai"} + "filter": {"name": "Hentai", "value": "hentai"}, }, { "type": "SelectOption", - "filter": {"name": "High Stakes Game", "value": "high-stakes-game"} + "filter": {"name": "High Stakes Game", "value": "high-stakes-game"}, }, { "type": "SelectOption", - "filter": {"name": "Historical", "value": "historical"} + "filter": {"name": "Historical", "value": "historical"}, }, { "type": "SelectOption", - "filter": {"name": "Horror", "value": "horror"} + "filter": {"name": "Horror", "value": "horror"}, }, { "type": "SelectOption", - "filter": {"name": "Isekai", "value": "isekai"} + "filter": {"name": "Isekai", "value": "isekai"}, }, { "type": "SelectOption", - "filter": {"name": "Iyashikei", "value": "iyashikei"} + "filter": {"name": "Iyashikei", "value": "iyashikei"}, }, { "type": "SelectOption", - "filter": {"name": "Josei", "value": "josei"} + "filter": {"name": "Josei", "value": "josei"}, }, { "type": "SelectOption", - "filter": {"name": "Kids", "value": "kids"} + "filter": {"name": "Kids", "value": "kids"}, }, { "type": "SelectOption", - "filter": {"name": "Magic", "value": "magic"} + "filter": {"name": "Magic", "value": "magic"}, }, { "type": "SelectOption", - "filter": {"name": "Magical Sex Shift", "value": "magical-sex-shift"} + "filter": {"name": "Magical Sex Shift", "value": "magical-sex-shift"}, }, { "type": "SelectOption", - "filter": {"name": "Mahou Shoujo", "value": "mahou-shoujo"} + "filter": {"name": "Mahou Shoujo", "value": "mahou-shoujo"}, }, { "type": "SelectOption", - "filter": {"name": "Martial Arts", "value": "martial-arts"} + "filter": {"name": "Martial Arts", "value": "martial-arts"}, }, { "type": "SelectOption", - "filter": {"name": "Mecha", "value": "mecha"} + "filter": {"name": "Mecha", "value": "mecha"}, }, { "type": "SelectOption", - "filter": {"name": "Medical", "value": "medical"} + "filter": {"name": "Medical", "value": "medical"}, }, { "type": "SelectOption", - "filter": {"name": "Military", "value": "military"} + "filter": {"name": "Military", "value": "military"}, }, { "type": "SelectOption", - "filter": {"name": "Music", "value": "music"} + "filter": {"name": "Music", "value": "music"}, }, { "type": "SelectOption", - "filter": {"name": "Mystery", "value": "mystery"} + "filter": {"name": "Mystery", "value": "mystery"}, }, { "type": "SelectOption", - "filter": {"name": "Mythology", "value": "mythology"} + "filter": {"name": "Mythology", "value": "mythology"}, }, { "type": "SelectOption", - "filter": {"name": "Organized Crime", "value": "organized-crime"} + "filter": {"name": "Organized Crime", "value": "organized-crime"}, }, { "type": "SelectOption", - "filter": {"name": "Parody", "value": "parody"} + "filter": {"name": "Parody", "value": "parody"}, }, { "type": "SelectOption", - "filter": {"name": "Performing Arts", "value": "performing-arts"} + "filter": {"name": "Performing Arts", "value": "performing-arts"}, }, { "type": "SelectOption", - "filter": {"name": "Pets", "value": "pets"} + "filter": {"name": "Pets", "value": "pets"}, }, { "type": "SelectOption", - "filter": {"name": "Police", "value": "police"} + "filter": {"name": "Police", "value": "police"}, }, { "type": "SelectOption", - "filter": {"name": "Psychological", "value": "psychological"} + "filter": {"name": "Psychological", "value": "psychological"}, }, { "type": "SelectOption", - "filter": {"name": "Racing", "value": "racing"} + "filter": {"name": "Racing", "value": "racing"}, }, { "type": "SelectOption", - "filter": {"name": "Reincarnation", "value": "reincarnation"} + "filter": {"name": "Reincarnation", "value": "reincarnation"}, }, { "type": "SelectOption", - "filter": {"name": "Romance", "value": "romance"} + "filter": {"name": "Romance", "value": "romance"}, }, { "type": "SelectOption", - "filter": {"name": "Romantic Subtext", "value": "romantic-subtext"} + "filter": {"name": "Romantic Subtext", "value": "romantic-subtext"}, }, { "type": "SelectOption", - "filter": {"name": "Samurai", "value": "samurai"} + "filter": {"name": "Samurai", "value": "samurai"}, }, { "type": "SelectOption", - "filter": {"name": "School", "value": "school"} + "filter": {"name": "School", "value": "school"}, }, { "type": "SelectOption", - "filter": {"name": "Sci-Fi", "value": "sci-fi"} + "filter": {"name": "Sci-Fi", "value": "sci-fi"}, }, { "type": "SelectOption", - "filter": {"name": "Seinen", "value": "seinen"} + "filter": {"name": "Seinen", "value": "seinen"}, }, { "type": "SelectOption", - "filter": {"name": "Shoujo", "value": "shoujo"} + "filter": {"name": "Shoujo", "value": "shoujo"}, }, { "type": "SelectOption", - "filter": {"name": "Shoujo Ai", "value": "shoujo-ai"} + "filter": {"name": "Shoujo Ai", "value": "shoujo-ai"}, }, { "type": "SelectOption", - "filter": {"name": "Shounen", "value": "shounen"} + "filter": {"name": "Shounen", "value": "shounen"}, }, { "type": "SelectOption", - "filter": {"name": "Showbiz", "value": "showbiz"} + "filter": {"name": "Showbiz", "value": "showbiz"}, }, { "type": "SelectOption", - "filter": {"name": "Slice of Life", "value": "slice-of-life"} + "filter": {"name": "Slice of Life", "value": "slice-of-life"}, }, { "type": "SelectOption", - "filter": {"name": "Space", "value": "space"} + "filter": {"name": "Space", "value": "space"}, }, { "type": "SelectOption", - "filter": {"name": "Sports", "value": "sports"} + "filter": {"name": "Sports", "value": "sports"}, }, { "type": "SelectOption", - "filter": {"name": "Strategy Game", "value": "strategy-game"} + "filter": {"name": "Strategy Game", "value": "strategy-game"}, }, { "type": "SelectOption", - "filter": {"name": "Super Power", "value": "super-power"} + "filter": {"name": "Super Power", "value": "super-power"}, }, { "type": "SelectOption", - "filter": {"name": "Supernatural", "value": "supernatural"} + "filter": {"name": "Supernatural", "value": "supernatural"}, }, { "type": "SelectOption", - "filter": {"name": "Survival", "value": "survival"} + "filter": {"name": "Survival", "value": "survival"}, }, { "type": "SelectOption", - "filter": {"name": "Suspense", "value": "suspense"} + "filter": {"name": "Suspense", "value": "suspense"}, }, { "type": "SelectOption", - "filter": {"name": "Team Sports", "value": "team-sports"} + "filter": {"name": "Team Sports", "value": "team-sports"}, }, { "type": "SelectOption", - "filter": {"name": "Thriller", "value": "thriller"} + "filter": {"name": "Thriller", "value": "thriller"}, }, { "type": "SelectOption", - "filter": {"name": "Time Travel", "value": "time-travel"} + "filter": {"name": "Time Travel", "value": "time-travel"}, }, { "type": "SelectOption", - "filter": {"name": "Vampire", "value": "vampire"} + "filter": {"name": "Vampire", "value": "vampire"}, }, { "type": "SelectOption", - "filter": {"name": "Visual Arts", "value": "visual-arts"} + "filter": {"name": "Visual Arts", "value": "visual-arts"}, }, { "type": "SelectOption", - "filter": {"name": "Work Life", "value": "work-life"} + "filter": {"name": "Work Life", "value": "work-life"}, }, { "type": "SelectOption", - "filter": {"name": "Workplace", "value": "workplace"} + "filter": {"name": "Workplace", "value": "workplace"}, }, { "type": "SelectOption", - "filter": {"name": "Yaoi", "value": "yaoi"} + "filter": {"name": "Yaoi", "value": "yaoi"}, }, { "type": "SelectOption", - "filter": {"name": "Yuri", "value": "yuri"} - } + "filter": {"name": "Yuri", "value": "yuri"}, + }, ]), SelectFilter("RecentFilter", "Recent", 0, [ SelectFilterOption("", ""), SelectFilterOption("Recent Release", "1"), SelectFilterOption("Recent Dub", "2"), - SelectFilterOption("Recent Chinese", "3") + SelectFilterOption("Recent Chinese", "3"), ]), SelectFilter("SeasonIFilter", "Season", 0, [ SelectFilterOption("", ""), @@ -1023,7 +1031,7 @@ class GogoAnime extends MProvider { SelectFilterOption("Fall 2014", "sub-category/fall-2014-anime"), SelectFilterOption("Summer 2014", "sub-category/summer-2014-anime"), SelectFilterOption("Spring 2014", "sub-category/spring-2014-anime"), - SelectFilterOption("Winter 2014", "sub-category/winter-2014-anime") + SelectFilterOption("Winter 2014", "sub-category/winter-2014-anime"), ]), ]; } @@ -1032,70 +1040,74 @@ class GogoAnime extends MProvider { List getSourcePreferences() { return [ EditTextPreference( - key: "override_baseurl_v${source.id}", - title: "Override BaseUrl", - summary: - "For temporary uses. Updating the extension will erase this setting.", - value: "https://anitaku.to", - dialogTitle: "Override BaseUrl", - dialogMessage: "Default: https://anitaku.to", - text: "https://anitaku.to"), + key: "override_baseurl_v${source.id}", + title: "Override BaseUrl", + summary: + "For temporary uses. Updating the extension will erase this setting.", + value: "https://anitaku.to", + dialogTitle: "Override BaseUrl", + dialogMessage: "Default: https://anitaku.to", + text: "https://anitaku.to", + ), ListPreference( - key: "preferred_quality", - title: "Preferred quality", - summary: "", - valueIndex: 0, - entries: ["1080p", "720p", "480p", "360p"], - entryValues: ["1080", "720", "480", "360"]), + key: "preferred_quality", + title: "Preferred quality", + summary: "", + valueIndex: 0, + entries: ["1080p", "720p", "480p", "360p"], + entryValues: ["1080", "720", "480", "360"], + ), ListPreference( - key: "preferred_server", - title: "Preferred server", - summary: "", - valueIndex: 0, - entries: [ - "Gogostream", - "Vidstreaming", - "Doodstream", - "StreamWish", - "Mp4upload", - "FileLions" - ], - entryValues: [ - "Gogostream", - "Vidstreaming", - "Doodstream", - "StreamWish", - "Mp4upload", - "FileLions" - ]), + key: "preferred_server", + title: "Preferred server", + summary: "", + valueIndex: 0, + entries: [ + "Gogostream", + "Vidstreaming", + "Doodstream", + "StreamWish", + "Mp4upload", + "FileLions", + ], + entryValues: [ + "Gogostream", + "Vidstreaming", + "Doodstream", + "StreamWish", + "Mp4upload", + "FileLions", + ], + ), MultiSelectListPreference( - key: "hoster_selection", - title: "Enable/Disable Hosts", - summary: "", - entries: [ - "Gogostream", - "Vidstreaming", - "Doodstream", - "StreamWish", - "Mp4upload", - "FileLions" - ], - entryValues: [ - "vidcdn", - "anime", - "doodstream", - "streamwish", - "mp4upload", - "filelions" - ], - values: [ - "vidcdn", - "anime", - "doodstream", - "streamwish", - "mp4upload", - "filelions" - ]), + key: "hoster_selection", + title: "Enable/Disable Hosts", + summary: "", + entries: [ + "Gogostream", + "Vidstreaming", + "Doodstream", + "StreamWish", + "Mp4upload", + "FileLions", + ], + entryValues: [ + "vidcdn", + "anime", + "doodstream", + "streamwish", + "mp4upload", + "filelions", + ], + values: [ + "vidcdn", + "anime", + "doodstream", + "streamwish", + "mp4upload", + "filelions", + ], + ), ]; } diff --git a/dart/anime/src/en/gogoanime/source.dart b/dart/anime/src/en/gogoanime/source.dart index 90640b1f..89ddf704 100644 --- a/dart/anime/src/en/gogoanime/source.dart +++ b/dart/anime/src/en/gogoanime/source.dart @@ -5,12 +5,13 @@ const _gogoanimeVersion = "0.1.15"; const _gogoanimeSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/gogoanime/gogoanime.dart"; Source _gogoanimeSource = Source( - name: "Gogoanime", - baseUrl: "https://anitaku.to", - lang: "en", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/gogoanime/icon.png", - sourceCodeUrl: _gogoanimeSourceCodeUrl, - version: _gogoanimeVersion, - itemType: ItemType.anime); + name: "Gogoanime", + baseUrl: "https://anitaku.to", + lang: "en", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/gogoanime/icon.png", + sourceCodeUrl: _gogoanimeSourceCodeUrl, + version: _gogoanimeVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/en/nineanimetv/nineanimetv.dart b/dart/anime/src/en/nineanimetv/nineanimetv.dart index fca41526..4839c858 100644 --- a/dart/anime/src/en/nineanimetv/nineanimetv.dart +++ b/dart/anime/src/en/nineanimetv/nineanimetv.dart @@ -10,17 +10,21 @@ class NineAnimeTv extends MProvider { @override Future getPopular(int page) async { - final res = (await client - .get(Uri.parse("${source.baseUrl}/filter?sort=all&page=$page"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/filter?sort=all&page=$page"), + )).body; return parseAnimeList(res); } @override Future getLatestUpdates(int page) async { - final res = (await client.get(Uri.parse( - "${source.baseUrl}/filter?sort=recently_updated&page=$page"))) - .body; + final res = + (await client.get( + Uri.parse( + "${source.baseUrl}/filter?sort=recently_updated&page=$page", + ), + )).body; return parseAnimeList(res); } @@ -116,30 +120,36 @@ class NineAnimeTv extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"Currently Airing": 0, "Finished Airing": 1} + {"Currently Airing": 0, "Finished Airing": 1}, ]; final res = (await client.get(Uri.parse("${source.baseUrl}$url"))).body; MManga anime = MManga(); final document = parseHtml(res); final infoElement = document.selectFirst("div.film-infor"); - final status = infoElement.xpathFirst( - '//div[contains(text(),"Status:")]/following-sibling::div/span/text()') ?? + final status = + infoElement.xpathFirst( + '//div[contains(text(),"Status:")]/following-sibling::div/span/text()', + ) ?? ""; anime.status = parseStatus(status, statusList); anime.description = infoElement.selectFirst("div.film-description > p")?.text ?? ""; - anime.author = infoElement.xpathFirst( - '//div[contains(text(),"Studios:")]/following-sibling::div/a/text()') ?? + anime.author = + infoElement.xpathFirst( + '//div[contains(text(),"Studios:")]/following-sibling::div/a/text()', + ) ?? ""; anime.genre = infoElement.xpath( - '//div[contains(text(),"Genre:")]/following-sibling::div/a/text()'); + '//div[contains(text(),"Genre:")]/following-sibling::div/a/text()', + ); final id = parseHtml(res).selectFirst("div[data-id]").attr("data-id"); final resEp = - (await client.get(Uri.parse("${source.baseUrl}/ajax/episode/list/$id"))) - .body; + (await client.get( + Uri.parse("${source.baseUrl}/ajax/episode/list/$id"), + )).body; final html = json.decode(resEp)["html"]; List? episodesList = []; @@ -163,9 +173,10 @@ class NineAnimeTv extends MProvider { @override Future> getVideoList(String url) async { - final res = (await client.get( - Uri.parse("${source.baseUrl}/ajax/episode/servers?episodeId=$url"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/ajax/episode/servers?episodeId=$url"), + )).body; final html = json.decode(res)["html"]; @@ -178,9 +189,10 @@ class NineAnimeTv extends MProvider { final name = serverElement.text; final id = serverElement.attr("data-id"); final subDub = serverElement.attr("data-type"); - final res = (await client - .get(Uri.parse("${source.baseUrl}/ajax/episode/sources?id=$id"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/ajax/episode/sources?id=$id"), + )).body; final epUrl = json.decode(res)["link"]; List a = []; @@ -214,17 +226,22 @@ class NineAnimeTv extends MProvider { Future> rapidCloudExtractor(String url, String name) async { final serverUrl = ['https://megacloud.tv', 'https://rapid-cloud.co']; - final serverType = url.startsWith('https://megacloud.tv') || url.startsWith('https://megacloud.club') ? 0 : 1; + final serverType = + url.startsWith('https://megacloud.tv') || + url.startsWith('https://megacloud.club') + ? 0 + : 1; final sourceUrl = [ '/embed-2/ajax/e-1/getSources?id=', - '/ajax/embed-6-v2/getSources?id=' + '/ajax/embed-6-v2/getSources?id=', ]; final sourceSpliter = ['/e-1/', '/embed-6-v2/']; final id = url.split(sourceSpliter[serverType]).last.split('?').first; - final resServer = (await client.get( - Uri.parse('${serverUrl[serverType]}${sourceUrl[serverType]}$id'), - headers: {"X-Requested-With": "XMLHttpRequest"})) - .body; + final resServer = + (await client.get( + Uri.parse('${serverUrl[serverType]}${sourceUrl[serverType]}$id'), + headers: {"X-Requested-With": "XMLHttpRequest"}, + )).body; final encrypted = getMapValue(resServer, "encrypted"); String videoResJson = ""; List videos = []; @@ -245,18 +262,21 @@ class NineAnimeTv extends MProvider { videoResJson = decryptAESCryptoJS(ciphertext, password); } else { videoResJson = json.encode( - (json.decode(resServer)["sources"] as List>)); + (json.decode(resServer)["sources"] as List>), + ); } String masterUrl = ((json.decode(videoResJson) as List>) .first)['file']; - String type = ((json.decode(videoResJson) as List>) - .first)['type']; + String type = + ((json.decode(videoResJson) as List>) + .first)['type']; - final tracks = (json.decode(resServer)['tracks'] as List) - .where((e) => e['kind'] == 'captions' ? true : false) - .toList(); + final tracks = + (json.decode(resServer)['tracks'] as List) + .where((e) => e['kind'] == 'captions' ? true : false) + .toList(); List subtitles = []; for (var sub in tracks) { @@ -272,8 +292,10 @@ class NineAnimeTv extends MProvider { if (type == "hls") { final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -307,19 +329,22 @@ class NineAnimeTv extends MProvider { Future>> generateIndexPairs(int serverType) async { final jsPlayerUrl = [ "https://megacloud.tv/js/player/a/prod/e1-player.min.js", - "https://rapid-cloud.co/js/player/prod/e6-player-v2.min.js" + "https://rapid-cloud.co/js/player/prod/e6-player-v2.min.js", ]; final scriptText = (await client.get(Uri.parse(jsPlayerUrl[serverType]))).body; final switchCode = scriptText.substring( - scriptText.lastIndexOf('switch'), scriptText.indexOf('=partKey')); + scriptText.lastIndexOf('switch'), + scriptText.indexOf('=partKey'), + ); List indexes = []; for (var variableMatch in RegExp(r'=(\w+)').allMatches(switchCode).toList()) { final regex = RegExp( - ',${(variableMatch as RegExpMatch).group(1)}=((?:0x)?([0-9a-fA-F]+))'); + ',${(variableMatch as RegExpMatch).group(1)}=((?:0x)?([0-9a-fA-F]+))', + ); Match? match = regex.firstMatch(scriptText); if (match != null) { @@ -391,13 +416,13 @@ class NineAnimeTv extends MProvider { CheckBoxFilter("Super Power", "31"), CheckBoxFilter("Supernatural", "37"), CheckBoxFilter("Thriller", "41"), - CheckBoxFilter("Vampire", "32") + CheckBoxFilter("Vampire", "32"), ]), GroupFilter("SeasonFilter", "Season", [ CheckBoxFilter("Fall", "3"), CheckBoxFilter("Summer", "2"), CheckBoxFilter("Spring", "1"), - CheckBoxFilter("Winter", "4") + CheckBoxFilter("Winter", "4"), ]), GroupFilter("YearFilter", "Year", [ CheckBoxFilter("2024", "2024"), @@ -423,7 +448,7 @@ class NineAnimeTv extends MProvider { CheckBoxFilter("2004", "2004"), CheckBoxFilter("2003", "2003"), CheckBoxFilter("2002", "2002"), - CheckBoxFilter("2001", "2001") + CheckBoxFilter("2001", "2001"), ]), SelectFilter("SortFilter", "Sort by", 0, [ SelectFilterOption("All", "all"), @@ -433,7 +458,7 @@ class NineAnimeTv extends MProvider { SelectFilterOption("Score", "score"), SelectFilterOption("Name A-Z", "name_az"), SelectFilterOption("Released Date", "released_date"), - SelectFilterOption("Most Watched", "most_watched") + SelectFilterOption("Most Watched", "most_watched"), ]), GroupFilter("TypeFilter", "Type", [ CheckBoxFilter("Movie", "1"), @@ -441,16 +466,18 @@ class NineAnimeTv extends MProvider { CheckBoxFilter("OVA", "3"), CheckBoxFilter("ONA", "4"), CheckBoxFilter("Special", "5"), - CheckBoxFilter("Music", "6") + CheckBoxFilter("Music", "6"), ]), SelectFilter("StatusFilter", "Status", 0, [ SelectFilterOption("All", "all"), SelectFilterOption("Finished Airing", "1"), SelectFilterOption("Currently Airing", "2"), - SelectFilterOption("Not yet aired", "3") + SelectFilterOption("Not yet aired", "3"), + ]), + GroupFilter("LanguageFilter", "Language", [ + CheckBoxFilter("Sub", "sub"), + CheckBoxFilter("Dub", "dub"), ]), - GroupFilter("LanguageFilter", "Language", - [CheckBoxFilter("Sub", "sub"), CheckBoxFilter("Dub", "dub")]), ]; } @@ -458,40 +485,45 @@ class NineAnimeTv extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_quality", - title: "Preferred Quality", - summary: "", - valueIndex: 1, - entries: ["1080p", "720p", "480p", "360p"], - entryValues: ["1080", "720", "480", "360"]), + key: "preferred_quality", + title: "Preferred Quality", + summary: "", + valueIndex: 1, + entries: ["1080p", "720p", "480p", "360p"], + entryValues: ["1080", "720", "480", "360"], + ), ListPreference( - key: "preferred_server", - title: "Preferred server", - summary: "", - valueIndex: 0, - entries: ["Vidstreaming", "VidCloud"], - entryValues: ["Vidstreaming", "VidCloud"]), + key: "preferred_server", + title: "Preferred server", + summary: "", + valueIndex: 0, + entries: ["Vidstreaming", "VidCloud"], + entryValues: ["Vidstreaming", "VidCloud"], + ), ListPreference( - key: "preferred_type", - title: "Preferred Type", - summary: "", - valueIndex: 0, - entries: ["Sub", "Dub"], - entryValues: ["sub", "dub"]), + key: "preferred_type", + title: "Preferred Type", + summary: "", + valueIndex: 0, + entries: ["Sub", "Dub"], + entryValues: ["sub", "dub"], + ), MultiSelectListPreference( - key: "hoster_selection", - title: "Enable/Disable Hosts", - summary: "", - entries: ["Vidstreaming", "VidCloud"], - entryValues: ["Vidstreaming", "Vidcloud"], - values: ["Vidstreaming", "Vidcloud"]), + key: "hoster_selection", + title: "Enable/Disable Hosts", + summary: "", + entries: ["Vidstreaming", "VidCloud"], + entryValues: ["Vidstreaming", "Vidcloud"], + values: ["Vidstreaming", "Vidcloud"], + ), MultiSelectListPreference( - key: "type_selection", - title: "Enable/Disable Types", - summary: "", - entries: ["Sub", "Dub"], - entryValues: ["sub", "dub"], - values: ["sub", "dub"]), + key: "type_selection", + title: "Enable/Disable Types", + summary: "", + entries: ["Sub", "Dub"], + entryValues: ["sub", "dub"], + values: ["sub", "dub"], + ), ]; } diff --git a/dart/anime/src/en/nineanimetv/source.dart b/dart/anime/src/en/nineanimetv/source.dart index 4693b151..1dcfa6e6 100644 --- a/dart/anime/src/en/nineanimetv/source.dart +++ b/dart/anime/src/en/nineanimetv/source.dart @@ -5,12 +5,13 @@ const _nineanimetvVersion = "0.0.5"; const _nineanimetvCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/nineanimetv/nineanimetv.dart"; Source _nineanimetv = Source( - name: "9AnimeTv", - baseUrl: "https://9animetv.to", - lang: "en", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/nineanimetv/icon.png", - sourceCodeUrl: _nineanimetvCodeUrl, - version: _nineanimetvVersion, - itemType: ItemType.anime); + name: "9AnimeTv", + baseUrl: "https://9animetv.to", + lang: "en", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/nineanimetv/icon.png", + sourceCodeUrl: _nineanimetvCodeUrl, + version: _nineanimetvVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/en/uhdmovies/source.dart b/dart/anime/src/en/uhdmovies/source.dart index 00014bc9..b475bece 100644 --- a/dart/anime/src/en/uhdmovies/source.dart +++ b/dart/anime/src/en/uhdmovies/source.dart @@ -5,12 +5,13 @@ const _uhdmoviesVersion = "0.0.45"; const _uhdmoviesSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/uhdmovies/uhdmovies.dart"; Source _uhdmoviesSource = Source( - name: "UHD Movies", - baseUrl: "https://uhdmovies.fans", - lang: "en", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/uhdmovies/icon.png", - sourceCodeUrl: _uhdmoviesSourceCodeUrl, - version: _uhdmoviesVersion, - itemType: ItemType.anime); + name: "UHD Movies", + baseUrl: "https://uhdmovies.fans", + lang: "en", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/uhdmovies/icon.png", + sourceCodeUrl: _uhdmoviesSourceCodeUrl, + version: _uhdmoviesVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/en/uhdmovies/uhdmovies.dart b/dart/anime/src/en/uhdmovies/uhdmovies.dart index 267ad45e..cc12db2c 100644 --- a/dart/anime/src/en/uhdmovies/uhdmovies.dart +++ b/dart/anime/src/en/uhdmovies/uhdmovies.dart @@ -27,9 +27,10 @@ class UHDMovies extends MProvider { @override Future search(String query, int page, FilterList filterList) async { - final res = (await client.get( - Uri.parse("$baseUrl/page/$page/?s=${query.replaceAll(" ", "+")}"))) - .body; + final res = + (await client.get( + Uri.parse("$baseUrl/page/$page/?s=${query.replaceAll(" ", "+")}"), + )).body; return animeFromElement(res); } @@ -43,10 +44,14 @@ class UHDMovies extends MProvider { anime.description = description.first; } anime.status = MStatus.ongoing; - final episodesTitles = xpath(res, - '//*[contains(@style, "center") or contains(@class, "maxbutton")]/a[contains(@class, "maxbutton") or contains(@href, "?sid=")]/text()'); - final episodesUrls = xpath(res, - '//*[contains(@style, "center") or contains(@class, "maxbutton")]/a[contains(@class, "maxbutton") or contains(@href, "?sid=")]/@href'); + final episodesTitles = xpath( + res, + '//*[contains(@style, "center") or contains(@class, "maxbutton")]/a[contains(@class, "maxbutton") or contains(@href, "?sid=")]/text()', + ); + final episodesUrls = xpath( + res, + '//*[contains(@style, "center") or contains(@class, "maxbutton")]/a[contains(@class, "maxbutton") or contains(@href, "?sid=")]/@href', + ); bool isSeries = false; if (episodesTitles.first.contains("Episode") || episodesTitles.first.contains("Zip") || @@ -56,8 +61,10 @@ class UHDMovies extends MProvider { List? episodesList = []; if (!isSeries) { List moviesTitles = []; - moviesTitles = xpath(res, - '//*[contains(@style, "center") or contains(@class, "maxbutton")]/parent::p//preceding-sibling::p[contains(@style, "center")]/text()'); + moviesTitles = xpath( + res, + '//*[contains(@style, "center") or contains(@class, "maxbutton")]/parent::p//preceding-sibling::p[contains(@style, "center")]/text()', + ); List titles = []; if (moviesTitles.isEmpty) { moviesTitles = xpath(res, '//p[contains(@style, "center")]/text()'); @@ -82,8 +89,10 @@ class UHDMovies extends MProvider { } } else { List seasonTitles = []; - final episodeTitles = xpath(res, - '//*[contains(@style, "center") or contains(@class, "maxbutton")]/parent::p//preceding-sibling::p[contains(@style, "center") and not(text()^="Episode")]/text()'); + final episodeTitles = xpath( + res, + '//*[contains(@style, "center") or contains(@class, "maxbutton")]/parent::p//preceding-sibling::p[contains(@style, "center") and not(text()^="Episode")]/text()', + ); List titles = []; for (var title in episodeTitles) { if (title.isNotEmpty) { @@ -126,13 +135,14 @@ class UHDMovies extends MProvider { List getSourcePreferences() { return [ EditTextPreference( - key: "pref_domain_new", - title: "Currently used domain", - summary: "", - value: "https://uhdmovies.fans", - dialogTitle: "Currently used domain", - dialogMessage: "", - text: "https://uhdmovies.fans"), + key: "pref_domain_new", + title: "Currently used domain", + summary: "", + value: "https://uhdmovies.fans", + dialogTitle: "Currently used domain", + dialogMessage: "", + text: "https://uhdmovies.fans", + ), ]; } @@ -146,8 +156,9 @@ class UHDMovies extends MProvider { final link = links[i]; String decodedLink = link; if (!link.contains("workers.dev")) { - decodedLink = utf8 - .decode(base64Url.decode(substringAfter(link, "download?url="))); + decodedLink = utf8.decode( + base64Url.decode(substringAfter(link, "download?url=")), + ); } MVideo video = MVideo(); video @@ -184,18 +195,25 @@ class UHDMovies extends MProvider { final js = xpath(lastDoc, '//script[contains(text(), "/?go=")]/text()'); if (js.isEmpty) return ""; String script = js.first; - String nextUrl = - substringBefore(substringAfter(script, "\"href\",\""), '"'); + String nextUrl = substringBefore( + substringAfter(script, "\"href\",\""), + '"', + ); if (!nextUrl.contains("http")) return ""; String cookieName = substringAfter(nextUrl, "go="); - String cookieValue = - substringBefore(substringAfter(script, "'$cookieName', '"), "'"); - final response = (await client.get(Uri.parse(nextUrl), - headers: {"referer": url, "Cookie": "$cookieName=$cookieValue"})) - .body; + String cookieValue = substringBefore( + substringAfter(script, "'$cookieName', '"), + "'", + ); + final response = + (await client.get( + Uri.parse(nextUrl), + headers: {"referer": url, "Cookie": "$cookieName=$cookieValue"}, + )).body; - final lastRes = - parseHtml(response).selectFirst("meta[http-equiv]").attr("content"); + final lastRes = parseHtml( + response, + ).selectFirst("meta[http-equiv]").attr("content"); return substringAfter(lastRes, "url="); } @@ -222,9 +240,12 @@ class UHDMovies extends MProvider { final name = xpath(html, '//input/@name').first; final value = xpath(html, '//input/@value').first; final body = {"$name": value}; - final response = (await client.post(Uri.parse(urlR.first), - headers: {"referer": url}, body: body)) - .body; + final response = + (await client.post( + Uri.parse(urlR.first), + headers: {"referer": url}, + body: body, + )).body; return recursiveDoc(url, response); } } diff --git a/dart/anime/src/es/animeonlineninja/animeonlineninja.dart b/dart/anime/src/es/animeonlineninja/animeonlineninja.dart index b18127be..852a2d44 100644 --- a/dart/anime/src/es/animeonlineninja/animeonlineninja.dart +++ b/dart/anime/src/es/animeonlineninja/animeonlineninja.dart @@ -21,16 +21,23 @@ class AnimeOnlineNinja extends MProvider { @override Future search(String query, int page, FilterList filterList) async { String pageStr = page == 1 ? "" : "page/$page/"; - final res = (await client.get(Uri.parse( - "${source.baseUrl}/$pageStr?s=${query.replaceAll(" ", "+")}"))) - .body; - return parseAnimeList(res, - selector: "div.result-item div.image a", - hasNextPage: parseHtml(res) - .selectFirst( - "div.pagination > *:last-child:not(span):not(.current)") - ?.text != - null); + final res = + (await client.get( + Uri.parse( + "${source.baseUrl}/$pageStr?s=${query.replaceAll(" ", "+")}", + ), + )).body; + return parseAnimeList( + res, + selector: "div.result-item div.image a", + hasNextPage: + parseHtml(res) + .selectFirst( + "div.pagination > *:last-child:not(span):not(.current)", + ) + ?.text != + null, + ); } @override @@ -39,11 +46,12 @@ class AnimeOnlineNinja extends MProvider { MManga anime = MManga(); final document = parseHtml(res); anime.description = document.selectFirst("div#info").text; - anime.genre = document - .selectFirst("div.sheader") - .select("div.data > div.sgeneros > a") - .map((e) => e.text) - .toList(); + anime.genre = + document + .selectFirst("div.sheader") + .select("div.data > div.sgeneros > a") + .map((e) => e.text) + .toList(); List? episodesList = []; final seasonElements = document.select("div#seasons > div"); @@ -82,12 +90,16 @@ class AnimeOnlineNinja extends MProvider { final type = player.attr("data-type"); final id = player.attr("data-post"); final num = player.attr("data-nume"); - final resUrl = (await client.get(Uri.parse( - "${source.baseUrl}/wp-json/dooplayer/v1/post/$id?type=$type&source=$num"))) - .body; - final url = - substringBefore(substringAfter(resUrl, "\"embed_url\":\""), "\",") - .replaceAll("\\", ""); + final resUrl = + (await client.get( + Uri.parse( + "${source.baseUrl}/wp-json/dooplayer/v1/post/$id?type=$type&source=$num", + ), + )).body; + final url = substringBefore( + substringAfter(resUrl, "\"embed_url\":\""), + "\",", + ).replaceAll("\\", ""); videos.addAll(await extractVideos(url, name)); } return sortVideos(videos, source.id); @@ -100,8 +112,11 @@ class AnimeOnlineNinja extends MProvider { return await extractFromMulti(url); } else if (["filemoon", "moon", "filemooon"].any((a) => url.contains(a))) { a = await filemoonExtractor(url, "$lang Filemoon - ", ""); - } else if (["https://dood", "https://ds2play", "https://d0"] - .any((a) => url.contains(a))) { + } else if ([ + "https://dood", + "https://ds2play", + "https://d0", + ].any((a) => url.contains(a))) { a = await doodExtractor(url, "$lang DoodStream"); } else if (["streamtape", "stp", "stape"].any((a) => url.contains(a))) { a = await streamTapeExtractor(url, "$lang StreamTape"); @@ -111,8 +126,10 @@ class AnimeOnlineNinja extends MProvider { final resUrl = (await client.get(Uri.parse(url))).body; final jsData = parseHtml(resUrl).selectFirst("script:contains(sources)").text; - final videoUrl = - substringBefore(substringAfter(jsData, "{file:\""), "\""); + final videoUrl = substringBefore( + substringAfter(jsData, "{file:\""), + "\"", + ); MVideo video = MVideo(); video @@ -121,13 +138,20 @@ class AnimeOnlineNinja extends MProvider { ..quality = "$lang WolfStream"; a = [video]; - } else if (["wishembed", "streamwish", "strwish", "wish"] - .any((a) => url.contains(a))) { + } else if ([ + "wishembed", + "streamwish", + "strwish", + "wish", + ].any((a) => url.contains(a))) { a = await streamWishExtractor(url, "$lang StreamWish"); } else if (url.contains("mp4upload")) { a = await mp4UploadExtractor(url, null, "$lang", ""); - } else if (["vidhide", "filelions.top", "vid."] - .any((a) => url.contains(a))) { + } else if ([ + "vidhide", + "filelions.top", + "vid.", + ].any((a) => url.contains(a))) { a = await streamHideExtractor(url, lang); } videos.addAll(a); @@ -138,15 +162,18 @@ class AnimeOnlineNinja extends MProvider { Future> streamHideExtractor(String url, String prefix) async { final res = (await client.get(Uri.parse(url))).body; final masterUrl = substringBefore( - substringAfter( - substringAfter( - substringAfter(unpackJs(res), "sources:"), "file:\""), - "src:\""), - '"'); + substringAfter( + substringAfter(substringAfter(unpackJs(res), "sources:"), "file:\""), + "src:\"", + ), + '"', + ); final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; List videos = []; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -168,16 +195,20 @@ class AnimeOnlineNinja extends MProvider { } Future> uqloadExtractor(String url, String lang) async { - final Client client = - Client(source, json.encode({"useDartHttpClient": true})); + final Client client = Client( + source, + json.encode({"useDartHttpClient": true}), + ); final res = (await client.get(Uri.parse(url))).body; final js = xpath(res, '//script[contains(text(), "sources:")]/text()'); if (js.isEmpty) { return []; } - final videoUrl = - substringBefore(substringAfter(js.first, "sources: [\""), '"'); + final videoUrl = substringBefore( + substringAfter(js.first, "sources: [\""), + '"', + ); MVideo video = MVideo(); video ..url = videoUrl @@ -200,12 +231,16 @@ class AnimeOnlineNinja extends MProvider { } List videos = []; for (var element in document.select("div.ODDIV $langSelector > li")) { - final hosterUrl = - substringBefore(substringAfter(element.attr("onclick"), "('"), "')"); + final hosterUrl = substringBefore( + substringAfter(element.attr("onclick"), "('"), + "')", + ); String lang = ""; if (langSelector == "div") { lang = substringBefore( - substringAfter(element.parent?.attr("class"), "OD_", ""), " "); + substringAfter(element.parent?.attr("class"), "OD_", ""), + " ", + ); } else { lang = prefLang; } @@ -215,8 +250,11 @@ class AnimeOnlineNinja extends MProvider { return videos; } - MPages parseAnimeList(String res, - {String selector = "article.w_item_a > a", bool hasNextPage = false}) { + MPages parseAnimeList( + String res, { + String selector = "article.w_item_a > a", + bool hasNextPage = false, + }) { final elements = parseHtml(res).select(selector); List animeList = []; for (var element in elements) { @@ -225,7 +263,8 @@ class AnimeOnlineNinja extends MProvider { MManga anime = MManga(); final img = element.selectFirst("img"); anime.name = img.attr("alt"); - anime.imageUrl = img?.attr("data-src") ?? + anime.imageUrl = + img?.attr("data-src") ?? img?.attr("data-lazy-src") ?? img?.attr("srcset") ?? img?.getSrc; @@ -240,39 +279,41 @@ class AnimeOnlineNinja extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_lang", - title: "Preferred language", - summary: "", - valueIndex: 0, - entries: ["SUB", "All", "ES", "LAT"], - entryValues: ["SUB", "", "ES", "LAT"]), + key: "preferred_lang", + title: "Preferred language", + summary: "", + valueIndex: 0, + entries: ["SUB", "All", "ES", "LAT"], + entryValues: ["SUB", "", "ES", "LAT"], + ), ListPreference( - key: "preferred_server1", - title: "Preferred server", - summary: "", - valueIndex: 0, - entries: [ - "Filemoon", - "DoodStream", - "StreamTape", - "Uqload", - "WolfStream", - "saidochesto.top", - "VidHide", - "StreamWish", - "Mp4Upload" - ], - entryValues: [ - "Filemoon", - "DoodStream", - "StreamTape", - "Uqload", - "WolfStream", - "saidochesto.top", - "VidHide", - "StreamWish", - "Mp4Upload" - ]), + key: "preferred_server1", + title: "Preferred server", + summary: "", + valueIndex: 0, + entries: [ + "Filemoon", + "DoodStream", + "StreamTape", + "Uqload", + "WolfStream", + "saidochesto.top", + "VidHide", + "StreamWish", + "Mp4Upload", + ], + entryValues: [ + "Filemoon", + "DoodStream", + "StreamTape", + "Uqload", + "WolfStream", + "saidochesto.top", + "VidHide", + "StreamWish", + "Mp4Upload", + ], + ), ]; } diff --git a/dart/anime/src/es/animeonlineninja/source.dart b/dart/anime/src/es/animeonlineninja/source.dart index c3036b40..d896b360 100644 --- a/dart/anime/src/es/animeonlineninja/source.dart +++ b/dart/anime/src/es/animeonlineninja/source.dart @@ -5,12 +5,13 @@ const _animeonlineninjaVersion = "0.0.3"; const _animeonlineninjaSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/es/animeonlineninja/animeonlineninja.dart"; Source _animeonlineninjaSource = Source( - name: "AnimeOnline.Ninja", - baseUrl: "https://ww3.animeonline.ninja", - lang: "es", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/es/animeonlineninja/icon.png", - sourceCodeUrl: _animeonlineninjaSourceCodeUrl, - version: _animeonlineninjaVersion, - itemType: ItemType.anime); + name: "AnimeOnline.Ninja", + baseUrl: "https://ww3.animeonline.ninja", + lang: "es", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/es/animeonlineninja/icon.png", + sourceCodeUrl: _animeonlineninjaSourceCodeUrl, + version: _animeonlineninjaVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/fr/animesama/animesama.dart b/dart/anime/src/fr/animesama/animesama.dart index b52b9570..2dbad3ad 100644 --- a/dart/anime/src/fr/animesama/animesama.dart +++ b/dart/anime/src/fr/animesama/animesama.dart @@ -11,15 +11,20 @@ class AnimeSama extends MProvider { @override Future getPopular(int page) async { final doc = (await client.get(Uri.parse("${source.baseUrl}/#$page"))).body; - final regex = RegExp(r"""^\s*carteClassique\(\s*.*?\s*,\s*"(.*?)".*\)""", - multiLine: true); + final regex = RegExp( + r"""^\s*carteClassique\(\s*.*?\s*,\s*"(.*?)".*\)""", + multiLine: true, + ); var matches = regex.allMatches(doc).toList(); List> chunks = chunked(matches, 5); List seasons = []; if (page > 0 && page <= chunks.length) { for (RegExpMatch match in chunks[page - 1]) { - seasons.addAll(await fetchAnimeSeasons( - "${source.baseUrl}/catalogue/${match.group(1)}")); + seasons.addAll( + await fetchAnimeSeasons( + "${source.baseUrl}/catalogue/${match.group(1)}", + ), + ); } } return MPages(seasons, page < chunks.length); @@ -29,18 +34,26 @@ class AnimeSama extends MProvider { Future getLatestUpdates(int page) async { final res = (await client.get(Uri.parse(source.baseUrl))).body; var document = parseHtml(res); - final latest = document - .select("h2") - .where((MElement e) => - e.outerHtml.toLowerCase().contains("derniers épisodes ajoutés")) - .toList(); - final seasonElements = (latest.first.parent.nextElementSibling as MElement) - .select("div") - .toList(); + final latest = + document + .select("h2") + .where( + (MElement e) => e.outerHtml.toLowerCase().contains( + "derniers épisodes ajoutés", + ), + ) + .toList(); + final seasonElements = + (latest.first.parent.nextElementSibling as MElement) + .select("div") + .toList(); List seasons = []; for (var seasonElement in seasonElements) { - seasons.addAll(await fetchAnimeSeasons( - (seasonElement as MElement).getElementsByTagName("a").first.getHref)); + seasons.addAll( + await fetchAnimeSeasons( + (seasonElement as MElement).getElementsByTagName("a").first.getHref, + ), + ); } return MPages(seasons, false); } @@ -48,48 +61,73 @@ class AnimeSama extends MProvider { @override Future search(String query, int page, FilterList filterList) async { final filters = filterList.filters; - final res = (await client - .get(Uri.parse("${source.baseUrl}/catalogue/listing_all.php"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/catalogue/listing_all.php"), + )).body; var databaseElements = parseHtml(res).select(".cardListAnime"); List elements = []; - elements = databaseElements - .where((MElement element) => element.select("h1, p").any((MElement e) => - e.text.toLowerCase().contains(query.toLowerCase().trim()))) - .toList(); + elements = + databaseElements + .where( + (MElement element) => element + .select("h1, p") + .any( + (MElement e) => e.text.toLowerCase().contains( + query.toLowerCase().trim(), + ), + ), + ) + .toList(); for (var filter in filters) { if (filter.type == "TypeFilter") { final types = (filter.state as List).where((e) => e.state).toList(); - elements = elements - .where((MElement element) => - types.isEmpty || - types.any((p) => element.className.contains(p.value))) - .toList(); + elements = + elements + .where( + (MElement element) => + types.isEmpty || + types.any((p) => element.className.contains(p.value)), + ) + .toList(); } else if (filter.type == "LanguageFilter") { final language = (filter.state as List).where((e) => e.state).toList(); - elements = elements - .where((MElement element) => - language.isEmpty || - language.any((p) => element.className.contains(p.value))) - .toList(); + elements = + elements + .where( + (MElement element) => + language.isEmpty || + language.any((p) => element.className.contains(p.value)), + ) + .toList(); } else if (filter.type == "GenreFilter") { - final included = (filter.state as List) - .where((e) => e.state == 1 ? true : false) - .toList(); - final excluded = (filter.state as List) - .where((e) => e.state == 2 ? true : false) - .toList(); + final included = + (filter.state as List) + .where((e) => e.state == 1 ? true : false) + .toList(); + final excluded = + (filter.state as List) + .where((e) => e.state == 2 ? true : false) + .toList(); if (included.isNotEmpty) { - elements = elements - .where((MElement element) => - included.every((p) => element.className.contains(p.value))) - .toList(); + elements = + elements + .where( + (MElement element) => included.every( + (p) => element.className.contains(p.value), + ), + ) + .toList(); } if (excluded.isNotEmpty) { - elements = elements - .where((MElement element) => - excluded.every((p) => element.className.contains(p.value))) - .toList(); + elements = + elements + .where( + (MElement element) => excluded.every( + (p) => element.className.contains(p.value), + ), + ) + .toList(); } } } @@ -97,8 +135,11 @@ class AnimeSama extends MProvider { if (chunks.isEmpty) return MPages([], false); List seasons = []; for (var seasonElement in chunks[page - 1]) { - seasons.addAll(await fetchAnimeSeasons( - seasonElement.getElementsByTagName("a").first.getHref)); + seasons.addAll( + await fetchAnimeSeasons( + seasonElement.getElementsByTagName("a").first.getHref, + ), + ); } return MPages(seasons, page < chunks.length); @@ -108,8 +149,9 @@ class AnimeSama extends MProvider { Future getDetail(String url) async { var animeUrl = "${source.baseUrl}${substringBeforeLast(getUrlWithoutDomain(url), "/")}"; - var movie = - int.tryParse(url.split("#").length >= 2 ? url.split("#")[1] : ""); + var movie = int.tryParse( + url.split("#").length >= 2 ? url.split("#")[1] : "", + ); List> playersList = []; for (var lang in ["vostfr", "vf"]) { final players = await fetchPlayers("$animeUrl/$lang"); @@ -181,22 +223,23 @@ class AnimeSama extends MProvider { } Future> vidmolyExtractor(String url, String lang) async { - final headers = { - 'Referer': 'https://vidmoly.to', - }; + final headers = {'Referer': 'https://vidmoly.to'}; List videos = []; final playListUrlResponse = (await client.get(Uri.parse(url))).body; final playlistUrl = RegExp(r'file:"(\S+?)"').firstMatch(playListUrlResponse)?.group(1) ?? - ""; + ""; if (playlistUrl.isEmpty) return []; - final masterPlaylistRes = - await client.get(Uri.parse(playlistUrl), headers: headers); + final masterPlaylistRes = await client.get( + Uri.parse(playlistUrl), + headers: headers, + ); if (masterPlaylistRes.statusCode == 200) { - for (var it - in substringAfter(masterPlaylistRes.body, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes.body, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -230,8 +273,10 @@ class AnimeSama extends MProvider { if (masterUrl.contains(".m3u8")) { final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -312,19 +357,21 @@ class AnimeSama extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_quality", - title: "Qualité préférée", - summary: "", - valueIndex: 0, - entries: ["1080p", "720p", "480p", "360p"], - entryValues: ["1080", "720", "480", "360"]), + key: "preferred_quality", + title: "Qualité préférée", + summary: "", + valueIndex: 0, + entries: ["1080p", "720p", "480p", "360p"], + entryValues: ["1080", "720", "480", "360"], + ), ListPreference( - key: "voices_preference", - title: "Préférence des voix", - summary: "", - valueIndex: 0, - entries: ["Préférer VOSTFR", "Préférer VF"], - entryValues: ["vostfr", "vf"]), + key: "voices_preference", + title: "Préférence des voix", + summary: "", + valueIndex: 0, + entries: ["Préférer VOSTFR", "Préférer VF"], + entryValues: ["vostfr", "vf"], + ), ]; } @@ -349,8 +396,10 @@ class AnimeSama extends MProvider { var moviesUrl = "$url/$seasonStem"; var movies = await fetchPlayers(moviesUrl); if (movies.isNotEmpty) { - var movieNameRegex = - RegExp("^\\s*newSPF\\(\"(.*)\"\\);", multiLine: true); + var movieNameRegex = RegExp( + "^\\s*newSPF\\(\"(.*)\"\\);", + multiLine: true, + ); var moviesDoc = (await client.get(Uri.parse(moviesUrl))).body; List matches = movieNameRegex.allMatches(moviesDoc).toList(); @@ -369,11 +418,14 @@ class AnimeSama extends MProvider { MManga anime = MManga(); anime.imageUrl = document.getElementById("coverOeuvre")?.getSrc; anime.genre = (document.xpathFirst( - '//h2[contains(text(),"Genres")]/following-sibling::a/text()') ?? + '//h2[contains(text(),"Genres")]/following-sibling::a/text()', + ) ?? "") .split(","); - anime.description = document.xpathFirst( - '//h2[contains(text(),"Synopsis")]/following-sibling::p/text()') ?? + anime.description = + document.xpathFirst( + '//h2[contains(text(),"Synopsis")]/following-sibling::p/text()', + ) ?? ""; anime.name = title; @@ -386,11 +438,14 @@ class AnimeSama extends MProvider { MManga anime = MManga(); anime.imageUrl = document.getElementById("coverOeuvre")?.getSrc; anime.genre = (document.xpathFirst( - '//h2[contains(text(),"Genres")]/following-sibling::a/text()') ?? + '//h2[contains(text(),"Genres")]/following-sibling::a/text()', + ) ?? "") .split(","); - anime.description = document.xpathFirst( - '//h2[contains(text(),"Synopsis")]/following-sibling::p/text()') ?? + anime.description = + document.xpathFirst( + '//h2[contains(text(),"Synopsis")]/following-sibling::p/text()', + ) ?? ""; anime.name = '$animeName ${substringBefore(seasonName, ',').replaceAll('"', "")}'; @@ -448,7 +503,9 @@ class AnimeSama extends MProvider { String sanitizeEpisodesJs(String doc) { return doc.replaceAll( - RegExp(r'(?<=\[|\,)\s*\"\s*(https?://[^\s\"]+)\s*\"\s*(?=\,|\])'), ''); + RegExp(r'(?<=\[|\,)\s*\"\s*(https?://[^\s\"]+)\s*\"\s*(?=\,|\])'), + '', + ); } List> chunked(List list, int size) { diff --git a/dart/anime/src/fr/animesama/source.dart b/dart/anime/src/fr/animesama/source.dart index c0100b4b..7d1f2578 100644 --- a/dart/anime/src/fr/animesama/source.dart +++ b/dart/anime/src/fr/animesama/source.dart @@ -5,12 +5,13 @@ const animesamaVersion = "0.0.4"; const animesamaCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/animesama/animesama.dart"; Source _animesama = Source( - name: "Anime-Sama", - baseUrl: "https://anime-sama.fr", - lang: "fr", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/animesama/icon.png", - sourceCodeUrl: animesamaCodeUrl, - version: animesamaVersion, - itemType: ItemType.anime); + name: "Anime-Sama", + baseUrl: "https://anime-sama.fr", + lang: "fr", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/animesama/icon.png", + sourceCodeUrl: animesamaCodeUrl, + version: animesamaVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/fr/animesultra/animesultra.dart b/dart/anime/src/fr/animesultra/animesultra.dart index 75b71947..9757f04b 100644 --- a/dart/anime/src/fr/animesultra/animesultra.dart +++ b/dart/anime/src/fr/animesultra/animesultra.dart @@ -16,12 +16,18 @@ class AnimesUltra extends MProvider { final res = (await client.get(Uri.parse(baseUrl))).body; List animeList = []; - final urls = xpath(res, - '//*[contains(@class,"swiper-slide item-qtip")]/div[@class="item"]/a/@href'); - final names = xpath(res, - '//*[contains(@class,"swiper-slide item-qtip")]/div[@class="item"]/a/img/@title'); - final images = xpath(res, - '//*[contains(@class,"swiper-slide item-qtip")]/div[@class="item"]/a/img/@data-src'); + final urls = xpath( + res, + '//*[contains(@class,"swiper-slide item-qtip")]/div[@class="item"]/a/@href', + ); + final names = xpath( + res, + '//*[contains(@class,"swiper-slide item-qtip")]/div[@class="item"]/a/img/@title', + ); + final images = xpath( + res, + '//*[contains(@class,"swiper-slide item-qtip")]/div[@class="item"]/a/img/@data-src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); @@ -39,12 +45,18 @@ class AnimesUltra extends MProvider { final res = (await client.get(Uri.parse(baseUrl))).body; List animeList = []; - final urls = xpath(res, - '//*[@class="block_area block_area_home"]/div[@class="tab-content"]/div[contains(@class,"block_area-content block_area-list")]/div[@class="film_list-wrap"]/div[@class="flw-item"]/div[@class="film-poster"]/a/@href'); - final names = xpath(res, - '//*[@class="block_area block_area_home"]/div[@class="tab-content"]/div[contains(@class,"block_area-content block_area-list")]/div[@class="film_list-wrap"]/div[@class="flw-item"]/div[@class="film-poster"]/a/@title'); - final images = xpath(res, - '//*[@class="block_area block_area_home"]/div[@class="tab-content"]/div[contains(@class,"block_area-content block_area-list")]/div[@class="film_list-wrap"]/div[@class="flw-item"]/div[@class="film-poster"]/img/@data-src'); + final urls = xpath( + res, + '//*[@class="block_area block_area_home"]/div[@class="tab-content"]/div[contains(@class,"block_area-content block_area-list")]/div[@class="film_list-wrap"]/div[@class="flw-item"]/div[@class="film-poster"]/a/@href', + ); + final names = xpath( + res, + '//*[@class="block_area block_area_home"]/div[@class="tab-content"]/div[contains(@class,"block_area-content block_area-list")]/div[@class="film_list-wrap"]/div[@class="flw-item"]/div[@class="film-poster"]/a/@title', + ); + final images = xpath( + res, + '//*[@class="block_area block_area_home"]/div[@class="tab-content"]/div[contains(@class,"block_area-content block_area-list")]/div[@class="film_list-wrap"]/div[@class="flw-item"]/div[@class="film-poster"]/img/@data-src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); @@ -60,9 +72,12 @@ class AnimesUltra extends MProvider { @override Future search(String query, int page, FilterList filterList) async { query = query.trim().replaceAll(" ", "+"); - final res = (await client.get(Uri.parse( - "$baseUrl/index.php?do=search&subaction=search&story=$query"))) - .body; + final res = + (await client.get( + Uri.parse( + "$baseUrl/index.php?do=search&subaction=search&story=$query", + ), + )).body; List animeList = []; final urls = xpath(res, '//*[@class="film-poster"]/a/@href'); @@ -83,7 +98,7 @@ class AnimesUltra extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"En cours": 0, "Terminé": 1} + {"En cours": 0, "Terminé": 1}, ]; final res = (await client.get(Uri.parse(url))).body; @@ -92,17 +107,25 @@ class AnimesUltra extends MProvider { anime.description = xpath(res, '//*[@class="film-description m-hide"]/text()').first; - final status = xpath(res, - '//*[@class="item item-title" and contains(text(),"Status:")]/span[2]/text()') - .first; + final status = + xpath( + res, + '//*[@class="item item-title" and contains(text(),"Status:")]/span[2]/text()', + ).first; anime.status = parseStatus(status, statusList); - anime.genre = xpath(res, - '//*[@class="item item-list" and contains(text(),"Genres:")]/a/text()'); + anime.genre = xpath( + res, + '//*[@class="item item-list" and contains(text(),"Genres:")]/a/text()', + ); anime.author = doc.xpathFirst( - '//*[@class="item item-title" and contains(text(),"Studio:")]/span[2]/text()'); - final episodesLength = int.parse(substringBefore( - doc.xpathFirst('//*[@class="film-stats"]/span[7]/text()'), "/") - .replaceAll("Ep", "")); + '//*[@class="item item-title" and contains(text(),"Studio:")]/span[2]/text()', + ); + final episodesLength = int.parse( + substringBefore( + doc.xpathFirst('//*[@class="film-stats"]/span[7]/text()'), + "/", + ).replaceAll("Ep", ""), + ); List? episodesList = []; for (var i = 0; i < episodesLength; i++) { @@ -119,18 +142,23 @@ class AnimesUltra extends MProvider { Future> getVideoList(String url) async { final resHtml = (await client.get(Uri.parse(url))).body; final id = url.split('/')[4].split('-')[0]; - final resServer = (await client - .get(Uri.parse("$baseUrl/engine/ajax/full-story.php?newsId=$id"))) - .body; + final resServer = + (await client.get( + Uri.parse("$baseUrl/engine/ajax/full-story.php?newsId=$id"), + )).body; - final serverIds = - xpath(resHtml, '//*[@class="ps__-list"]/div/@data-server-id'); + final serverIds = xpath( + resHtml, + '//*[@class="ps__-list"]/div/@data-server-id', + ); final serverNames = xpath(resHtml, '//*[@class="ps__-list"]/div/a/text()'); List serverUrls = []; for (var id in serverIds) { - final serversUrls = xpath(jsonDecode(resServer)["html"], - '//*[@id="content_player_${id}"]/text()') - .first; + final serversUrls = + xpath( + jsonDecode(resServer)["html"], + '//*[@id="content_player_${id}"]/text()', + ).first; serverUrls.add(serversUrls); } List videos = []; @@ -140,10 +168,13 @@ class AnimesUltra extends MProvider { List a = []; if (name.contains("Sendvid")) { a = await sendVidExtractorr( - url.replaceAll("https:////", "https://"), ""); + url.replaceAll("https:////", "https://"), + "", + ); } else if (name.contains("Sibnet")) { a = await sibnetExtractor( - "https://video.sibnet.ru/shell.php?videoid=$url"); + "https://video.sibnet.ru/shell.php?videoid=$url", + ); } else if (name.contains("Mytv")) { a = await myTvExtractor("https://www.myvi.tv/embed/$url"); } else if (name.contains("Fmoon")) { @@ -170,8 +201,10 @@ class AnimesUltra extends MProvider { if (masterUrl.contains(".m3u8")) { final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; diff --git a/dart/anime/src/fr/animesultra/source.dart b/dart/anime/src/fr/animesultra/source.dart index cfb16690..d365ee99 100644 --- a/dart/anime/src/fr/animesultra/source.dart +++ b/dart/anime/src/fr/animesultra/source.dart @@ -5,13 +5,14 @@ const _animesultraVersion = "0.0.75"; const _animesultraSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/animesultra/animesultra.dart"; Source _animesultraSource = Source( - name: "AnimesUltra", - baseUrl: "https://w2.animesultra.net", - lang: "fr", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/animesultra/icon.png", - sourceCodeUrl: _animesultraSourceCodeUrl, - version: _animesultraVersion, - itemType: ItemType.anime, - isFullData: false); + name: "AnimesUltra", + baseUrl: "https://w2.animesultra.net", + lang: "fr", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/animesultra/icon.png", + sourceCodeUrl: _animesultraSourceCodeUrl, + version: _animesultraVersion, + itemType: ItemType.anime, + isFullData: false, +); diff --git a/dart/anime/src/fr/anizone/anizone.dart b/dart/anime/src/fr/anizone/anizone.dart index 561c7328..982d17b6 100644 --- a/dart/anime/src/fr/anizone/anizone.dart +++ b/dart/anime/src/fr/anizone/anizone.dart @@ -58,7 +58,7 @@ class AniZone extends MProvider { "status": [], "season": [], "lang": [], - "genre": [] + "genre": [], }; // Regroupement des filtres avec une logique générique @@ -67,7 +67,7 @@ class AniZone extends MProvider { "LanguageFilter": "lang", "SaisonFilter": "season", "StatusFilter": "status", - "GenreFilter": "genre" + "GenreFilter": "genre", }; for (var filter in filterList.filters) { @@ -99,8 +99,10 @@ class AniZone extends MProvider { final description = xpath(doc, '//p[contains(@class,"short")]/text()'); anime.description = description.isNotEmpty ? description.first : ""; - final statusList = xpath(doc, - '//div[contains(@class,"col2")]//div[contains(@class,"item")]//div[contains(@class,"item-content")]/text()'); + final statusList = xpath( + doc, + '//div[contains(@class,"col2")]//div[contains(@class,"item")]//div[contains(@class,"item-content")]/text()', + ); if (statusList.isNotEmpty) { if (statusList[0] == "Terminer") { anime.status = MStatus.completed; @@ -113,8 +115,10 @@ class AniZone extends MProvider { anime.status = MStatus.unknown; } - anime.genre = xpath(doc, - '//div[contains(@class,"item")]//div[contains(@class,"item-content")]//a[contains(@href,"genre")]/text()'); + anime.genre = xpath( + doc, + '//div[contains(@class,"item")]//div[contains(@class,"item-content")]//a[contains(@href,"genre")]/text()', + ); final regex = RegExp(r'(\d+)$'); final match = regex.firstMatch(url); @@ -123,14 +127,16 @@ class AniZone extends MProvider { throw Exception('Numéro de l\'épisode non trouvé dans l\'URL.'); } - final res = (await client.get(Uri.parse( - "${source.baseUrl}/ajax/episode/list/${match.group(1)}"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/ajax/episode/list/${match.group(1)}"), + )).body; List episodesList = []; - final episodeElements = - parseHtml(json.decode(res)["html"]).select(".ep-item"); + final episodeElements = parseHtml( + json.decode(res)["html"], + ).select(".ep-item"); // Associer chaque titre à son URL et récupérer les vidéos for (var element in episodeElements) { @@ -152,16 +158,24 @@ class AniZone extends MProvider { @override Future> getVideoList(String url) async { - final videoRes = (await client - .get(Uri.parse(url), headers: {"Referer": "${source.baseUrl}/"})) - .body; + final videoRes = + (await client.get( + Uri.parse(url), + headers: {"Referer": "${source.baseUrl}/"}, + )).body; - final lang = xpath(videoRes.replaceAll(r'\', ''), - '//div[contains(@class,"item server-item")]/@data-type'); - final links = xpath(videoRes.replaceAll(r'\', ''), - '//div[contains(@class,"item server-item")]/@data-id'); - final playersNames = xpath(videoRes.replaceAll(r'\', ''), - '//div[contains(@class,"item server-item")]/text()'); + final lang = xpath( + videoRes.replaceAll(r'\', ''), + '//div[contains(@class,"item server-item")]/@data-type', + ); + final links = xpath( + videoRes.replaceAll(r'\', ''), + '//div[contains(@class,"item server-item")]/@data-id', + ); + final playersNames = xpath( + videoRes.replaceAll(r'\', ''), + '//div[contains(@class,"item server-item")]/text()', + ); List> players = []; for (int j = 0; j < links.length; j++) { // schema of players https://v1.animesz.xyz/ajax/episode/servers?episodeId=(id_episode) @@ -214,15 +228,18 @@ class AniZone extends MProvider { Future> streamHideExtractor(String url, String prefix) async { final res = (await client.get(Uri.parse(url))).body; final masterUrl = substringBefore( - substringAfter( - substringAfter( - substringAfter(unpackJs(res), "sources:"), "file:\""), - "src:\""), - '"'); + substringAfter( + substringAfter(substringAfter(unpackJs(res), "sources:"), "file:\""), + "src:\"", + ), + '"', + ); final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; List videos = []; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -314,7 +331,7 @@ class AniZone extends MProvider { CheckBoxFilter("Vampire", "32"), CheckBoxFilter("Yaoi", "33"), CheckBoxFilter("Yuri", "34"), - ]) + ]), ]; } @@ -322,19 +339,21 @@ class AniZone extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_quality", - title: "Qualité préférée", - summary: "", - valueIndex: 0, - entries: ["1080p", "720p", "480p", "360p"], - entryValues: ["1080", "720", "480", "360"]), + key: "preferred_quality", + title: "Qualité préférée", + summary: "", + valueIndex: 0, + entries: ["1080p", "720p", "480p", "360p"], + entryValues: ["1080", "720", "480", "360"], + ), ListPreference( - key: "voices_preference", - title: "Préférence des voix", - summary: "", - valueIndex: 0, - entries: ["Préférer VOSTFR", "Préférer VF"], - entryValues: ["vostfr", "vf"]), + key: "voices_preference", + title: "Préférence des voix", + summary: "", + valueIndex: 0, + entries: ["Préférer VOSTFR", "Préférer VF"], + entryValues: ["vostfr", "vf"], + ), ]; } @@ -383,8 +402,10 @@ class AniZone extends MProvider { if (masterUrl.contains(".m3u8")) { final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -437,7 +458,8 @@ class AniZone extends MProvider { final masterPlaylistRes = await client.get(Uri.parse(masterUrl)); if (masterPlaylistRes.statusCode != 200) { print( - "Error lors de la récupération de la playlist M3U8 : ${masterPlaylistRes.statusCode}"); + "Error lors de la récupération de la playlist M3U8 : ${masterPlaylistRes.statusCode}", + ); return []; } diff --git a/dart/anime/src/fr/anizone/source.dart b/dart/anime/src/fr/anizone/source.dart index 3c1fa693..81aa21c3 100644 --- a/dart/anime/src/fr/anizone/source.dart +++ b/dart/anime/src/fr/anizone/source.dart @@ -5,12 +5,13 @@ const _aniZoneVersion = "0.0.2"; const _aniZoneSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/anizone/anizone.dart"; Source _aniZoneSource = Source( - name: "AniZone", - baseUrl: "https://v1.animesz.xyz", - lang: "fr", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/anizone/icon.png", - sourceCodeUrl: _aniZoneSourceCodeUrl, - version: _aniZoneVersion, - itemType: ItemType.anime); + name: "AniZone", + baseUrl: "https://v1.animesz.xyz", + lang: "fr", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/anizone/icon.png", + sourceCodeUrl: _aniZoneSourceCodeUrl, + version: _aniZoneVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/fr/franime/franime.dart b/dart/anime/src/fr/franime/franime.dart index 718d738a..4611e998 100644 --- a/dart/anime/src/fr/franime/franime.dart +++ b/dart/anime/src/fr/franime/franime.dart @@ -46,8 +46,9 @@ class FrAnime extends MProvider { var seasonsJson = seasons.first; if (url.contains("s=")) { - int seasonNumber = - int.parse(substringBefore(substringAfter(url, "s="), "&")); + int seasonNumber = int.parse( + substringBefore(substringAfter(url, "s="), "&"), + ); seasonsJson = seasons[seasonNumber - 1]; } @@ -103,8 +104,9 @@ class FrAnime extends MProvider { videoBaseUrl += "/$animeId/"; if (url.contains("s=")) { - int seasonNumber = - int.parse(substringBefore(substringAfter(url, "s="), "&")); + int seasonNumber = int.parse( + substringBefore(substringAfter(url, "s="), "&"), + ); videoBaseUrl += "${seasonNumber - 1}/"; seasonsJson = seasons[seasonNumber - 1]; } else { @@ -141,17 +143,21 @@ class FrAnime extends MProvider { MVideo video = MVideo(); - final playerUrl = (await client.get(Uri.parse(apiUrl), - headers: {"Referer": "https://franime.fr/"})) - .body; + final playerUrl = + (await client.get( + Uri.parse(apiUrl), + headers: {"Referer": "https://franime.fr/"}, + )).body; List a = []; print(playerName); if (playerName.contains("vido")) { - videos.add(video - ..url = playerUrl - ..originalUrl = playerUrl - ..quality = "FRAnime (Vido)"); + videos.add( + video + ..url = playerUrl + ..originalUrl = playerUrl + ..quality = "FRAnime (Vido)", + ); } else if (playerName.contains("sendvid")) { a = await sendVidExtractorr(playerUrl, ""); } else if (playerName.contains("sibnet")) { @@ -165,7 +171,7 @@ class FrAnime extends MProvider { MPages animeResList(String res) { final statusList = [ - {"EN COURS": 0, "TERMINÉ": 1} + {"EN COURS": 0, "TERMINÉ": 1}, ]; List animeList = []; @@ -233,7 +239,7 @@ class FrAnime extends MProvider { MPages animeSeachFetch(String res, String query) { final statusList = [ - {"EN COURS": 0, "TERMINÉ": 1} + {"EN COURS": 0, "TERMINÉ": 1}, ]; List animeList = []; final jsonResList = json.decode(res); @@ -241,20 +247,23 @@ class FrAnime extends MProvider { MManga anime = MManga(); final titleO = getMapValue(json.encode(animeJson), "titleO"); - final titleAlt = - getMapValue(json.encode(animeJson), "titles", encode: true); - final containsEn = getMapValue(titleAlt, "en") - .toString() - .toLowerCase() - .contains(query.toLowerCase()); - final containsEnJp = getMapValue(titleAlt, "en_jp") - .toString() - .toLowerCase() - .contains(query.toLowerCase()); - final containsJaJp = getMapValue(titleAlt, "ja_jp") - .toString() - .toLowerCase() - .contains(query.toLowerCase()); + final titleAlt = getMapValue( + json.encode(animeJson), + "titles", + encode: true, + ); + final containsEn = getMapValue( + titleAlt, + "en", + ).toString().toLowerCase().contains(query.toLowerCase()); + final containsEnJp = getMapValue( + titleAlt, + "en_jp", + ).toString().toLowerCase().contains(query.toLowerCase()); + final containsJaJp = getMapValue( + titleAlt, + "ja_jp", + ).toString().toLowerCase().contains(query.toLowerCase()); final containsTitleO = titleO.toLowerCase().contains(query.toLowerCase()); if (containsEn || containsEnJp || containsJaJp || containsTitleO) { @@ -319,16 +328,19 @@ class FrAnime extends MProvider { } Future dataBase() async { - return (await client.get(Uri.parse("https://api.franime.fr/api/animes/"), - headers: {"Referer": "https://franime.fr/"})) - .body; + return (await client.get( + Uri.parse("https://api.franime.fr/api/animes/"), + headers: {"Referer": "https://franime.fr/"}, + )).body; } String databaseAnimeByTitleO(String res, String titleO) { final datas = json.decode(res) as List>; for (var data in datas) { - String title = - (data["titleO"] as String).replaceAll(RegExp("[^A-Za-z0-9 ]"), ""); + String title = (data["titleO"] as String).replaceAll( + RegExp("[^A-Za-z0-9 ]"), + "", + ); if (title.replaceAll(" ", "-").toLowerCase() == "${titleO}") { return json.encode(data); } @@ -351,8 +363,10 @@ class FrAnime extends MProvider { if (masterUrl.contains(".m3u8")) { final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; diff --git a/dart/anime/src/fr/franime/source.dart b/dart/anime/src/fr/franime/source.dart index 22b5a5b8..d74d1291 100644 --- a/dart/anime/src/fr/franime/source.dart +++ b/dart/anime/src/fr/franime/source.dart @@ -5,14 +5,15 @@ const _franimeVersion = "0.0.75"; const _franimeSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/franime/franime.dart"; Source _franimeSource = Source( - name: "FrAnime", - baseUrl: "https://franime.fr", - apiUrl: "https://api.franime.fr", - lang: "fr", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/franime/icon.png", - sourceCodeUrl: _franimeSourceCodeUrl, - version: _franimeVersion, - itemType: ItemType.anime, - isFullData: true); + name: "FrAnime", + baseUrl: "https://franime.fr", + apiUrl: "https://api.franime.fr", + lang: "fr", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/franime/icon.png", + sourceCodeUrl: _franimeSourceCodeUrl, + version: _franimeVersion, + itemType: ItemType.anime, + isFullData: true, +); diff --git a/dart/anime/src/fr/otakufr/otakufr.dart b/dart/anime/src/fr/otakufr/otakufr.dart index b46fd681..ba896271 100644 --- a/dart/anime/src/fr/otakufr/otakufr.dart +++ b/dart/anime/src/fr/otakufr/otakufr.dart @@ -16,12 +16,18 @@ class OtakuFr extends MProvider { final res = (await client.get(Uri.parse("$baseUrl/en-cours/page/$page"))).body; List animeList = []; - final urls = - xpath(res, '//*[@class="list"]/article/div/div/figure/a/@href'); - final names = - xpath(res, '//*[@class="list"]/article/div/div/figure/a/img/@title'); - final images = - xpath(res, '//*[@class="list"]/article/div/div/figure/a/img/@src'); + final urls = xpath( + res, + '//*[@class="list"]/article/div/div/figure/a/@href', + ); + final names = xpath( + res, + '//*[@class="list"]/article/div/div/figure/a/img/@title', + ); + final images = xpath( + res, + '//*[@class="list"]/article/div/div/figure/a/img/@src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); @@ -43,22 +49,25 @@ class OtakuFr extends MProvider { final namess = xpath(res, '//*[@class="episode"]/div/a/text()'); List names = []; for (var name in namess) { - names.add(regExp( + names.add( + regExp( name, r'(?<=\bS\d\s*|)\d{2}\s*(?=\b(Vostfr|vostfr|VF|Vf|vf|\(VF\)|\(vf\)|\(Vf\)|\(Vostfr\)\b))?', '', 0, - 0) - .replaceAll(' vostfr', '') - .replaceAll(' Vostfr', '') - .replaceAll(' VF', '') - .replaceAll(' Vf', '') - .replaceAll(' vf', '') - .replaceAll(' (VF)', '') - .replaceAll(' (vf)', '') - .replaceAll(' (vf)', '') - .replaceAll(' (Vf)', '') - .replaceAll(' (Vostfr)', '')); + 0, + ) + .replaceAll(' vostfr', '') + .replaceAll(' Vostfr', '') + .replaceAll(' VF', '') + .replaceAll(' Vf', '') + .replaceAll(' vf', '') + .replaceAll(' (VF)', '') + .replaceAll(' (vf)', '') + .replaceAll(' (vf)', '') + .replaceAll(' (Vf)', '') + .replaceAll(' (Vostfr)', ''), + ); } final images = xpath(res, '//*[@class="episode"]/div/figure/a/img/@src'); @@ -98,12 +107,18 @@ class OtakuFr extends MProvider { final res = (await client.get(Uri.parse(url))).body; List animeList = []; - final urls = - xpath(res, '//*[@class="list"]/article/div/div/figure/a/@href'); - final names = - xpath(res, '//*[@class="list"]/article/div/div/figure/a/img/@title'); - final images = - xpath(res, '//*[@class="list"]/article/div/div/figure/a/img/@src'); + final urls = xpath( + res, + '//*[@class="list"]/article/div/div/figure/a/@href', + ); + final names = xpath( + res, + '//*[@class="list"]/article/div/div/figure/a/img/@title', + ); + final images = xpath( + res, + '//*[@class="list"]/article/div/div/figure/a/img/@src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); @@ -119,35 +134,48 @@ class OtakuFr extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"En cours": 0, "Terminé": 1} + {"En cours": 0, "Terminé": 1}, ]; String res = - (await client.get(Uri.parse("$baseUrl${getUrlWithoutDomain(url)}"))) - .body; + (await client.get( + Uri.parse("$baseUrl${getUrlWithoutDomain(url)}"), + )).body; MManga anime = MManga(); - final originalUrl = xpath(res, - '//*[@class="breadcrumb"]/li[@class="breadcrumb-item"][2]/a/@href'); + final originalUrl = xpath( + res, + '//*[@class="breadcrumb"]/li[@class="breadcrumb-item"][2]/a/@href', + ); if (originalUrl.isNotEmpty) { res = (await client.get(Uri.parse(originalUrl.first))).body; } - final description = - xpath(res, '//*[@class="episode fz-sm synop"]/p/text()'); + final description = xpath( + res, + '//*[@class="episode fz-sm synop"]/p/text()', + ); if (description.isNotEmpty) { anime.description = description.first.replaceAll("Synopsis:", ""); } - final status = xpath(res, - '//*[@class="list-unstyled"]/li[contains(text(),"Statut")]/text()'); + final status = xpath( + res, + '//*[@class="list-unstyled"]/li[contains(text(),"Statut")]/text()', + ); if (status.isNotEmpty) { - anime.status = - parseStatus(status.first.replaceAll("Statut: ", ""), statusList); + anime.status = parseStatus( + status.first.replaceAll("Statut: ", ""), + statusList, + ); } - anime.genre = xpath(res, - '//*[@class="list-unstyled"]/li[contains(text(),"Genre")]/ul/li/a/text()'); + anime.genre = xpath( + res, + '//*[@class="list-unstyled"]/li[contains(text(),"Genre")]/ul/li/a/text()', + ); final epUrls = xpath(res, '//*[@class="list-episodes list-group"]/a/@href'); - final dates = - xpath(res, '//*[@class="list-episodes list-group"]/a/span/text()'); + final dates = xpath( + res, + '//*[@class="list-episodes list-group"]/a/span/text()', + ); final names = xpath(res, '//*[@class="list-episodes list-group"]/a/text()'); List episodes = []; @@ -155,7 +183,8 @@ class OtakuFr extends MProvider { final date = dates[i]; final name = names[i]; episodes.add( - "Episode ${regExp(name.replaceAll(date, ""), r".* (\d*) [VvfF]{1,1}", '', 1, 1)}"); + "Episode ${regExp(name.replaceAll(date, ""), r".* (\d*) [VvfF]{1,1}", '', 1, 1)}", + ); } final dateUploads = parseDates(dates, "dd MMMM yyyy", "fr"); @@ -175,19 +204,23 @@ class OtakuFr extends MProvider { @override Future> getVideoList(String url) async { final res = - (await client.get(Uri.parse("$baseUrl${getUrlWithoutDomain(url)}"))) - .body; + (await client.get( + Uri.parse("$baseUrl${getUrlWithoutDomain(url)}"), + )).body; final servers = parseHtml(res).select("div.tab-content iframe[src]"); List videos = []; final hosterSelection = preferenceHosterSelection(source.id); for (var url in servers) { final urll = url.getSrc != "about:blank" ? url.getSrc : url.getDataSrc; - final resServer = (await client.get(Uri.parse(fixUrl(urll)), - headers: {"X-Requested-With": "XMLHttpRequest"})) - .body; - final serverUrl = - fixUrl(regExp(resServer, r"data-url='([^']+)'", '', 1, 1)); + final resServer = + (await client.get( + Uri.parse(fixUrl(urll)), + headers: {"X-Requested-With": "XMLHttpRequest"}, + )).body; + final serverUrl = fixUrl( + regExp(resServer, r"data-url='([^']+)'", '', 1, 1), + ); List a = []; if (serverUrl.contains("https://streamwish") && hosterSelection.contains("Streamwish")) { @@ -278,13 +311,13 @@ class OtakuFr extends MProvider { SelectFilterOption("Suspense", "/genre/suspense/"), SelectFilterOption("Thriller", "/genre/thriller/"), SelectFilterOption("Tranche de vie", "/genre/tranche-de-vie/"), - SelectFilterOption("Vampire", "/genre/vampire/") + SelectFilterOption("Vampire", "/genre/vampire/"), ]), SelectFilter("SubPageFilter", "Sous page", 0, [ SelectFilterOption("", ""), SelectFilterOption("Terminé", "/termine/"), SelectFilterOption("Film", "/film/"), - ]) + ]), ]; } @@ -292,54 +325,57 @@ class OtakuFr extends MProvider { List getSourcePreferences() { return [ EditTextPreference( - key: "overrideBaseUrl", - title: "Changer l'url de base", - summary: "", - value: "https://otakufr.cc", - dialogTitle: "Changer l'url de base", - dialogMessage: "", - text: "https://otakufr.cc"), + key: "overrideBaseUrl", + title: "Changer l'url de base", + summary: "", + value: "https://otakufr.cc", + dialogTitle: "Changer l'url de base", + dialogMessage: "", + text: "https://otakufr.cc", + ), ListPreference( - key: "preferred_quality", - title: "Qualité préférée", - summary: "", - valueIndex: 1, - entries: ["1080p", "720p", "480p", "360p"], - entryValues: ["1080", "720", "480", "360"]), + key: "preferred_quality", + title: "Qualité préférée", + summary: "", + valueIndex: 1, + entries: ["1080p", "720p", "480p", "360p"], + entryValues: ["1080", "720", "480", "360"], + ), MultiSelectListPreference( - key: "hoster_selection_", - title: "Enable/Disable Hosts", - summary: "", - entries: [ - "Streamwish", - "Doodstream", - "Sendvid", - "VidBom", - "Okru", - "Voe", - "Sibnet", - "Upstream" - ], - entryValues: [ - "Streamwish", - "Doodstream", - "Sendvid", - "VidBom", - "Okru", - "Voe", - "Sibnet", - "Upstream" - ], - values: [ - "Streamwish", - "Doodstream", - "Sendvid", - "Vidbm", - "Okru", - "Voe", - "Sibnet", - "Upstream" - ]), + key: "hoster_selection_", + title: "Enable/Disable Hosts", + summary: "", + entries: [ + "Streamwish", + "Doodstream", + "Sendvid", + "VidBom", + "Okru", + "Voe", + "Sibnet", + "Upstream", + ], + entryValues: [ + "Streamwish", + "Doodstream", + "Sendvid", + "VidBom", + "Okru", + "Voe", + "Sibnet", + "Upstream", + ], + values: [ + "Streamwish", + "Doodstream", + "Sendvid", + "Vidbm", + "Okru", + "Voe", + "Sibnet", + "Upstream", + ], + ), ]; } @@ -389,8 +425,10 @@ class OtakuFr extends MProvider { if (masterUrl.contains(".m3u8")) { final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -433,12 +471,16 @@ class OtakuFr extends MProvider { if (js.isEmpty) { return []; } - final masterUrl = - substringBefore(substringAfter(unpackJs(js.first), "{file:\""), "\"}"); + final masterUrl = substringBefore( + substringAfter(unpackJs(js.first), "{file:\""), + "\"}", + ); final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; List videos = []; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; diff --git a/dart/anime/src/fr/otakufr/source.dart b/dart/anime/src/fr/otakufr/source.dart index 8670a8f9..9b3bcf55 100644 --- a/dart/anime/src/fr/otakufr/source.dart +++ b/dart/anime/src/fr/otakufr/source.dart @@ -5,13 +5,14 @@ const otakufrVersion = "0.0.95"; const otakufrCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/otakufr/otakufr.dart"; Source _otakufr = Source( - name: "OtakuFr", - baseUrl: "https://otakufr.cc", - lang: "fr", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/otakufr/icon.png", - sourceCodeUrl: otakufrCodeUrl, - version: otakufrVersion, - itemType: ItemType.anime, - isFullData: false); + name: "OtakuFr", + baseUrl: "https://otakufr.cc", + lang: "fr", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/otakufr/icon.png", + sourceCodeUrl: otakufrCodeUrl, + version: otakufrVersion, + itemType: ItemType.anime, + isFullData: false, +); diff --git a/dart/anime/src/hi/yomovies/source.dart b/dart/anime/src/hi/yomovies/source.dart index 39d2e5d1..b39d584a 100644 --- a/dart/anime/src/hi/yomovies/source.dart +++ b/dart/anime/src/hi/yomovies/source.dart @@ -5,12 +5,13 @@ const _yomoviesVersion = "0.0.25"; const _yomoviesSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/hi/yomovies/yomovies.dart"; Source _yomoviesSource = Source( - name: "YoMovies", - baseUrl: "https://yomovies.boo", - lang: "hi", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/hi/yomovies/icon.png", - sourceCodeUrl: _yomoviesSourceCodeUrl, - version: _yomoviesVersion, - itemType: ItemType.anime); + name: "YoMovies", + baseUrl: "https://yomovies.boo", + lang: "hi", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/hi/yomovies/icon.png", + sourceCodeUrl: _yomoviesSourceCodeUrl, + version: _yomoviesVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/hi/yomovies/yomovies.dart b/dart/anime/src/hi/yomovies/yomovies.dart index 953d5c7f..f454043f 100644 --- a/dart/anime/src/hi/yomovies/yomovies.dart +++ b/dart/anime/src/hi/yomovies/yomovies.dart @@ -22,9 +22,9 @@ class YoMovies extends MProvider { (await client.get(Uri.parse("$baseUrl/most-favorites/$pageNu"))).body; final document = parseHtml(res); return animeFromElement( - document.select("div.movies-list > div.ml-item"), - document.selectFirst("ul.pagination > li.active + li")?.getHref != - null); + document.select("div.movies-list > div.ml-item"), + document.selectFirst("ul.pagination > li.active + li")?.getHref != null, + ); } @override @@ -53,9 +53,9 @@ class YoMovies extends MProvider { final res = (await client.get(Uri.parse(url))).body; final document = parseHtml(res); return animeFromElement( - document.select("div.movies-list > div.ml-item"), - document.selectFirst("ul.pagination > li.active + li")?.getHref != - null); + document.select("div.movies-list > div.ml-item"), + document.selectFirst("ul.pagination > li.active + li")?.getHref != null, + ); } @override @@ -68,8 +68,10 @@ class YoMovies extends MProvider { var infoElement = document.selectFirst("div.mvi-content"); anime.description = infoElement.selectFirst("p.f-desc")?.text ?? ""; - anime.genre = xpath(res, - '//div[@class="mvici-left" and contains(text(),"Genre:")]/p/a/text()'); + anime.genre = xpath( + res, + '//div[@class="mvici-left" and contains(text(),"Genre:")]/p/a/text()', + ); List episodeList = []; final seasonListElements = document.select("div#seasons > div.tvseason"); @@ -118,20 +120,22 @@ class YoMovies extends MProvider { List getSourcePreferences() { return [ EditTextPreference( - key: "overrideBaseUrl", - title: "Override BaseUrl", - summary: "", - value: "https://yomovies.boo", - dialogTitle: "Override BaseUrl", - dialogMessage: "", - text: "https://yomovies.boo"), + key: "overrideBaseUrl", + title: "Override BaseUrl", + summary: "", + value: "https://yomovies.boo", + dialogTitle: "Override BaseUrl", + dialogMessage: "", + text: "https://yomovies.boo", + ), ListPreference( - key: "preferred_quality", - title: "Preferred quality", - summary: "", - valueIndex: 0, - entries: ["1080p", "720p", "480p", "360p"], - entryValues: ["1080", "720", "480", "360"]) + key: "preferred_quality", + title: "Preferred quality", + summary: "", + valueIndex: 0, + entries: ["1080p", "720p", "480p", "360p"], + entryValues: ["1080", "720", "480", "360"], + ), ]; } @@ -142,11 +146,15 @@ class YoMovies extends MProvider { (await client.get(Uri.parse(url), headers: {"Referer": url})).body; final script = xpath(res, '//script[contains(text(),"sources:")]/text()'); if (script.isEmpty) return []; - final masterUrl = - substringBefore(substringAfter(script.first, "file:\""), '"'); + final masterUrl = substringBefore( + substringAfter(script.first, "file:\""), + '"', + ); final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -169,7 +177,7 @@ class YoMovies extends MProvider { anime.name = element.selectFirst("div.qtip-title").text; anime.imageUrl = element.selectFirst("img[data-original]")?.attr("data-original") ?? - ""; + ""; anime.link = element.selectFirst("a[href]").getHref; animeList.add(anime); } @@ -207,38 +215,57 @@ class YoMovies extends MProvider { List getFilterList() { return [ HeaderFilter( - "Note: Only one selection at a time works, and it ignores text search"), + "Note: Only one selection at a time works, and it ignores text search", + ), SeparatorFilter(), SelectFilter("BollywoodFilter", "Bollywood", 0, [ SelectFilterOption("", ""), SelectFilterOption("Dual Audio", "/genre/dual-audio"), - SelectFilterOption("Hollywood Dubbed", - "/account/?ptype=post&tax_category%5B%5D=dual-audio&wpas=1"), - SelectFilterOption("South Dubbed", - "/account/?ptype=post&tax_category%5B%5D=dual-audio&tax_category%5B%5D=south-special&wpas=1"), + SelectFilterOption( + "Hollywood Dubbed", + "/account/?ptype=post&tax_category%5B%5D=dual-audio&wpas=1", + ), + SelectFilterOption( + "South Dubbed", + "/account/?ptype=post&tax_category%5B%5D=dual-audio&tax_category%5B%5D=south-special&wpas=1", + ), ]), SelectFilter("HollywoodFilter", "Hollywood", 0, [ SelectFilterOption("", ""), @@ -319,13 +346,17 @@ class YoMovies extends MProvider { SelectFilterOption("Hootzy", "/director/hootzy-channel"), SelectFilterOption("Balloons", "/director/balloons-originals"), SelectFilterOption( - "Big Movie Zoo", "/director/big-movie-zoo-originals"), + "Big Movie Zoo", + "/director/big-movie-zoo-originals", + ), SelectFilterOption("Bambooflix", "/director/bambooflix"), SelectFilterOption("Piliflix", "/director/piliflix-originals"), SelectFilterOption("11upmovies", "/director/11upmovies-originals"), SelectFilterOption("Eightshots", "/director/eightshots-originals"), SelectFilterOption( - "I-Entertainment", "/director/i-entertainment-exclusive"), + "I-Entertainment", + "/director/i-entertainment-exclusive", + ), SelectFilterOption("Hotprime", "/director/hotprime-originals"), SelectFilterOption("BananaPrime", "/director/banana-prime"), SelectFilterOption("HotHitFilms", "/director/hothitfilms"), diff --git a/dart/anime/src/id/nimegami/nimegami.dart b/dart/anime/src/id/nimegami/nimegami.dart index c020f786..fe4867db 100644 --- a/dart/anime/src/id/nimegami/nimegami.dart +++ b/dart/anime/src/id/nimegami/nimegami.dart @@ -15,8 +15,10 @@ class NimeGami extends MProvider { List animeList = []; final urls = xpath(res, '//div[@class="wrapper-2-a"]/article/a/@href'); final names = xpath(res, '//div[@class="wrapper-2-a"]/article/a/@title'); - final images = - xpath(res, '//div[@class="wrapper-2-a"]/article/a/div/img/@src'); + final images = xpath( + res, + '//div[@class="wrapper-2-a"]/article/a/div/img/@src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); @@ -34,10 +36,14 @@ class NimeGami extends MProvider { (await client.get(Uri.parse("${source.baseUrl}/page/$page"))).body; List animeList = []; final urls = xpath(res, '//div[@class="post-article"]/article/div/a/@href'); - final names = - xpath(res, '//div[@class="post-article"]/article/div/a/@title'); - final images = - xpath(res, '//div[@class="post-article"]/article/div/a/img/@src'); + final names = xpath( + res, + '//div[@class="post-article"]/article/div/a/@title', + ); + final images = xpath( + res, + '//div[@class="post-article"]/article/div/a/img/@src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); @@ -51,14 +57,17 @@ class NimeGami extends MProvider { @override Future search(String query, int page, FilterList filterList) async { - final res = (await client.get( - Uri.parse("${source.baseUrl}/page/$page/?s=$query&post_type=post"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/page/$page/?s=$query&post_type=post"), + )).body; List animeList = []; final urls = xpath(res, '//div[@class="archive-a"]/article/div/a/@href'); final names = xpath(res, '//div[@class="archive-a"]/article/h2/a/@title'); - final images = - xpath(res, '//div[@class="archive-a"]/article/div/a/img/@src'); + final images = xpath( + res, + '//div[@class="archive-a"]/article/div/a/img/@src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); @@ -84,21 +93,25 @@ class NimeGami extends MProvider { anime.author = author.first; } anime.genre = xpath(res, '//tr/td[@class="info_a"]/a/text()'); - final epUrls = xpath(res, '//div[@class="list_eps_stream"]/li/@data') - .reversed - .toList(); + final epUrls = + xpath( + res, + '//div[@class="list_eps_stream"]/li/@data', + ).reversed.toList(); final epNums = xpath(res, '//div[@class="list_eps_stream"]/li/@id').reversed.toList(); - final names = xpath(res, '//div[@class="list_eps_stream"]/li/text()') - .reversed - .toList(); + final names = + xpath( + res, + '//div[@class="list_eps_stream"]/li/text()', + ).reversed.toList(); List? episodesList = []; for (var i = 0; i < epUrls.length; i++) { MChapter episode = MChapter(); episode.name = names[i]; episode.url = json.encode({ "episodeIndex": int.parse(substringAfterLast(epNums[i], '_')), - 'urls': json.decode(utf8.decode(base64Url.decode(epUrls[i]))) + 'urls': json.decode(utf8.decode(base64Url.decode(epUrls[i]))), }); episodesList.add(episode); } @@ -126,7 +139,8 @@ class NimeGami extends MProvider { List videos = []; if (url.contains("video.nimegami.id")) { final realUrl = utf8.decode( - base64Url.decode(substringBefore(substringAfter(url, "url="), "&"))); + base64Url.decode(substringBefore(substringAfter(url, "url="), "&")), + ); final a = await extractHXFileVideos(realUrl, quality); videos.addAll(a); } else if (url.contains("berkasdrive") || url.contains("drive.nimegami")) { @@ -148,15 +162,19 @@ class NimeGami extends MProvider { url = url.replaceAll(".co/", ".co/embed-") + ".html"; } final res = (await client.get(Uri.parse(url))).body; - final script = xpath(res, - '//script[contains(text(), "eval") and contains(text(), "p,a,c,k,e,d")]/text()'); + final script = xpath( + res, + '//script[contains(text(), "eval") and contains(text(), "p,a,c,k,e,d")]/text()', + ); if (script.isNotEmpty) { final videoUrl = substringBefore( - substringAfter( - substringAfter(unpackJs(script.first), "sources:[", ""), - "file\":\"", - ""), - '"'); + substringAfter( + substringAfter(unpackJs(script.first), "sources:[", ""), + "file\":\"", + "", + ), + '"', + ); if (videoUrl.isNotEmpty) { return [toVideo(videoUrl, "HXFile - $quality")]; } diff --git a/dart/anime/src/id/nimegami/source.dart b/dart/anime/src/id/nimegami/source.dart index 1c009109..7fa3e71d 100644 --- a/dart/anime/src/id/nimegami/source.dart +++ b/dart/anime/src/id/nimegami/source.dart @@ -5,12 +5,13 @@ const _nimegamiVersion = "0.0.55"; const _nimegamiCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/nimegami/nimegami.dart"; Source _nimegami = Source( - name: "NimeGami", - baseUrl: "https://nimegami.id", - lang: "id", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/nimegami/icon.png", - sourceCodeUrl: _nimegamiCodeUrl, - version: _nimegamiVersion, - itemType: ItemType.anime); + name: "NimeGami", + baseUrl: "https://nimegami.id", + lang: "id", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/nimegami/icon.png", + sourceCodeUrl: _nimegamiCodeUrl, + version: _nimegamiVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/id/oploverz/oploverz.dart b/dart/anime/src/id/oploverz/oploverz.dart index cbcf2500..06cc50b7 100644 --- a/dart/anime/src/id/oploverz/oploverz.dart +++ b/dart/anime/src/id/oploverz/oploverz.dart @@ -10,32 +10,35 @@ class OploVerz extends MProvider { @override Future getPopular(int page) async { - final res = (await client.get(Uri.parse( - "${source.baseUrl}/anime-list/page/$page/?order=popular"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/anime-list/page/$page/?order=popular"), + )).body; return parseAnimeList(res); } @override Future getLatestUpdates(int page) async { - final res = (await client.get( - Uri.parse("${source.baseUrl}/anime-list/page/$page/?order=latest"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/anime-list/page/$page/?order=latest"), + )).body; return parseAnimeList(res); } @override Future search(String query, int page, FilterList filterList) async { - final res = (await client.get( - Uri.parse("${source.baseUrl}/anime-list/page/$page/?title=$query"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/anime-list/page/$page/?title=$query"), + )).body; return parseAnimeList(res); } @override Future getDetail(String url) async { final statusList = [ - {"ongoing": 0, "completed": 1} + {"ongoing": 0, "completed": 1}, ]; final res = (await client.get(Uri.parse(url))).body; @@ -47,12 +50,18 @@ class OploVerz extends MProvider { anime.description = xpath(res, '//*[@class="desc"]/div/text()').first; anime.genre = xpath(res, '//*[@class="genre-info"]/a/text()'); - final epUrls = - xpath(res, '//div[@class="epsleft")]/span[@class="lchx"]/a/@href'); - final names = - xpath(res, '//div[@class="epsleft")]/span[@class="lchx"]/a/text()'); - final dates = - xpath(res, '//div[@class="epsleft")]/span[@class="date"]/text()'); + final epUrls = xpath( + res, + '//div[@class="epsleft")]/span[@class="lchx"]/a/@href', + ); + final names = xpath( + res, + '//div[@class="epsleft")]/span[@class="lchx"]/a/text()', + ); + final dates = xpath( + res, + '//div[@class="epsleft")]/span[@class="date"]/text()', + ); final dateUploads = parseDates(dates, "dd/MM/yyyy", "id"); List? episodesList = []; for (var i = 0; i < epUrls.length; i++) { @@ -70,28 +79,33 @@ class OploVerz extends MProvider { @override Future> getVideoList(String url) async { final res = (await client.get(Uri.parse(url))).body; - final dataPost = xpath(res, - '//*[@id="server"]/ul/li/div[contains(@id,"player-option")]/@data-post') - .first; - final dataNume = xpath(res, - '//*[@id="server"]/ul/li/div[contains(@id,"player-option")]/@data-nume') - .first; - final dataType = xpath(res, - '//*[@id="server"]/ul/li/div[contains(@id,"player-option")]/@data-type') - .first; + final dataPost = + xpath( + res, + '//*[@id="server"]/ul/li/div[contains(@id,"player-option")]/@data-post', + ).first; + final dataNume = + xpath( + res, + '//*[@id="server"]/ul/li/div[contains(@id,"player-option")]/@data-nume', + ).first; + final dataType = + xpath( + res, + '//*[@id="server"]/ul/li/div[contains(@id,"player-option")]/@data-type', + ).first; - final ress = (await client.post( - Uri.parse("${source.baseUrl}/wp-admin/admin-ajax.php"), - headers: { - "_": "_" - }, - body: { - "action": "player_ajax", - "post": dataPost, - "nume": dataNume, - "type": dataType - })) - .body; + final ress = + (await client.post( + Uri.parse("${source.baseUrl}/wp-admin/admin-ajax.php"), + headers: {"_": "_"}, + body: { + "action": "player_ajax", + "post": dataPost, + "nume": dataNume, + "type": dataType, + }, + )).body; final playerLink = xpath(ress, '//iframe[@class="playeriframe"]/@src').first; @@ -127,8 +141,10 @@ class OploVerz extends MProvider { List animeList = []; final urls = xpath(res, '//div[@class="relat"]/article/div/div/a/@href'); final names = xpath(res, '//div[@class="relat"]/article/div/div/a/@title'); - final images = - xpath(res, '//div[@class="relat"]/article/div/div/a/div/img/@src'); + final images = xpath( + res, + '//div[@class="relat"]/article/div/div/a/div/img/@src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); @@ -138,8 +154,10 @@ class OploVerz extends MProvider { animeList.add(anime); } final pages = xpath(res, '//div[@class="pagination"]/a/@href'); - final pageNumberCurrent = xpath(res, - '//div[@class="pagination"]/span[@class="page-numbers current"]/text()'); + final pageNumberCurrent = xpath( + res, + '//div[@class="pagination"]/span[@class="page-numbers current"]/text()', + ); bool hasNextPage = true; if (pageNumberCurrent.isNotEmpty && pages.isNotEmpty) { diff --git a/dart/anime/src/id/oploverz/source.dart b/dart/anime/src/id/oploverz/source.dart index d1ec05ba..fe5e803f 100644 --- a/dart/anime/src/id/oploverz/source.dart +++ b/dart/anime/src/id/oploverz/source.dart @@ -5,12 +5,13 @@ const _oploverzVersion = "0.0.5"; const _oploverzCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/oploverz/oploverz.dart"; Source _oploverz = Source( - name: "Oploverz", - baseUrl: "https://oploverz.gold", - lang: "id", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/oploverz/icon.png", - sourceCodeUrl: _oploverzCodeUrl, - version: _oploverzVersion, - itemType: ItemType.anime); + name: "Oploverz", + baseUrl: "https://oploverz.gold", + lang: "id", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/oploverz/icon.png", + sourceCodeUrl: _oploverzCodeUrl, + version: _oploverzVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/id/otakudesu/otakudesu.dart b/dart/anime/src/id/otakudesu/otakudesu.dart index aaadc436..3c273ef3 100644 --- a/dart/anime/src/id/otakudesu/otakudesu.dart +++ b/dart/anime/src/id/otakudesu/otakudesu.dart @@ -14,8 +14,9 @@ class OtakuDesu extends MProvider { @override Future getPopular(int page) async { final res = - (await client.get(Uri.parse("$baseUrl/complete-anime/page/$page"))) - .body; + (await client.get( + Uri.parse("$baseUrl/complete-anime/page/$page"), + )).body; return parseAnimeList(res); } @@ -29,8 +30,9 @@ class OtakuDesu extends MProvider { @override Future search(String query, int page, FilterList filterList) async { final res = - (await client.get(Uri.parse("$baseUrl/?s=$query&post_type=anime"))) - .body; + (await client.get( + Uri.parse("$baseUrl/?s=$query&post_type=anime"), + )).body; List animeList = []; final images = xpath(res, '//ul[@class="chivsrc"]/li/img/@src'); final names = xpath(res, '//ul[@class="chivsrc"]/li/h2/a/text()'); @@ -49,12 +51,14 @@ class OtakuDesu extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"Ongoing": 0, "Completed": 1} + {"Ongoing": 0, "Completed": 1}, ]; final res = (await client.get(Uri.parse(url))).body; MManga anime = MManga(); final status = xpath( - res, '//*[@class="infozingle"]/p[contains(text(), "Status")]/text()'); + res, + '//*[@class="infozingle"]/p[contains(text(), "Status")]/text()', + ); if (status.isNotEmpty) { anime.status = parseStatus(status.first.split(':').last, statusList); } @@ -64,7 +68,9 @@ class OtakuDesu extends MProvider { } final genre = xpath( - res, '//*[@class="infozingle"]/p[contains(text(), "Genre")]/text()'); + res, + '//*[@class="infozingle"]/p[contains(text(), "Genre")]/text()', + ); if (genre.isNotEmpty) { anime.genre = genre.first.split(':').last.split(','); } @@ -73,7 +79,9 @@ class OtakuDesu extends MProvider { final names = xpath(res, '//div[@class="episodelist"]/ul/li/span/a/text()'); final dates = xpath( - res, '//div[@class="episodelist"]/ul/li/span[@class="zeebr"]/text()'); + res, + '//div[@class="episodelist"]/ul/li/span[@class="zeebr"]/text()', + ); final dateUploads = parseDates(dates, "d MMMM,yyyy", "id"); List? episodesList = []; for (var i = 1; i < epUrls.length; i++) { @@ -93,18 +101,23 @@ class OtakuDesu extends MProvider { final res = (await client.get(Uri.parse(url))).body; final script = xpath(res, '//script[contains(text(), "{action:")]/text()').first; - final nonceAction = - substringBefore(substringAfter(script, "{action:\""), '"'); + final nonceAction = substringBefore( + substringAfter(script, "{action:\""), + '"', + ); final action = substringBefore(substringAfter(script, "action:\""), '"'); - final resNonceAction = (await client.post( - Uri.parse("$baseUrl/wp-admin/admin-ajax.php"), - headers: {"_": "_"}, - body: {"action": nonceAction})) - .body; + final resNonceAction = + (await client.post( + Uri.parse("$baseUrl/wp-admin/admin-ajax.php"), + headers: {"_": "_"}, + body: {"action": nonceAction}, + )).body; final nonce = substringBefore(substringAfter(resNonceAction, ":\""), '"'); - final mirrorstream = - xpath(res, '//*[@class="mirrorstream"]/ul/li/a/@data-content'); + final mirrorstream = xpath( + res, + '//*[@class="mirrorstream"]/ul/li/a/@data-content', + ); for (var stream in mirrorstream) { List a = []; final decodedData = json.decode(utf8.decode(base64Url.decode(stream))); @@ -112,17 +125,12 @@ class OtakuDesu extends MProvider { final id = decodedData["id"]; final i = decodedData["i"]; - final res = (await client - .post(Uri.parse("$baseUrl/wp-admin/admin-ajax.php"), headers: { - "_": "_" - }, body: { - "i": i, - "id": id, - "q": q, - "nonce": nonce, - "action": action - })) - .body; + final res = + (await client.post( + Uri.parse("$baseUrl/wp-admin/admin-ajax.php"), + headers: {"_": "_"}, + body: {"i": i, "id": id, "q": q, "nonce": nonce, "action": action}, + )).body; final resJson = json.decode(res); final html = utf8.decode(base64Url.decode(resJson["data"])); String url = xpath(html, '//iframe/@src').first; @@ -152,8 +160,10 @@ class OtakuDesu extends MProvider { final res = (await client.get(Uri.parse(url))).body; final script = xpath(res, '//script[contains(text(), "player.src")]/text()').first; - final videoUrl = - substringBefore(substringAfter(script, "src: \""), '"'); + final videoUrl = substringBefore( + substringAfter(script, "src: \""), + '"', + ); MVideo video = MVideo(); video ..url = videoUrl @@ -196,12 +206,18 @@ class OtakuDesu extends MProvider { MPages parseAnimeList(String res) { List animeList = []; - final urls = - xpath(res, '//div[@class="detpost"]/div[@class="thumb"]/a/@href'); - final names = xpath(res, - '//div[@class="detpost"]/div[@class="thumb"]/a/div[@class="thumbz"]/h2/text()'); - final images = xpath(res, - '//div[@class="detpost"]/div[@class="thumb"]/a/div[@class="thumbz"]/img/@src'); + final urls = xpath( + res, + '//div[@class="detpost"]/div[@class="thumb"]/a/@href', + ); + final names = xpath( + res, + '//div[@class="detpost"]/div[@class="thumb"]/a/div[@class="thumbz"]/h2/text()', + ); + final images = xpath( + res, + '//div[@class="detpost"]/div[@class="thumb"]/a/div[@class="thumbz"]/img/@src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); @@ -211,27 +227,31 @@ class OtakuDesu extends MProvider { animeList.add(anime); } final pages = xpath( - res, '//div[@class="pagenavix"]/a[@class="next page-numbers"]/@href'); + res, + '//div[@class="pagenavix"]/a[@class="next page-numbers"]/@href', + ); return MPages(animeList, pages.isNotEmpty); } List getSourcePreferences() { return [ EditTextPreference( - key: "overrideBaseUrl", - title: "Override BaseUrl", - summary: "", - value: "https://otakudesu.cloud", - dialogTitle: "Override BaseUrl", - dialogMessage: "", - text: "https://otakudesu.cloud"), + key: "overrideBaseUrl", + title: "Override BaseUrl", + summary: "", + value: "https://otakudesu.cloud", + dialogTitle: "Override BaseUrl", + dialogMessage: "", + text: "https://otakudesu.cloud", + ), ListPreference( - key: "preferred_quality", - title: "Preferred quality", - summary: "", - valueIndex: 1, - entries: ["1080p", "720p", "480p", "360p"], - entryValues: ["1080", "720", "480", "360"]) + key: "preferred_quality", + title: "Preferred quality", + summary: "", + valueIndex: 1, + entries: ["1080p", "720p", "480p", "360p"], + entryValues: ["1080", "720", "480", "360"], + ), ]; } } diff --git a/dart/anime/src/id/otakudesu/source.dart b/dart/anime/src/id/otakudesu/source.dart index 871dbee7..3442b465 100644 --- a/dart/anime/src/id/otakudesu/source.dart +++ b/dart/anime/src/id/otakudesu/source.dart @@ -5,12 +5,13 @@ const _otakudesuVersion = "0.0.56"; const _otakudesuCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/otakudesu/otakudesu.dart"; Source _otakudesu = Source( - name: "OtakuDesu", - baseUrl: "https://otakudesu.cloud", - lang: "id", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/otakudesu/icon.png", - sourceCodeUrl: _otakudesuCodeUrl, - version: _otakudesuVersion, - itemType: ItemType.anime); + name: "OtakuDesu", + baseUrl: "https://otakudesu.cloud", + lang: "id", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/id/otakudesu/icon.png", + sourceCodeUrl: _otakudesuCodeUrl, + version: _otakudesuVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/it/animesaturn/animesaturn.dart b/dart/anime/src/it/animesaturn/animesaturn.dart index ed84b771..3537f170 100644 --- a/dart/anime/src/it/animesaturn/animesaturn.dart +++ b/dart/anime/src/it/animesaturn/animesaturn.dart @@ -10,20 +10,27 @@ class AnimeSaturn extends MProvider { @override Future getPopular(int page) async { - final res = (await client - .get(Uri.parse("${source.baseUrl}/animeincorso?page=$page"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/animeincorso?page=$page"), + )).body; List animeList = []; - final urls = xpath(res, - '//*[@class="sebox"]/div[@class="msebox"]/div[@class="headsebox"]/div[@class="tisebox"]/h2/a/@href'); + final urls = xpath( + res, + '//*[@class="sebox"]/div[@class="msebox"]/div[@class="headsebox"]/div[@class="tisebox"]/h2/a/@href', + ); - final names = xpath(res, - '//*[@class="sebox"]/div[@class="msebox"]/div[@class="headsebox"]/div[@class="tisebox"]/h2/a/text()'); + final names = xpath( + res, + '//*[@class="sebox"]/div[@class="msebox"]/div[@class="headsebox"]/div[@class="tisebox"]/h2/a/text()', + ); - final images = xpath(res, - '//*[@class="sebox"]/div[@class="msebox"]/div[@class="bigsebox"]/div/img[@class="attachment-post-thumbnail size-post-thumbnail wp-post-image"]/@src'); + final images = xpath( + res, + '//*[@class="sebox"]/div[@class="msebox"]/div[@class="bigsebox"]/div/img[@class="attachment-post-thumbnail size-post-thumbnail wp-post-image"]/@src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); @@ -38,8 +45,9 @@ class AnimeSaturn extends MProvider { @override Future getLatestUpdates(int page) async { final res = - (await client.get(Uri.parse("${source.baseUrl}/newest?page=$page"))) - .body; + (await client.get( + Uri.parse("${source.baseUrl}/newest?page=$page"), + )).body; List animeList = []; @@ -47,8 +55,10 @@ class AnimeSaturn extends MProvider { final names = xpath(res, '//*[@class="card mb-4 shadow-sm"]/a/@title'); - final images = xpath(res, - '//*[@class="card mb-4 shadow-sm"]/a/img[@class="new-anime"]/@src'); + final images = xpath( + res, + '//*[@class="card mb-4 shadow-sm"]/a/img[@class="new-anime"]/@src', + ); for (var i = 0; i < names.length; i++) { MManga anime = MManga(); @@ -114,21 +124,29 @@ class AnimeSaturn extends MProvider { List names = []; List images = []; if (query.isNotEmpty) { - urls = xpath(res, - '//*[@class="list-group"]/li[@class="list-group-item bg-dark-as-box-shadow"]/div[@class="item-archivio"]/div[@class="info-archivio"]/h3/a[@class="badge badge-archivio badge-light"]/@href'); + urls = xpath( + res, + '//*[@class="list-group"]/li[@class="list-group-item bg-dark-as-box-shadow"]/div[@class="item-archivio"]/div[@class="info-archivio"]/h3/a[@class="badge badge-archivio badge-light"]/@href', + ); - names = xpath(res, - '//*[@class="list-group"]/li[@class="list-group-item bg-dark-as-box-shadow"]/div[@class="item-archivio"]/div[@class="info-archivio"]/h3/a[@class="badge badge-archivio badge-light"]/text()'); + names = xpath( + res, + '//*[@class="list-group"]/li[@class="list-group-item bg-dark-as-box-shadow"]/div[@class="item-archivio"]/div[@class="info-archivio"]/h3/a[@class="badge badge-archivio badge-light"]/text()', + ); - images = xpath(res, - '//*[@class="list-group"]/li[@class="list-group-item bg-dark-as-box-shadow"]/div[@class="item-archivio"]/a/img/@src'); + images = xpath( + res, + '//*[@class="list-group"]/li[@class="list-group-item bg-dark-as-box-shadow"]/div[@class="item-archivio"]/a/img/@src', + ); } else { urls = xpath(res, '//*[@class="card mb-4 shadow-sm"]/a/@href'); names = xpath(res, '//*[@class="card mb-4 shadow-sm"]/a/text()'); - images = xpath(res, - '//*[@class="card mb-4 shadow-sm"]/a/img[@class="new-anime"]/@src'); + images = xpath( + res, + '//*[@class="card mb-4 shadow-sm"]/a/img[@class="new-anime"]/@src', + ); } for (var i = 0; i < names.length; i++) { @@ -144,20 +162,25 @@ class AnimeSaturn extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"In corso": 0, "Finito": 1} + {"In corso": 0, "Finito": 1}, ]; final res = (await client.get(Uri.parse(url))).body; MManga anime = MManga(); - final detailsList = xpath(res, - '//div[@class="container shadow rounded bg-dark-as-box mb-3 p-3 w-100 text-white"]/text()'); + final detailsList = xpath( + res, + '//div[@class="container shadow rounded bg-dark-as-box mb-3 p-3 w-100 text-white"]/text()', + ); if (detailsList.isNotEmpty) { final details = detailsList.first; anime.status = parseStatus( - details.substring( - details.indexOf("Stato:") + 6, details.indexOf("Data di uscita:")), - statusList); + details.substring( + details.indexOf("Stato:") + 6, + details.indexOf("Data di uscita:"), + ), + statusList, + ); anime.author = details.substring(7, details.indexOf("Stato:")); } @@ -174,14 +197,20 @@ class AnimeSaturn extends MProvider { } } - anime.genre = xpath(res, - '//*[@class="container shadow rounded bg-dark-as-box mb-3 p-3 w-100"]/a/text()'); + anime.genre = xpath( + res, + '//*[@class="container shadow rounded bg-dark-as-box mb-3 p-3 w-100"]/a/text()', + ); - final epUrls = xpath(res, - '//*[@class="btn-group episodes-button episodi-link-button"]/a/@href'); + final epUrls = xpath( + res, + '//*[@class="btn-group episodes-button episodi-link-button"]/a/@href', + ); - final titles = xpath(res, - '//*[@class="btn-group episodes-button episodi-link-button"]/a/text()'); + final titles = xpath( + res, + '//*[@class="btn-group episodes-button episodi-link-button"]/a/text()', + ); List? episodesList = []; for (var i = 0; i < epUrls.length; i++) { @@ -211,8 +240,10 @@ class AnimeSaturn extends MProvider { List videos = []; if (masterUrl.endsWith("playlist.m3u8")) { final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -320,12 +351,13 @@ class AnimeSaturn extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_quality", - title: "Qualità preferita", - summary: "", - valueIndex: 0, - entries: ["1080p", "720p", "480p", "360p", "240p", "144p"], - entryValues: ["1080", "720", "480", "360", "240", "144"]), + key: "preferred_quality", + title: "Qualità preferita", + summary: "", + valueIndex: 0, + entries: ["1080p", "720p", "480p", "360p", "240p", "144p"], + entryValues: ["1080", "720", "480", "360", "240", "144"], + ), ]; } @@ -359,4 +391,4 @@ class AnimeSaturn extends MProvider { AnimeSaturn main(MSource source) { return AnimeSaturn(source: source); -} \ No newline at end of file +} diff --git a/dart/anime/src/it/animesaturn/source.dart b/dart/anime/src/it/animesaturn/source.dart index 88153205..2fb3a1b1 100644 --- a/dart/anime/src/it/animesaturn/source.dart +++ b/dart/anime/src/it/animesaturn/source.dart @@ -5,12 +5,13 @@ const _animesaturnVersion = "0.0.5"; const _animesaturnCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/it/animesaturn/animesaturn.dart"; Source _animesaturn = Source( - name: "AnimeSaturn", - baseUrl: "https://www.animesaturn.cx", - lang: "it", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/it/animesaturn/icon.png", - sourceCodeUrl: _animesaturnCodeUrl, - version: _animesaturnVersion, - itemType: ItemType.anime); + name: "AnimeSaturn", + baseUrl: "https://www.animesaturn.cx", + lang: "it", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/it/animesaturn/icon.png", + sourceCodeUrl: _animesaturnCodeUrl, + version: _animesaturnVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/pt/animesvision/animesvision.dart b/dart/anime/src/pt/animesvision/animesvision.dart index ea3fd87a..f6405201 100644 --- a/dart/anime/src/pt/animesvision/animesvision.dart +++ b/dart/anime/src/pt/animesvision/animesvision.dart @@ -13,16 +13,17 @@ class AnimesVision extends MProvider { @override Map get headers => { - "Referer": baseUrl, - "Accept-Language": "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7" - }; + "Referer": baseUrl, + "Accept-Language": "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7", + }; @override Future getPopular(int page) async { final res = (await client.get(Uri.parse(baseUrl), headers: headers)).body; final document = parseHtml(res); - final elements = - document.select("div#anime-trending div.item > a.film-poster"); + final elements = document.select( + "div#anime-trending div.item > a.film-poster", + ); List animeList = []; for (var element in elements) { var anime = MManga(); @@ -37,12 +38,15 @@ class AnimesVision extends MProvider { @override Future getLatestUpdates(int page) async { - final res = (await client.get(Uri.parse("$baseUrl/lancamentos?page=$page"), - headers: headers)) - .body; + final res = + (await client.get( + Uri.parse("$baseUrl/lancamentos?page=$page"), + headers: headers, + )).body; final document = parseHtml(res); - final elements = - document.select("div.container div.screen-items > div.item"); + final elements = document.select( + "div.container div.screen-items > div.item", + ); List animeList = []; for (var element in elements) { var anime = MManga(); @@ -56,9 +60,10 @@ class AnimesVision extends MProvider { @override Future search(String query, int page, FilterList filterList) async { - final res = (await client - .get(Uri.parse("$baseUrl/search-anime?nome=$query&page=$page"))) - .body; + final res = + (await client.get( + Uri.parse("$baseUrl/search-anime?nome=$query&page=$page"), + )).body; final document = parseHtml(res); final elements = document.select("div.film_list-wrap div.film-poster"); List animeList = []; @@ -76,7 +81,7 @@ class AnimesVision extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"Atualmente sendo exibido": 0, "Fim da exibição": 1} + {"Atualmente sendo exibido": 0, "Fim da exibição": 1}, ]; MManga anime = MManga(); final res = (await client.get(Uri.parse("$baseUrl$url"))).body; @@ -113,8 +118,9 @@ class AnimesVision extends MProvider { while (hasNextPage(document)) { if (episodeList.isNotEmpty) { - final nextUrl = - nextPageElements(document)[0].selectFirst("a").attr("href"); + final nextUrl = nextPageElements( + document, + )[0].selectFirst("a").attr("href"); document = parseHtml((await client.get(Uri.parse(nextUrl))).body); } for (var element @@ -131,13 +137,15 @@ class AnimesVision extends MProvider { Future> getVideoList(String url) async { final res = (await client.get(Uri.parse("$baseUrl$url"))).body; final document = parseHtml(res); - final encodedScript = document - .selectFirst("div.player-frame div#playerglobalapi ~ script") - .text; + final encodedScript = + document + .selectFirst("div.player-frame div#playerglobalapi ~ script") + .text; final decodedScript = decodeScriptFromString(encodedScript); List videos = []; - for (RegExpMatch match in RegExp(r'"file":"(\S+?)",.*?"label":"(.*?)"') - .allMatches(decodedScript)) { + for (RegExpMatch match in RegExp( + r'"file":"(\S+?)",.*?"label":"(.*?)"', + ).allMatches(decodedScript)) { final videoUrl = match.group(1)!.replaceAll('\\', ''); final qualityName = match.group(2); var video = MVideo(); @@ -155,11 +163,15 @@ class AnimesVision extends MProvider { } List nextPageElements(MDocument document) { - final elements = document - .select("ul.pagination li.page-item") - .where((MElement e) => - e.outerHtml.contains("›") && !e.outerHtml.contains("disabled")) - .toList(); + final elements = + document + .select("ul.pagination li.page-item") + .where( + (MElement e) => + e.outerHtml.contains("›") && + !e.outerHtml.contains("disabled"), + ) + .toList(); return elements; } @@ -173,10 +185,11 @@ class AnimesVision extends MProvider { } String getInfo(MElement element, String key) { - final divs = element - .select("div.item") - .where((MElement e) => e.outerHtml.contains(key)) - .toList(); + final divs = + element + .select("div.item") + .where((MElement e) => e.outerHtml.contains(key)) + .toList(); String text = ""; if (divs.isNotEmpty) { MElement div = divs[0]; @@ -230,12 +243,13 @@ class AnimesVision extends MProvider { List getSourcePreferences() { return [ ListPreference( - key: "preferred_quality", - title: "Qualidade preferida", - summary: "", - valueIndex: 1, - entries: ["480p", "720p", "1080p", "4K"], - entryValues: ["1080", "720", "480", "4K"]), + key: "preferred_quality", + title: "Qualidade preferida", + summary: "", + valueIndex: 1, + entries: ["480p", "720p", "1080p", "4K"], + entryValues: ["1080", "720", "480", "4K"], + ), ]; } @@ -251,7 +265,11 @@ class AnimesVision extends MProvider { } String decodeScript( - String encodedString, String magicStr, int offset, int limit) { + String encodedString, + String magicStr, + int offset, + int limit, + ) { RegExp regex = RegExp('\\w'); List parts = encodedString.split(magicStr[limit]); List decodedParts = []; @@ -259,7 +277,9 @@ class AnimesVision extends MProvider { String replaced = part; for (Match match in regex.allMatches(part)) { replaced = replaced.replaceFirst( - match.group(0)!, magicStr.indexOf(match.group(0)!).toString()); + match.group(0)!, + magicStr.indexOf(match.group(0)!).toString(), + ); } int charInt = convertToNum(replaced, limit) - offset; decodedParts.add(String.fromCharCode(charInt)); diff --git a/dart/anime/src/pt/animesvision/source.dart b/dart/anime/src/pt/animesvision/source.dart index 183c192e..3f67a041 100644 --- a/dart/anime/src/pt/animesvision/source.dart +++ b/dart/anime/src/pt/animesvision/source.dart @@ -5,12 +5,13 @@ const _animesvisionVersion = "0.0.15"; const _animesvisionCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/pt/animesvision/animesvision.dart"; Source _animesvision = Source( - name: "AnimesVision", - baseUrl: "https://animes.vision", - lang: "pt-br", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/pt/animesvision/icon.png", - sourceCodeUrl: _animesvisionCodeUrl, - version: _animesvisionVersion, - itemType: ItemType.anime); + name: "AnimesVision", + baseUrl: "https://animes.vision", + lang: "pt-br", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/pt/animesvision/icon.png", + sourceCodeUrl: _animesvisionCodeUrl, + version: _animesvisionVersion, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/sq/filma24/filma24.dart b/dart/anime/src/sq/filma24/filma24.dart index 69bdd3f8..7c38c136 100644 --- a/dart/anime/src/sq/filma24/filma24.dart +++ b/dart/anime/src/sq/filma24/filma24.dart @@ -6,8 +6,10 @@ class Filma24 extends MProvider { MSource source; - final Client client = - Client(source, json.encode({"useDartHttpClient": true})); + final Client client = Client( + source, + json.encode({"useDartHttpClient": true}), + ); @override String get baseUrl => getPreferenceValue(source.id, "pref_domain_new"); @@ -122,13 +124,14 @@ class Filma24 extends MProvider { List getSourcePreferences() { return [ EditTextPreference( - key: "pref_domain_new", - title: "Domeni i përdorur aktualisht", - summary: "", - value: "https://www.filma24.band", - dialogTitle: "Domeni i përdorur aktualisht", - dialogMessage: "", - text: "https://www.filma24.band"), + key: "pref_domain_new", + title: "Domeni i përdorur aktualisht", + summary: "", + value: "https://www.filma24.band", + dialogTitle: "Domeni i përdorur aktualisht", + dialogMessage: "", + text: "https://www.filma24.band", + ), ]; } @@ -192,22 +195,23 @@ class Filma24 extends MProvider { } Future> vidmolyExtractor(String url) async { - final headers = { - 'Referer': 'https://vidmoly.to', - }; + final headers = {'Referer': 'https://vidmoly.to'}; List videos = []; final playListUrlResponse = (await client.get(Uri.parse(url))).body; final playlistUrl = RegExp(r'file:"(\S+?)"').firstMatch(playListUrlResponse)?.group(1) ?? - ""; + ""; if (playlistUrl.isEmpty) return []; - final masterPlaylistRes = - await client.get(Uri.parse(playlistUrl), headers: headers); + final masterPlaylistRes = await client.get( + Uri.parse(playlistUrl), + headers: headers, + ); if (masterPlaylistRes.statusCode == 200) { - for (var it - in substringAfter(masterPlaylistRes.body, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes.body, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -231,11 +235,13 @@ class Filma24 extends MProvider { final playListUrlResponse = (await client.get(Uri.parse(url))).body; final playlistUrl = RegExp(r'file:"(\S+?)"').firstMatch(playListUrlResponse)?.group(1) ?? - ""; + ""; if (playlistUrl.isEmpty) return []; final masterPlaylistRes = (await client.get(Uri.parse(playlistUrl))).body; - for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") - .split("#EXT-X-STREAM-INF:")) { + for (var it in substringAfter( + masterPlaylistRes, + "#EXT-X-STREAM-INF:", + ).split("#EXT-X-STREAM-INF:")) { final quality = "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; @@ -258,8 +264,10 @@ class Filma24 extends MProvider { return []; } - final videoUrl = - substringBefore(substringAfter(js.first, "sources: [\""), '"'); + final videoUrl = substringBefore( + substringAfter(js.first, "sources: [\""), + '"', + ); MVideo video = MVideo(); video ..url = videoUrl @@ -283,8 +291,10 @@ class Filma24 extends MProvider { mangaList.add(manga); } - return MPages(mangaList, - document.selectFirst("div > a.nextpostslink")?.attr("href") != null); + return MPages( + mangaList, + document.selectFirst("div > a.nextpostslink")?.attr("href") != null, + ); } } diff --git a/dart/anime/src/sq/filma24/source.dart b/dart/anime/src/sq/filma24/source.dart index 1abc1d43..f529b7f5 100644 --- a/dart/anime/src/sq/filma24/source.dart +++ b/dart/anime/src/sq/filma24/source.dart @@ -5,12 +5,13 @@ const _filma24Version = "0.0.45"; const _filma24CodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/sq/filma24/filma24.dart"; Source _filma24 = Source( - name: "Filma24", - baseUrl: "https://www.filma24.band", - lang: "sq", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/sq/filma24/icon.png", - sourceCodeUrl: _filma24CodeUrl, - version: _filma24Version, - itemType: ItemType.anime); + name: "Filma24", + baseUrl: "https://www.filma24.band", + lang: "sq", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/sq/filma24/icon.png", + sourceCodeUrl: _filma24CodeUrl, + version: _filma24Version, + itemType: ItemType.anime, +); diff --git a/dart/anime/src/tr/diziwatch/diziwatch.dart b/dart/anime/src/tr/diziwatch/diziwatch.dart index 7f2a84cb..b066ef26 100644 --- a/dart/anime/src/tr/diziwatch/diziwatch.dart +++ b/dart/anime/src/tr/diziwatch/diziwatch.dart @@ -13,25 +13,27 @@ class DiziWatch extends MProvider { @override Map get headers => {}; - + Future parseMainList(int index) async { - MDocument dom = parseHtml((await client.get(Uri.parse(source.baseUrl))) .body); + MDocument dom = parseHtml( + (await client.get(Uri.parse(source.baseUrl))).body, + ); List list = []; MElement containingElement = dom.select("#list-series-hizala2")[index]; List results = containingElement.select("#list-series-main"); for (MElement result in results) { MElement a = result.selectFirst("a"); - MElement img = a.selectFirst("img"); + MElement img = a.selectFirst("img"); MManga anime = new MManga(); anime.name = img.attr("alt"); anime.link = a.getHref; anime.imageUrl = img.getSrc; list.add(anime); - } - - return MPages(list, false); - } - + } + + return MPages(list, false); + } + @override Future getPopular(int page) async { return parseMainList(1); @@ -58,156 +60,182 @@ class DiziWatch extends MProvider { } else if (filter.type == "Genre") { genre = filter.values[filter.state].value; } - } - MDocument dom = parseHtml((await client.get(Uri.parse("${source.baseUrl}/anime-arsivi/page/${page}/?orderby=${orderby}&yil=${year}&imdb=${imdb}&isim=${query}&tur=${genre}"))) .body); + } + MDocument dom = parseHtml( + (await client.get( + Uri.parse( + "${source.baseUrl}/anime-arsivi/page/${page}/?orderby=${orderby}&yil=${year}&imdb=${imdb}&isim=${query}&tur=${genre}", + ), + )).body, + ); List results = dom.select("#list-series"); - List list = []; + List list = []; for (MElement result in results) { MElement a = result.select("a")[1]; - MElement img = a.selectFirst("img"); + MElement img = a.selectFirst("img"); MManga anime = new MManga(); anime.name = result.selectFirst("div.cat-title a").text; anime.link = a.getHref; anime.imageUrl = img.getSrc; list.add(anime); - } + } MElement paginateLinksDiv = dom.selectFirst("div.paginate-links"); - int lastPage = int.parse(paginateLinksDiv.selectFirst("a.next").previousElementSibling.text ?? "1"); - - return MPages(list, lastPage > page); + int lastPage = int.parse( + paginateLinksDiv.selectFirst("a.next").previousElementSibling.text ?? "1", + ); + + return MPages(list, lastPage > page); } @override Future getDetail(String url) async { - MDocument dom = parseHtml((await client.get(Uri.parse(url))) .body); + MDocument dom = parseHtml((await client.get(Uri.parse(url))).body); var anime = new MManga(); anime.name = dom.selectFirst("h1.title-border").text; anime.link = url; - anime.imageUrl = dom.selectFirst("div.category_image img").getSrc; + anime.imageUrl = dom.selectFirst("div.category_image img").getSrc; anime.description = dom.selectFirst("div#series-info").text; - List genres = dom.selectFirst("span.dizi-tur").text.split(", "); + List genres = dom.selectFirst("span.dizi-tur").text.split(", "); genres.remove("Anime"); // not needed - anime.genre = genres; + anime.genre = genres; List results = dom.select("div.bolumust"); - List chapters = []; + List chapters = []; for (MElement result in results) { - MElement a = result.select("a")[1]; + MElement a = result.select("a")[1]; MChapter chapter = new MChapter(); - chapter.name = result.selectFirst(".baslik").text + " | " + result.selectFirst("#bolum-ismi").text; + chapter.name = + result.selectFirst(".baslik").text + + " | " + + result.selectFirst("#bolum-ismi").text; chapter.url = a.getHref; chapters.add(chapter); - } + } anime.chapters = chapters.reversed.toList(); - return anime; + return anime; } - + @override Future> getVideoList(String url) async { - MDocument dom = parseHtml((await client.get(Uri.parse(url))) .body); + MDocument dom = parseHtml((await client.get(Uri.parse(url))).body); String id = dom.selectFirst("#takip_et_izledim_Calis").attr("data-ilanid"); - var json = json.decode((await client.get(Uri.parse("${source.baseUrl}/wp-admin/admin-ajax.php?action=playlist&pid=${id}"))).body)[0]; + var json = + json.decode( + (await client.get( + Uri.parse( + "${source.baseUrl}/wp-admin/admin-ajax.php?action=playlist&pid=${id}", + ), + )).body, + )[0]; var sources = json["sources"]; - List videos = []; + List videos = []; for (var source in sources) { MVideo video = new MVideo(); - video.url = source["file"]; + video.url = source["file"]; video.originalUrl = source["file"]; video.quality = source["label"]; video.headers = {"Referer": url}; - videos.add(video); + videos.add(video); } - + String quality = getPreferenceValue(source.id, "preferred_quality"); - videos.sort((MVideo a, MVideo b) => (b.quality.contains(quality) ? 1 : 0) - (a.quality.contains(quality) ? 1 : 0)); - - return videos; + videos.sort( + (MVideo a, MVideo b) => + (b.quality.contains(quality) ? 1 : 0) - + (a.quality.contains(quality) ? 1 : 0), + ); + + return videos; } - + @override List getFilterList() { return [ - HeaderFilter("Filtrele"), - SelectFilter("Sort", "Sırala", 0, [ - SelectFilterOption("IMDb Puanına Göre", "meta_value"), - SelectFilterOption("Alfabetik", "name"), - SelectFilterOption("Eklenme Tarihine Göre", "ID") - ]), - TextFilter("Year", "Yapım Yılı"), - SelectFilter("Genre", "Tür", 0, [ - SelectFilterOption("Kategori Seçin", ""), - SelectFilterOption("Aksiyon", "aksiyon"), - SelectFilterOption("Arabalar", "araba"), - SelectFilterOption("Askeri", "askeri"), - SelectFilterOption("Bilim Kurgu", "bilim"), - SelectFilterOption("Büyü", "buyu"), - SelectFilterOption("Doğaüstü Güçler", "doga"), - SelectFilterOption("Dövüş Sanatları", "dovus"), - SelectFilterOption("Dram", "dram"), - SelectFilterOption("Ecchi", "ecchi"), - SelectFilterOption("Fantastik", "fantastik"), - SelectFilterOption("Gerilim", "gerilim"), - SelectFilterOption("Gizem", "gizem"), - SelectFilterOption("Harem", "harem"), - SelectFilterOption("Isekai", "isekai"), - SelectFilterOption("Komedi", "komedi"), - SelectFilterOption("Korku", "korku"), - SelectFilterOption("Macera", "macera"), - SelectFilterOption("Mecha", "mecha"), - SelectFilterOption("Müzik", "muzik"), - SelectFilterOption("Okul", "okul"), - SelectFilterOption("Oyun", "oyun"), - SelectFilterOption("Parodi", "parodi"), - SelectFilterOption("Polisiye", "polisiye"), - SelectFilterOption("Psikolojik", "psikolojik"), - SelectFilterOption("Romantizm", "romantizm"), - SelectFilterOption("Samuray", "samuray"), - SelectFilterOption("Seinen", "seinen"), - SelectFilterOption("Shoujo", "shoujo"), - SelectFilterOption("Shounen", "shounen"), - SelectFilterOption("Spor", "spor"), - SelectFilterOption("Suç", "suc"), - SelectFilterOption("Süper Güçler", "super"), - SelectFilterOption("Şeytanlar", "seytan"), - SelectFilterOption("Şizofreni", "sizofreni"), - SelectFilterOption("Tarihi", "tarihi"), - SelectFilterOption("Uzay", "uzay"), - SelectFilterOption("Vampir", "vampir"), - SelectFilterOption("Yaşamdan Kesitler", "yasam") - ]), - SelectFilter("MinIMDBRating", "Min. IMBD Puanı", 0, [ - SelectFilterOption("1", "0"), // value 1 looks like buggy so use 0 it wont make any difference. - SelectFilterOption("2", "2"), - SelectFilterOption("3", "3"), - SelectFilterOption("4", "4"), - SelectFilterOption("5", "5"), - SelectFilterOption("6", "6"), - SelectFilterOption("7", "7"), - SelectFilterOption("8", "8"), - SelectFilterOption("9", "9") - ]) + HeaderFilter("Filtrele"), + SelectFilter("Sort", "Sırala", 0, [ + SelectFilterOption("IMDb Puanına Göre", "meta_value"), + SelectFilterOption("Alfabetik", "name"), + SelectFilterOption("Eklenme Tarihine Göre", "ID"), + ]), + TextFilter("Year", "Yapım Yılı"), + SelectFilter("Genre", "Tür", 0, [ + SelectFilterOption("Kategori Seçin", ""), + SelectFilterOption("Aksiyon", "aksiyon"), + SelectFilterOption("Arabalar", "araba"), + SelectFilterOption("Askeri", "askeri"), + SelectFilterOption("Bilim Kurgu", "bilim"), + SelectFilterOption("Büyü", "buyu"), + SelectFilterOption("Doğaüstü Güçler", "doga"), + SelectFilterOption("Dövüş Sanatları", "dovus"), + SelectFilterOption("Dram", "dram"), + SelectFilterOption("Ecchi", "ecchi"), + SelectFilterOption("Fantastik", "fantastik"), + SelectFilterOption("Gerilim", "gerilim"), + SelectFilterOption("Gizem", "gizem"), + SelectFilterOption("Harem", "harem"), + SelectFilterOption("Isekai", "isekai"), + SelectFilterOption("Komedi", "komedi"), + SelectFilterOption("Korku", "korku"), + SelectFilterOption("Macera", "macera"), + SelectFilterOption("Mecha", "mecha"), + SelectFilterOption("Müzik", "muzik"), + SelectFilterOption("Okul", "okul"), + SelectFilterOption("Oyun", "oyun"), + SelectFilterOption("Parodi", "parodi"), + SelectFilterOption("Polisiye", "polisiye"), + SelectFilterOption("Psikolojik", "psikolojik"), + SelectFilterOption("Romantizm", "romantizm"), + SelectFilterOption("Samuray", "samuray"), + SelectFilterOption("Seinen", "seinen"), + SelectFilterOption("Shoujo", "shoujo"), + SelectFilterOption("Shounen", "shounen"), + SelectFilterOption("Spor", "spor"), + SelectFilterOption("Suç", "suc"), + SelectFilterOption("Süper Güçler", "super"), + SelectFilterOption("Şeytanlar", "seytan"), + SelectFilterOption("Şizofreni", "sizofreni"), + SelectFilterOption("Tarihi", "tarihi"), + SelectFilterOption("Uzay", "uzay"), + SelectFilterOption("Vampir", "vampir"), + SelectFilterOption("Yaşamdan Kesitler", "yasam"), + ]), + SelectFilter("MinIMDBRating", "Min. IMBD Puanı", 0, [ + SelectFilterOption( + "1", + "0", + ), // value 1 looks like buggy so use 0 it wont make any difference. + SelectFilterOption("2", "2"), + SelectFilterOption("3", "3"), + SelectFilterOption("4", "4"), + SelectFilterOption("5", "5"), + SelectFilterOption("6", "6"), + SelectFilterOption("7", "7"), + SelectFilterOption("8", "8"), + SelectFilterOption("9", "9"), + ]), ]; } - + @override List getSourcePreferences() { return [ ListPreference( - key: "preferred_quality", - title: "Tercih edilen kalite", - summary: "", - valueIndex: 0, - entries: ["1080p", "480p"], // I only saw 1080p and 480p in diziWatch. - entryValues: ["1080", "480"]) - ]; + key: "preferred_quality", + title: "Tercih edilen kalite", + summary: "", + valueIndex: 0, + entries: ["1080p", "480p"], // I only saw 1080p and 480p in diziWatch. + entryValues: ["1080", "480"], + ), + ]; } } DiziWatch main(MSource source) { - return DiziWatch(source:source); + return DiziWatch(source: source); } diff --git a/dart/anime/src/tr/diziwatch/source.dart b/dart/anime/src/tr/diziwatch/source.dart index d13cc343..bb350250 100644 --- a/dart/anime/src/tr/diziwatch/source.dart +++ b/dart/anime/src/tr/diziwatch/source.dart @@ -5,12 +5,13 @@ const _diziwatchVersion = "0.0.1"; const _diziwatchSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/tr/diziwatch/diziwatch.dart"; Source _diziwatchSource = Source( - name: "diziWatch", - baseUrl: "https://diziwatch.net", - lang: "tr", - typeSource: "single", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/tr/diziwatch/icon.png", - sourceCodeUrl: _diziwatchSourceCodeUrl, - version: _diziwatchVersion, - itemType: ItemType.anime); + name: "diziWatch", + baseUrl: "https://diziwatch.net", + lang: "tr", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/tr/diziwatch/icon.png", + sourceCodeUrl: _diziwatchSourceCodeUrl, + version: _diziwatchVersion, + itemType: ItemType.anime, +); diff --git a/dart/manga/manga_source_list.dart b/dart/manga/manga_source_list.dart index 81588c69..59f16583 100644 --- a/dart/manga/manga_source_list.dart +++ b/dart/manga/manga_source_list.dart @@ -12,5 +12,5 @@ List dartMangasourceList = [ ...mmrcmsSourcesList, mangahereSource, ...nepnepSourcesList, - ...mangaboxSourcesList + ...mangaboxSourcesList, ]; diff --git a/dart/manga/multisrc/madara/madara.dart b/dart/manga/multisrc/madara/madara.dart index 61cd216f..ce22455c 100644 --- a/dart/manga/multisrc/madara/madara.dart +++ b/dart/manga/multisrc/madara/madara.dart @@ -10,18 +10,20 @@ class Madara extends MProvider { @override Future getPopular(int page) async { - final res = (await client.get( - Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=views"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=views"), + )).body; final document = parseHtml(res); return mangaFromElements(document.select("div.page-item-detail")); } @override Future getLatestUpdates(int page) async { - final res = (await client.get( - Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=latest"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=latest"), + )).body; final document = parseHtml(res); return mangaFromElements(document.select("div.page-item-detail")); } @@ -95,7 +97,10 @@ class Madara extends MProvider { var chd = element.selectFirst("span.chapter-release-date"); if (chd != null && chd.text.isNotEmpty) { var dates = parseDates( - [chd.text], source.dateFormat, source.dateFormatLocale); + [chd.text], + source.dateFormat, + source.dateFormatLocale, + ); chapter.dateUpload = dates[0]; } else { chapter.dateUpload = @@ -153,7 +158,7 @@ class Madara extends MProvider { "En espera": 2, "Canceled": 3, "Cancelado": 3, - } + }, ]; MManga manga = MManga(); String res = ""; @@ -161,19 +166,23 @@ class Madara extends MProvider { final document = parseHtml(res); manga.author = document.selectFirst("div.author-content > a")?.text ?? ""; - manga.description = document + manga.description = + document .selectFirst( - "div.description-summary div.summary__content, div.summary_content div.post-content_item > h5 + div, div.summary_content div.manga-excerpt, div.sinopsis div.contenedor, .description-summary > p") + "div.description-summary div.summary__content, div.summary_content div.post-content_item > h5 + div, div.summary_content div.manga-excerpt, div.sinopsis div.contenedor, .description-summary > p", + ) ?.text ?? ""; final imageElement = document.selectFirst("div.summary_image img"); - manga.imageUrl = imageElement?.attr("data-src") ?? - imageElement?.attr("data-lazy-src") ?? - imageElement?.attr("srcset") ?? - imageElement?.getSrc; + manga.imageUrl = + imageElement?.attr("data-src") ?? + imageElement?.attr("data-lazy-src") ?? + imageElement?.attr("srcset") ?? + imageElement?.getSrc; - final id = document + final id = + document .selectFirst("div[id^=manga-chapters-holder]") ?.attr("data-id") ?? ""; @@ -185,19 +194,22 @@ class Madara extends MProvider { manga.status = parseStatus(status, statusList); manga.genre = document.select("div.genres-content a")?.map((e) => e.text).toList() ?? - []; + []; final baseUrl = "${source.baseUrl}/"; final headers = {"Referer": baseUrl, "X-Requested-With": "XMLHttpRequest"}; final oldXhrChaptersRequest = await client.post( - Uri.parse("${baseUrl}wp-admin/admin-ajax.php"), - headers: headers, - body: {"action": "manga_get_chapters", "manga": mangaId}); + Uri.parse("${baseUrl}wp-admin/admin-ajax.php"), + headers: headers, + body: {"action": "manga_get_chapters", "manga": mangaId}, + ); if (oldXhrChaptersRequest.statusCode == 400) { - res = (await client.post(Uri.parse("${url}ajax/chapters"), - headers: headers)) - .body; + res = + (await client.post( + Uri.parse("${url}ajax/chapters"), + headers: headers, + )).body; } else { res = oldXhrChaptersRequest.body; } @@ -205,9 +217,11 @@ class Madara extends MProvider { MDocument chapDoc = parseHtml(res); manga.chapters = getChapters(chapDoc); if (manga.chapters.isEmpty) { - res = (await client.post(Uri.parse("${url}ajax/chapters"), - headers: headers)) - .body; + res = + (await client.post( + Uri.parse("${url}ajax/chapters"), + headers: headers, + )).body; chapDoc = parseHtml(res); manga.chapters = getChapters(chapDoc); } @@ -221,13 +235,15 @@ class Madara extends MProvider { final document = parseHtml(res.body); final pageElements = document.select( - "div.page-break, li.blocks-gallery-item, .reading-content .text-left:not(:has(.blocks-gallery-item)) img"); + "div.page-break, li.blocks-gallery-item, .reading-content .text-left:not(:has(.blocks-gallery-item)) img", + ); List imgs = []; for (var element in pageElements) { try { final imgElement = element.selectFirst("img"); - final img = imgElement.attr("src") ?? + final img = + imgElement.attr("src") ?? imgElement.attr("data-src") ?? imgElement.attr("data-lazy-src") ?? imgElement.attr("srcset"); @@ -261,7 +277,8 @@ class Madara extends MProvider { for (var i = 0; i < elements.length; i++) { final postTitle = elements[i].selectFirst("div.post-title a"); final imageElement = elements[i].selectFirst("img"); - final image = imageElement?.attr("data-src") ?? + final image = + imageElement?.attr("data-src") ?? imageElement?.attr("data-lazy-src") ?? imageElement?.attr("srcset") ?? imageElement?.getSrc ?? @@ -301,7 +318,7 @@ class Madara extends MProvider { SelectFilterOption("All", ""), SelectFilterOption("None", "0"), SelectFilterOption("Only", "1"), - ]) + ]), ]; } diff --git a/dart/manga/multisrc/madara/sources.dart b/dart/manga/multisrc/madara/sources.dart index 01043613..380e368e 100644 --- a/dart/manga/multisrc/madara/sources.dart +++ b/dart/manga/multisrc/madara/sources.dart @@ -190,388 +190,392 @@ const madaraSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/madara.dart"; List get madaraSourcesList => _madaraSourcesList; -List _madaraSourcesList = [ -//1st Kiss-Manga (unoriginal) (EN) - firstkissdashmangaSource, -//AQUA Scans (EN) - manhwaworldSource, -//Akuma no Tenshi (PT-BR) - akumanotenshiSource, -//Anikiga (TR) - anikigaSource, -//ArazNovel (TR) - araznovelSource, -//Arthur Scan (PT-BR) - arthurscanSource, -//AstralManga (FR) - astralmangaSource, -//Asura Scans.us (unoriginal) (EN) - asurascansusSource, -//BarManga (ES) - barmangaSource, -//BestManga (RU) - bestmangaSource, -//Chibi Manga (EN) - chibimangaSource, -//Clover Manga (TR) - clovermangaSource, -//Coco Rip (ES) - cocoripSource, -//Coffee Manga (EN) - coffeemangaSource, -//Doodmanga (TH) - doodmangaSource, -//Elite Manga (EN) - elitemangaSource, -//Emperor Scan (ES) - emperorscanSource, -//EvaScans (TR) - evascansSource, -//FR-Scan (FR) - frscanSource, -//FactManga (EN) - factmangaSource, -//FreeMangaTop (EN) - freemangatopSource, -//Glory Manga (TR) - glorymangaSource, -//Harimanga (EN) - harimangaSource, -//Immortal Updates (EN) - immortalupdatesSource, -//Império Scans (PT-BR) - imperioscansSource, -//Inmortal Scan (ES) - inmortalscanSource, -//IsekaiScanManga (unoriginal) (EN) - isekaiscanmangaSource, -//Jimanga (EN) - jimangaSource, -//KSGroupScans (EN) - ksgroupscansSource, -//Kakusei Project (PT-BR) - kakuseiprojectSource, -//Kami Sama Explorer (PT-BR) - kamisamaexplorerSource, -//Komik Chan (EN) - komikchanSource, -//LHTranslation (EN) - lhtranslationSource, -//Lady Estelar Scan (PT-BR) - ladyestelarscanSource, -//Leviatan Scans (EN) - leviatanscansSource, -//Luffy Manga (EN) - luffymangaSource, -//Maid Scan (PT-BR) - maidscanSource, -//Manga Diyari (TR) - mangadiyariSource, -//Manga Fenix (ES) - mangafenixSource, -//Manga Galaxy (EN) - mangagalaxySource, -//Manga Read (EN) - mangareadSource, -//Manga Tx.gg (unoriginal) (EN) - mangatxggSource, -//Manga Weebs (EN) - mangaweebsSource, -//Manga Şehri (TR) - mangasehriSource, -//Manga-TX (EN) - mangatxunoriginalSource, -//MangaClash (EN) - mangaclashSource, -//MangaFreak.online (EN) - mangafreakonlineSource, -//MangaGreat (EN) - mangagreatSource, -//MangaKomi (EN) - mangakomiSource, -//MangaRead.org (EN) - mangareadorgSource, -//MangaRolls (EN) - mangarollsSource, -//MangaTyrant (EN) - mangatyrantSource, -//MangaUS (EN) - mangausSource, -//Mangasushi (EN) - mangasushiSource, -//Mangá Nanquim (PT-BR) - mangananquimSource, -//Manhua ES (EN) - manhuaesSource, -//ManhuaUS (EN) - manhuausSource, -//ManhuaZone (EN) - manhuazoneSource, -//ManhwaClan (EN) - manhwaclanSource, -//Manhwafull (EN) - manhwafullSource, -//Mantraz Scan (ES) - mantrazscanSource, -//Momo no Hana Scan (PT-BR) - momonohanascanSource, -//MonarcaManga (ES) - monarcamangaSource, -//Moon Witch In Love (PT-BR) - moonwitchinloveSource, -//NekoPost.co (unoriginal) (TH) - nekopostcoSource, -//Niji Translations (AR) - nijitranslationsSource, -//Pantheon Scan (FR) - pantheonscanSource, -//Pojok Manga (ID) - pojokmangaSource, -//Projeto Scanlator (PT-BR) - projetoscanlatorSource, -//ROG Mangás (PT-BR) - mangasoverallSource, -//Ragnarok Scanlation (ES) - ragnarokscanlationSource, -//Rainbow Fairy Scan (PT-BR) - rainbowfairyscanSource, -//Random Scan (PT-BR) - randomscanSource, -//ReaderGen (FR) - readergenSource, -//RichtoScan (ES) - richtoscanSource, -//Rightdark Scan (ES) - rightdarkscanSource, -//Rio2 Manga (EN) - rio2mangaSource, -//Romantik Manga (TR) - romantikmangaSource, -//S2Manga (EN) - s2mangaSource, -//SamuraiScan (ES) - samuraiscanSource, -//ScamberTraslator (ES) - scambertraslatorSource, -//Scantrad-VF (FR) - scantradvfSource, -//Shadowtrad (FR) - shadowtradSource, -//Shiba Manga (EN) - shibamangaSource, -//Sinensis Scan (PT-BR) - sinensisSource, -//Sweet Time Scan (PT-BR) - sweettimescanSource, -//Tatakae Scan (PT-BR) - tatakaescanSource, -//Taurus Fansub (ES) - taurusfansubSource, -//The Beginning After The End (FR) - thebeginningaftertheendSource, -//Tortuga Ceviri (TR) - tortugaceviriSource, -//Wicked Witch Scan (PT-BR) - wickedwitchscanSource, -//Winter Scan (PT-BR) - winterscanSource, -//Wonderland Scan (PT-BR) - wonderlandscanSource, -//Yuri Verso (PT-BR) - yuriversoSource, -//فالكون مانجا (AR) - falconmangaSource, -//مانجا العاشق (AR) - manga3asqSource, -//Grabber Zone (ALL) - grabberzoneSource, -//Gatemanga (AR) - gatemangaSource, -//GMANGA (unoriginal) (AR) - gmangasiteSource, -//مانجا لينك (AR) - mangalinkSource, -//MangaLionz (AR) - mangalionzSource, -//Manga Rose (AR) - mangaroseSource, -//MangaSpark (AR) - mangasparkSource, -//Manga Starz (AR) - mangastarzSource, -//Manga Time (AR) - mangatimeSource, -//Olaoe (AR) - olaoeSource, -//Rocks Manga (AR) - rocksmangaSource, -//DragonTea (EN) - dragonteaSource, -//Global Bloging (EN) - globalblogingSource, -//Manga347 (EN) - manga347Source, -//MangaEffect (EN) - mangaeffectSource, -//Manga-fast.com (EN) - mangafastcomSource, -//Manga Leveling (EN) - mangalevelingSource, -//NeatManga (EN) - neatmangaSource, -//NvManga (EN) - nvmangaSource, -//PMScans (EN) - pmscansSource, -//ReadManhua (EN) - readmanhuaSource, -//StoneScape (EN) - stonescapeSource, -//TappyToon.Net (EN) - tappytoonnetSource, -//Zinmanga.net (EN) - zinmanganetSource, -//BokugenTranslation (ES) - bokugentranslationSource, -//DapRob (ES) - daprobSource, -//DeManhuas (ES) - demanhuasSource, -//HerenScan (ES) - herenscanSource, -//HouseMangas (ES) - housemangasSource, -//InfraFandub (ES) - infrafandubSource, -//Inmoral No Fansub (ES) - inmoralnofansubSource, -//JeazScans (ES) - jeazscansSource, -//Jobsibe (ES) - jobsibeSource, -//LegnMangas (ES) - legendsnofansubSource, -//Manga Crab (ES) - mangacrabSource, -//MMFenix (ES) - mangafenixSource, -//Mangas No Sekai (ES) - mangasnosekaiSource, -//Manhua Online (ES) - manhuaonlineSource, -//MHScans (ES) - mhscansSource, -//Visormonarca (ES) - monarcamangaSource, -//Noblesse Translations (ES) - noblessetranslationsSource, -//Prince Ediciones (ES) - princedicionesSource, -//SapphireScan (ES) - sapphirescanSource, -//Tres Daos Scan (ES) - tresdaosscanSource, -//Unitoon (ES) - unitoonSource, -//Manga-Scantrad (FR) - mangascantradSource, -//Mangas-Origines.fr (FR) - mangasoriginesfrSource, -//Raijin Scans (FR) - raijinscansSource, -//Reaper Scans (EN) - reaperscansSource, -//Soft Epsilon Scan (FR) - softepsilonscanSource, -//Hwago (ID) - hwagoSource, -//KlikManga (ID) - klikmangaSource, -//Komikuzan (ID) - komikuzanSource, -//MG Komik (ID) - mgkomikSource, -//Siimanga (ID) - siimangaSource, -//Yubikiri (ID) - yubikiriSource, -//MangaHoNa (PL) - mangahonaSource, -//Alone Scanlator (PT-BR) - alonescanlatorSource, -//Boruto Explorer (PT-BR) - borutoexplorerSource, -//Crystal Comics (PT-BR) - crystalcomicsSource, -//Fay Scans (PT-BR) - fayscansSource, -//Galinha Samurai Scan (PT-BR) - galinhasamuraiscanSource, -//Hikari Ga Nai (PT-BR) - hikariganaiSource, -//Sagrado Império da Britannia (PT-BR) - imperiodabritanniaSource, -//Neroxus (PT-BR) - imperioscansSource, -//Leitor de Mangá (PT-BR) - leitordemangaSource, -//L Scans (PT-BR) - lscansSource, -//Lunar Scan (PT-BR) - lunarscanSource, -//MiniTwo Scan (PT-BR) - minitwoscanSource, -//Nexo Scans (PT-BR) - nexoscansSource, -//Ninja Scan (PT-BR) - ninjascanSource, -//One Piece TECA (PT-BR) - onepiecetecaSource, -//Demon Sect (PT-BR) - prismascansSource, -//Sussy Scan (PT-BR) - sussyscanSource, -//Kings-Manga (TH) - kingsmangaSource, -//MangaDeemak (TH) - mangadeemakSource, -//ManhuaBug (TH) - manhuabugSource, -//ManhuaThai (TH) - manhuathaiSource, -//ManhwaBreakup (TH) - manhwabreakupSource, -//Atikrost (TR) - atikrostSource, -//DiamondFansub (TR) - diamondfansubSource, -//ManWe (TR) - evascansSource, -//Garcia Manga (TR) - garciamangaSource, -//GuncelManga (TR) - guncelmangaSource, -//LilyumFansub (TR) - lilyumfansubSource, -//MangaGezgini (TR) - mangagezginiSource, -//Manga Keyfi (TR) - mangakeyfiSource, -//Manga Oku (TR) - mangaokuSource, -//MangaWOW (TR) - mangawowSource, -//Merlin Scans (TR) - merlinscansSource, -//Rüya Manga (TR) - ruyamangaSource, -//Türkçe Manga Oku (TR) - turkcemangaokuSource, -//Webtoon Hatti (TR) - webtoonhattiSource, -] - .map((e) => e - ..itemType = ItemType.manga - ..sourceCodeUrl = madaraSourceCodeUrl - ..version = madaraVersion) - .toList(); +List _madaraSourcesList = + [ + //1st Kiss-Manga (unoriginal) (EN) + firstkissdashmangaSource, + //AQUA Scans (EN) + manhwaworldSource, + //Akuma no Tenshi (PT-BR) + akumanotenshiSource, + //Anikiga (TR) + anikigaSource, + //ArazNovel (TR) + araznovelSource, + //Arthur Scan (PT-BR) + arthurscanSource, + //AstralManga (FR) + astralmangaSource, + //Asura Scans.us (unoriginal) (EN) + asurascansusSource, + //BarManga (ES) + barmangaSource, + //BestManga (RU) + bestmangaSource, + //Chibi Manga (EN) + chibimangaSource, + //Clover Manga (TR) + clovermangaSource, + //Coco Rip (ES) + cocoripSource, + //Coffee Manga (EN) + coffeemangaSource, + //Doodmanga (TH) + doodmangaSource, + //Elite Manga (EN) + elitemangaSource, + //Emperor Scan (ES) + emperorscanSource, + //EvaScans (TR) + evascansSource, + //FR-Scan (FR) + frscanSource, + //FactManga (EN) + factmangaSource, + //FreeMangaTop (EN) + freemangatopSource, + //Glory Manga (TR) + glorymangaSource, + //Harimanga (EN) + harimangaSource, + //Immortal Updates (EN) + immortalupdatesSource, + //Império Scans (PT-BR) + imperioscansSource, + //Inmortal Scan (ES) + inmortalscanSource, + //IsekaiScanManga (unoriginal) (EN) + isekaiscanmangaSource, + //Jimanga (EN) + jimangaSource, + //KSGroupScans (EN) + ksgroupscansSource, + //Kakusei Project (PT-BR) + kakuseiprojectSource, + //Kami Sama Explorer (PT-BR) + kamisamaexplorerSource, + //Komik Chan (EN) + komikchanSource, + //LHTranslation (EN) + lhtranslationSource, + //Lady Estelar Scan (PT-BR) + ladyestelarscanSource, + //Leviatan Scans (EN) + leviatanscansSource, + //Luffy Manga (EN) + luffymangaSource, + //Maid Scan (PT-BR) + maidscanSource, + //Manga Diyari (TR) + mangadiyariSource, + //Manga Fenix (ES) + mangafenixSource, + //Manga Galaxy (EN) + mangagalaxySource, + //Manga Read (EN) + mangareadSource, + //Manga Tx.gg (unoriginal) (EN) + mangatxggSource, + //Manga Weebs (EN) + mangaweebsSource, + //Manga Şehri (TR) + mangasehriSource, + //Manga-TX (EN) + mangatxunoriginalSource, + //MangaClash (EN) + mangaclashSource, + //MangaFreak.online (EN) + mangafreakonlineSource, + //MangaGreat (EN) + mangagreatSource, + //MangaKomi (EN) + mangakomiSource, + //MangaRead.org (EN) + mangareadorgSource, + //MangaRolls (EN) + mangarollsSource, + //MangaTyrant (EN) + mangatyrantSource, + //MangaUS (EN) + mangausSource, + //Mangasushi (EN) + mangasushiSource, + //Mangá Nanquim (PT-BR) + mangananquimSource, + //Manhua ES (EN) + manhuaesSource, + //ManhuaUS (EN) + manhuausSource, + //ManhuaZone (EN) + manhuazoneSource, + //ManhwaClan (EN) + manhwaclanSource, + //Manhwafull (EN) + manhwafullSource, + //Mantraz Scan (ES) + mantrazscanSource, + //Momo no Hana Scan (PT-BR) + momonohanascanSource, + //MonarcaManga (ES) + monarcamangaSource, + //Moon Witch In Love (PT-BR) + moonwitchinloveSource, + //NekoPost.co (unoriginal) (TH) + nekopostcoSource, + //Niji Translations (AR) + nijitranslationsSource, + //Pantheon Scan (FR) + pantheonscanSource, + //Pojok Manga (ID) + pojokmangaSource, + //Projeto Scanlator (PT-BR) + projetoscanlatorSource, + //ROG Mangás (PT-BR) + mangasoverallSource, + //Ragnarok Scanlation (ES) + ragnarokscanlationSource, + //Rainbow Fairy Scan (PT-BR) + rainbowfairyscanSource, + //Random Scan (PT-BR) + randomscanSource, + //ReaderGen (FR) + readergenSource, + //RichtoScan (ES) + richtoscanSource, + //Rightdark Scan (ES) + rightdarkscanSource, + //Rio2 Manga (EN) + rio2mangaSource, + //Romantik Manga (TR) + romantikmangaSource, + //S2Manga (EN) + s2mangaSource, + //SamuraiScan (ES) + samuraiscanSource, + //ScamberTraslator (ES) + scambertraslatorSource, + //Scantrad-VF (FR) + scantradvfSource, + //Shadowtrad (FR) + shadowtradSource, + //Shiba Manga (EN) + shibamangaSource, + //Sinensis Scan (PT-BR) + sinensisSource, + //Sweet Time Scan (PT-BR) + sweettimescanSource, + //Tatakae Scan (PT-BR) + tatakaescanSource, + //Taurus Fansub (ES) + taurusfansubSource, + //The Beginning After The End (FR) + thebeginningaftertheendSource, + //Tortuga Ceviri (TR) + tortugaceviriSource, + //Wicked Witch Scan (PT-BR) + wickedwitchscanSource, + //Winter Scan (PT-BR) + winterscanSource, + //Wonderland Scan (PT-BR) + wonderlandscanSource, + //Yuri Verso (PT-BR) + yuriversoSource, + //فالكون مانجا (AR) + falconmangaSource, + //مانجا العاشق (AR) + manga3asqSource, + //Grabber Zone (ALL) + grabberzoneSource, + //Gatemanga (AR) + gatemangaSource, + //GMANGA (unoriginal) (AR) + gmangasiteSource, + //مانجا لينك (AR) + mangalinkSource, + //MangaLionz (AR) + mangalionzSource, + //Manga Rose (AR) + mangaroseSource, + //MangaSpark (AR) + mangasparkSource, + //Manga Starz (AR) + mangastarzSource, + //Manga Time (AR) + mangatimeSource, + //Olaoe (AR) + olaoeSource, + //Rocks Manga (AR) + rocksmangaSource, + //DragonTea (EN) + dragonteaSource, + //Global Bloging (EN) + globalblogingSource, + //Manga347 (EN) + manga347Source, + //MangaEffect (EN) + mangaeffectSource, + //Manga-fast.com (EN) + mangafastcomSource, + //Manga Leveling (EN) + mangalevelingSource, + //NeatManga (EN) + neatmangaSource, + //NvManga (EN) + nvmangaSource, + //PMScans (EN) + pmscansSource, + //ReadManhua (EN) + readmanhuaSource, + //StoneScape (EN) + stonescapeSource, + //TappyToon.Net (EN) + tappytoonnetSource, + //Zinmanga.net (EN) + zinmanganetSource, + //BokugenTranslation (ES) + bokugentranslationSource, + //DapRob (ES) + daprobSource, + //DeManhuas (ES) + demanhuasSource, + //HerenScan (ES) + herenscanSource, + //HouseMangas (ES) + housemangasSource, + //InfraFandub (ES) + infrafandubSource, + //Inmoral No Fansub (ES) + inmoralnofansubSource, + //JeazScans (ES) + jeazscansSource, + //Jobsibe (ES) + jobsibeSource, + //LegnMangas (ES) + legendsnofansubSource, + //Manga Crab (ES) + mangacrabSource, + //MMFenix (ES) + mangafenixSource, + //Mangas No Sekai (ES) + mangasnosekaiSource, + //Manhua Online (ES) + manhuaonlineSource, + //MHScans (ES) + mhscansSource, + //Visormonarca (ES) + monarcamangaSource, + //Noblesse Translations (ES) + noblessetranslationsSource, + //Prince Ediciones (ES) + princedicionesSource, + //SapphireScan (ES) + sapphirescanSource, + //Tres Daos Scan (ES) + tresdaosscanSource, + //Unitoon (ES) + unitoonSource, + //Manga-Scantrad (FR) + mangascantradSource, + //Mangas-Origines.fr (FR) + mangasoriginesfrSource, + //Raijin Scans (FR) + raijinscansSource, + //Reaper Scans (EN) + reaperscansSource, + //Soft Epsilon Scan (FR) + softepsilonscanSource, + //Hwago (ID) + hwagoSource, + //KlikManga (ID) + klikmangaSource, + //Komikuzan (ID) + komikuzanSource, + //MG Komik (ID) + mgkomikSource, + //Siimanga (ID) + siimangaSource, + //Yubikiri (ID) + yubikiriSource, + //MangaHoNa (PL) + mangahonaSource, + //Alone Scanlator (PT-BR) + alonescanlatorSource, + //Boruto Explorer (PT-BR) + borutoexplorerSource, + //Crystal Comics (PT-BR) + crystalcomicsSource, + //Fay Scans (PT-BR) + fayscansSource, + //Galinha Samurai Scan (PT-BR) + galinhasamuraiscanSource, + //Hikari Ga Nai (PT-BR) + hikariganaiSource, + //Sagrado Império da Britannia (PT-BR) + imperiodabritanniaSource, + //Neroxus (PT-BR) + imperioscansSource, + //Leitor de Mangá (PT-BR) + leitordemangaSource, + //L Scans (PT-BR) + lscansSource, + //Lunar Scan (PT-BR) + lunarscanSource, + //MiniTwo Scan (PT-BR) + minitwoscanSource, + //Nexo Scans (PT-BR) + nexoscansSource, + //Ninja Scan (PT-BR) + ninjascanSource, + //One Piece TECA (PT-BR) + onepiecetecaSource, + //Demon Sect (PT-BR) + prismascansSource, + //Sussy Scan (PT-BR) + sussyscanSource, + //Kings-Manga (TH) + kingsmangaSource, + //MangaDeemak (TH) + mangadeemakSource, + //ManhuaBug (TH) + manhuabugSource, + //ManhuaThai (TH) + manhuathaiSource, + //ManhwaBreakup (TH) + manhwabreakupSource, + //Atikrost (TR) + atikrostSource, + //DiamondFansub (TR) + diamondfansubSource, + //ManWe (TR) + evascansSource, + //Garcia Manga (TR) + garciamangaSource, + //GuncelManga (TR) + guncelmangaSource, + //LilyumFansub (TR) + lilyumfansubSource, + //MangaGezgini (TR) + mangagezginiSource, + //Manga Keyfi (TR) + mangakeyfiSource, + //Manga Oku (TR) + mangaokuSource, + //MangaWOW (TR) + mangawowSource, + //Merlin Scans (TR) + merlinscansSource, + //Rüya Manga (TR) + ruyamangaSource, + //Türkçe Manga Oku (TR) + turkcemangaokuSource, + //Webtoon Hatti (TR) + webtoonhattiSource, + ] + .map( + (e) => + e + ..itemType = ItemType.manga + ..sourceCodeUrl = madaraSourceCodeUrl + ..version = madaraVersion, + ) + .toList(); diff --git a/dart/manga/multisrc/madara/src/akumanotenshi/akumanotenshi.dart b/dart/manga/multisrc/madara/src/akumanotenshi/akumanotenshi.dart index 9aa9ec5e..ce6e0806 100644 --- a/dart/manga/multisrc/madara/src/akumanotenshi/akumanotenshi.dart +++ b/dart/manga/multisrc/madara/src/akumanotenshi/akumanotenshi.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get akumanotenshiSource => _akumanotenshiSource; - - Source _akumanotenshiSource = Source( - name: "Akuma no Tenshi", - baseUrl: "https://akumanotenshi.com", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/akumanotenshi/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get akumanotenshiSource => _akumanotenshiSource; + +Source _akumanotenshiSource = Source( + name: "Akuma no Tenshi", + baseUrl: "https://akumanotenshi.com", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/akumanotenshi/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/alonescanlator/alonescanlator.dart b/dart/manga/multisrc/madara/src/alonescanlator/alonescanlator.dart index 20ffb66f..12e92ed7 100644 --- a/dart/manga/multisrc/madara/src/alonescanlator/alonescanlator.dart +++ b/dart/manga/multisrc/madara/src/alonescanlator/alonescanlator.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get alonescanlatorSource => _alonescanlatorSource; Source _alonescanlatorSource = Source( - name: "Alone Scanlator", - baseUrl: "https://alonescanlator.com.br", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/alonescanlator/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br" - ); + name: "Alone Scanlator", + baseUrl: "https://alonescanlator.com.br", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/alonescanlator/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/anikiga/anikiga.dart b/dart/manga/multisrc/madara/src/anikiga/anikiga.dart index 5612b263..9f1adb8c 100644 --- a/dart/manga/multisrc/madara/src/anikiga/anikiga.dart +++ b/dart/manga/multisrc/madara/src/anikiga/anikiga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get anikigaSource => _anikigaSource; - - Source _anikigaSource = Source( - name: "Anikiga", - baseUrl: "https://anikiga.com", - lang: "tr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/anikiga/icon.png", - dateFormat:"d MMMMM yyyy", - dateFormatLocale:"tr", - ); \ No newline at end of file +Source get anikigaSource => _anikigaSource; + +Source _anikigaSource = Source( + name: "Anikiga", + baseUrl: "https://anikiga.com", + lang: "tr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/anikiga/icon.png", + dateFormat: "d MMMMM yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/araznovel/araznovel.dart b/dart/manga/multisrc/madara/src/araznovel/araznovel.dart index 58a8ed22..4c4200fa 100644 --- a/dart/manga/multisrc/madara/src/araznovel/araznovel.dart +++ b/dart/manga/multisrc/madara/src/araznovel/araznovel.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get araznovelSource => _araznovelSource; - - Source _araznovelSource = Source( - name: "ArazNovel", - baseUrl: "https://www.araznovel.com", - lang: "tr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/araznovel/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"en", - ); \ No newline at end of file +Source get araznovelSource => _araznovelSource; + +Source _araznovelSource = Source( + name: "ArazNovel", + baseUrl: "https://www.araznovel.com", + lang: "tr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/araznovel/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/arthurscan/arthurscan.dart b/dart/manga/multisrc/madara/src/arthurscan/arthurscan.dart index aa8239fd..8faa3b2c 100644 --- a/dart/manga/multisrc/madara/src/arthurscan/arthurscan.dart +++ b/dart/manga/multisrc/madara/src/arthurscan/arthurscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get arthurscanSource => _arthurscanSource; - - Source _arthurscanSource = Source( - name: "Arthur Scan", - baseUrl: "https://arthurscan.xyz", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/arthurscan/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get arthurscanSource => _arthurscanSource; + +Source _arthurscanSource = Source( + name: "Arthur Scan", + baseUrl: "https://arthurscan.xyz", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/arthurscan/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/astralmanga/astralmanga.dart b/dart/manga/multisrc/madara/src/astralmanga/astralmanga.dart index a8734bd6..f78dfafb 100644 --- a/dart/manga/multisrc/madara/src/astralmanga/astralmanga.dart +++ b/dart/manga/multisrc/madara/src/astralmanga/astralmanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get astralmangaSource => _astralmangaSource; - - Source _astralmangaSource = Source( - name: "AstralManga", - baseUrl: "https://astral-manga.fr", - lang: "fr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/astralmanga/icon.png", - dateFormat:"dd/mm/yyyy", - dateFormatLocale:"fr", - ); \ No newline at end of file +Source get astralmangaSource => _astralmangaSource; + +Source _astralmangaSource = Source( + name: "AstralManga", + baseUrl: "https://astral-manga.fr", + lang: "fr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/astralmanga/icon.png", + dateFormat: "dd/mm/yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/madara/src/asurascansus/asurascansus.dart b/dart/manga/multisrc/madara/src/asurascansus/asurascansus.dart index 08bc139e..4c5b512b 100644 --- a/dart/manga/multisrc/madara/src/asurascansus/asurascansus.dart +++ b/dart/manga/multisrc/madara/src/asurascansus/asurascansus.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get asurascansusSource => _asurascansusSource; - - Source _asurascansusSource = Source( - name: "Asura Scans.us (unoriginal)", - baseUrl: "https://asurascans.us", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/asurascansus/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get asurascansusSource => _asurascansusSource; + +Source _asurascansusSource = Source( + name: "Asura Scans.us (unoriginal)", + baseUrl: "https://asurascans.us", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/asurascansus/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/atikrost/atikrost.dart b/dart/manga/multisrc/madara/src/atikrost/atikrost.dart index 54c9799b..bf48e320 100644 --- a/dart/manga/multisrc/madara/src/atikrost/atikrost.dart +++ b/dart/manga/multisrc/madara/src/atikrost/atikrost.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get atikrostSource => _atikrostSource; Source _atikrostSource = Source( - name: "Atikrost", - baseUrl: "https://www.atikrost.com", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/atikrost/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"tr" - ); + name: "Atikrost", + baseUrl: "https://www.atikrost.com", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/atikrost/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/barmanga/barmanga.dart b/dart/manga/multisrc/madara/src/barmanga/barmanga.dart index 8117d05e..969b34ce 100644 --- a/dart/manga/multisrc/madara/src/barmanga/barmanga.dart +++ b/dart/manga/multisrc/madara/src/barmanga/barmanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get barmangaSource => _barmangaSource; - - Source _barmangaSource = Source( - name: "BarManga", - baseUrl: "https://barmanga.com", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/barmanga/icon.png", - dateFormat:"MM/dd/yyyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get barmangaSource => _barmangaSource; + +Source _barmangaSource = Source( + name: "BarManga", + baseUrl: "https://barmanga.com", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/barmanga/icon.png", + dateFormat: "MM/dd/yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/bestmanga/bestmanga.dart b/dart/manga/multisrc/madara/src/bestmanga/bestmanga.dart index acffde3a..109e35ba 100644 --- a/dart/manga/multisrc/madara/src/bestmanga/bestmanga.dart +++ b/dart/manga/multisrc/madara/src/bestmanga/bestmanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get bestmangaSource => _bestmangaSource; - - Source _bestmangaSource = Source( - name: "BestManga", - baseUrl: "https://bestmanga.club", - lang: "ru", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/bestmanga/icon.png", - dateFormat:"dd.MM.yyyy", - dateFormatLocale:"ru", - ); \ No newline at end of file +Source get bestmangaSource => _bestmangaSource; + +Source _bestmangaSource = Source( + name: "BestManga", + baseUrl: "https://bestmanga.club", + lang: "ru", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/bestmanga/icon.png", + dateFormat: "dd.MM.yyyy", + dateFormatLocale: "ru", +); diff --git a/dart/manga/multisrc/madara/src/bokugentranslation/bokugentranslation.dart b/dart/manga/multisrc/madara/src/bokugentranslation/bokugentranslation.dart index f7cfa225..94a7453d 100644 --- a/dart/manga/multisrc/madara/src/bokugentranslation/bokugentranslation.dart +++ b/dart/manga/multisrc/madara/src/bokugentranslation/bokugentranslation.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get bokugentranslationSource => _bokugentranslationSource; Source _bokugentranslationSource = Source( - name: "BokugenTranslation", - baseUrl: "https://bokugents.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/bokugentranslation/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "BokugenTranslation", + baseUrl: "https://bokugents.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/bokugentranslation/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/borutoexplorer/borutoexplorer.dart b/dart/manga/multisrc/madara/src/borutoexplorer/borutoexplorer.dart index 9729423a..f813df36 100644 --- a/dart/manga/multisrc/madara/src/borutoexplorer/borutoexplorer.dart +++ b/dart/manga/multisrc/madara/src/borutoexplorer/borutoexplorer.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get borutoexplorerSource => _borutoexplorerSource; Source _borutoexplorerSource = Source( - name: "Boruto Explorer", - baseUrl: "https://leitor.borutoexplorer.com.br", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/borutoexplorer/icon.png", - dateFormat:"dd 'de' MMMMM 'de' yyyy", - dateFormatLocale:"pt-br" - ); + name: "Boruto Explorer", + baseUrl: "https://leitor.borutoexplorer.com.br", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/borutoexplorer/icon.png", + dateFormat: "dd 'de' MMMMM 'de' yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/chibimanga/chibimanga.dart b/dart/manga/multisrc/madara/src/chibimanga/chibimanga.dart index 3de735c2..05206eb6 100644 --- a/dart/manga/multisrc/madara/src/chibimanga/chibimanga.dart +++ b/dart/manga/multisrc/madara/src/chibimanga/chibimanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get chibimangaSource => _chibimangaSource; - - Source _chibimangaSource = Source( - name: "Chibi Manga", - baseUrl: "https://www.cmreader.info", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/chibimanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get chibimangaSource => _chibimangaSource; + +Source _chibimangaSource = Source( + name: "Chibi Manga", + baseUrl: "https://www.cmreader.info", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/chibimanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/clovermanga/clovermanga.dart b/dart/manga/multisrc/madara/src/clovermanga/clovermanga.dart index 620dae67..c25c4c63 100644 --- a/dart/manga/multisrc/madara/src/clovermanga/clovermanga.dart +++ b/dart/manga/multisrc/madara/src/clovermanga/clovermanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get clovermangaSource => _clovermangaSource; - - Source _clovermangaSource = Source( - name: "Clover Manga", - baseUrl: "https://clover-manga.com", - lang: "tr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/clovermanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"tr", - ); \ No newline at end of file +Source get clovermangaSource => _clovermangaSource; + +Source _clovermangaSource = Source( + name: "Clover Manga", + baseUrl: "https://clover-manga.com", + lang: "tr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/clovermanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/cocorip/cocorip.dart b/dart/manga/multisrc/madara/src/cocorip/cocorip.dart index 9f83b990..4857f60f 100644 --- a/dart/manga/multisrc/madara/src/cocorip/cocorip.dart +++ b/dart/manga/multisrc/madara/src/cocorip/cocorip.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get cocoripSource => _cocoripSource; - - Source _cocoripSource = Source( - name: "Coco Rip", - baseUrl: "https://cocorip.net", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/cocorip/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get cocoripSource => _cocoripSource; + +Source _cocoripSource = Source( + name: "Coco Rip", + baseUrl: "https://cocorip.net", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/cocorip/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/coffeemanga/coffeemanga.dart b/dart/manga/multisrc/madara/src/coffeemanga/coffeemanga.dart index c23452fc..04a78939 100644 --- a/dart/manga/multisrc/madara/src/coffeemanga/coffeemanga.dart +++ b/dart/manga/multisrc/madara/src/coffeemanga/coffeemanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get coffeemangaSource => _coffeemangaSource; - - Source _coffeemangaSource = Source( - name: "Coffee Manga", - baseUrl: "https://coffeemanga.io", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/coffeemanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get coffeemangaSource => _coffeemangaSource; + +Source _coffeemangaSource = Source( + name: "Coffee Manga", + baseUrl: "https://coffeemanga.io", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/coffeemanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/crystalcomics/crystalcomics.dart b/dart/manga/multisrc/madara/src/crystalcomics/crystalcomics.dart index abb1174b..80159500 100644 --- a/dart/manga/multisrc/madara/src/crystalcomics/crystalcomics.dart +++ b/dart/manga/multisrc/madara/src/crystalcomics/crystalcomics.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get crystalcomicsSource => _crystalcomicsSource; Source _crystalcomicsSource = Source( - name: "Crystal Comics", - baseUrl: "https://crystalcomics.com", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/crystalcomics/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"pt-br" - ); + name: "Crystal Comics", + baseUrl: "https://crystalcomics.com", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/crystalcomics/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/daprob/daprob.dart b/dart/manga/multisrc/madara/src/daprob/daprob.dart index 44936e5e..2b3cd47e 100644 --- a/dart/manga/multisrc/madara/src/daprob/daprob.dart +++ b/dart/manga/multisrc/madara/src/daprob/daprob.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get daprobSource => _daprobSource; Source _daprobSource = Source( - name: "DapRob", - baseUrl: "https://daprob.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/daprob/icon.png", - dateFormat:"dd/MM/yyy", - dateFormatLocale:"en" - ); + name: "DapRob", + baseUrl: "https://daprob.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/daprob/icon.png", + dateFormat: "dd/MM/yyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/demanhuas/demanhuas.dart b/dart/manga/multisrc/madara/src/demanhuas/demanhuas.dart index 10c6f352..c2993839 100644 --- a/dart/manga/multisrc/madara/src/demanhuas/demanhuas.dart +++ b/dart/manga/multisrc/madara/src/demanhuas/demanhuas.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get demanhuasSource => _demanhuasSource; Source _demanhuasSource = Source( - name: "DeManhuas", - baseUrl: "https://demanhuas.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/demanhuas/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"es" - ); + name: "DeManhuas", + baseUrl: "https://demanhuas.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/demanhuas/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/diamondfansub/diamondfansub.dart b/dart/manga/multisrc/madara/src/diamondfansub/diamondfansub.dart index e353c46d..3ba6def1 100644 --- a/dart/manga/multisrc/madara/src/diamondfansub/diamondfansub.dart +++ b/dart/manga/multisrc/madara/src/diamondfansub/diamondfansub.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get diamondfansubSource => _diamondfansubSource; Source _diamondfansubSource = Source( - name: "DiamondFansub", - baseUrl: "https://diamondfansub.com", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/diamondfansub/icon.png", - dateFormat:"d MMMM", - dateFormatLocale:"tr-tr" - ); + name: "DiamondFansub", + baseUrl: "https://diamondfansub.com", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/diamondfansub/icon.png", + dateFormat: "d MMMM", + dateFormatLocale: "tr-tr", +); diff --git a/dart/manga/multisrc/madara/src/doodmanga/doodmanga.dart b/dart/manga/multisrc/madara/src/doodmanga/doodmanga.dart index bdf0a591..dedf537e 100644 --- a/dart/manga/multisrc/madara/src/doodmanga/doodmanga.dart +++ b/dart/manga/multisrc/madara/src/doodmanga/doodmanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get doodmangaSource => _doodmangaSource; - - Source _doodmangaSource = Source( - name: "Doodmanga", - baseUrl: "https://www.doodmanga.com", - lang: "th", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/doodmanga/icon.png", - dateFormat:"dd MMMMM yyyy", - dateFormatLocale:"th", - ); \ No newline at end of file +Source get doodmangaSource => _doodmangaSource; + +Source _doodmangaSource = Source( + name: "Doodmanga", + baseUrl: "https://www.doodmanga.com", + lang: "th", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/doodmanga/icon.png", + dateFormat: "dd MMMMM yyyy", + dateFormatLocale: "th", +); diff --git a/dart/manga/multisrc/madara/src/dragontea/dragontea.dart b/dart/manga/multisrc/madara/src/dragontea/dragontea.dart index f081816d..7cd80740 100644 --- a/dart/manga/multisrc/madara/src/dragontea/dragontea.dart +++ b/dart/manga/multisrc/madara/src/dragontea/dragontea.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get dragonteaSource => _dragonteaSource; Source _dragonteaSource = Source( - name: "DragonTea", - baseUrl: "https://dragontea.ink", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/dragontea/icon.png", - dateFormat:"MM/dd/yyyy", - dateFormatLocale:"en_us" - ); + name: "DragonTea", + baseUrl: "https://dragontea.ink", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/dragontea/icon.png", + dateFormat: "MM/dd/yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/elitemanga/elitemanga.dart b/dart/manga/multisrc/madara/src/elitemanga/elitemanga.dart index efecf166..7ceffb65 100644 --- a/dart/manga/multisrc/madara/src/elitemanga/elitemanga.dart +++ b/dart/manga/multisrc/madara/src/elitemanga/elitemanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get elitemangaSource => _elitemangaSource; - - Source _elitemangaSource = Source( - name: "Elite Manga", - baseUrl: "https://www.elitemanga.org", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/elitemanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get elitemangaSource => _elitemangaSource; + +Source _elitemangaSource = Source( + name: "Elite Manga", + baseUrl: "https://www.elitemanga.org", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/elitemanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/emperorscan/emperorscan.dart b/dart/manga/multisrc/madara/src/emperorscan/emperorscan.dart index 33c27598..5233c169 100644 --- a/dart/manga/multisrc/madara/src/emperorscan/emperorscan.dart +++ b/dart/manga/multisrc/madara/src/emperorscan/emperorscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get emperorscanSource => _emperorscanSource; - - Source _emperorscanSource = Source( - name: "Emperor Scan", - baseUrl: "https://emperorscan.com", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/emperorscan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get emperorscanSource => _emperorscanSource; + +Source _emperorscanSource = Source( + name: "Emperor Scan", + baseUrl: "https://emperorscan.com", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/emperorscan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/evascans/evascans.dart b/dart/manga/multisrc/madara/src/evascans/evascans.dart index 91818c51..5b364a00 100644 --- a/dart/manga/multisrc/madara/src/evascans/evascans.dart +++ b/dart/manga/multisrc/madara/src/evascans/evascans.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get evascansSource => _evascansSource; - - Source _evascansSource = Source( - name: "EvaScans", - baseUrl: "https://evascans.com", - lang: "tr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/evascans/icon.png", - dateFormat:"MMM d, yyy", - dateFormatLocale:"tr", - ); \ No newline at end of file +Source get evascansSource => _evascansSource; + +Source _evascansSource = Source( + name: "EvaScans", + baseUrl: "https://evascans.com", + lang: "tr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/evascans/icon.png", + dateFormat: "MMM d, yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/factmanga/factmanga.dart b/dart/manga/multisrc/madara/src/factmanga/factmanga.dart index c64fde2b..bc5526cc 100644 --- a/dart/manga/multisrc/madara/src/factmanga/factmanga.dart +++ b/dart/manga/multisrc/madara/src/factmanga/factmanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get factmangaSource => _factmangaSource; - - Source _factmangaSource = Source( - name: "FactManga", - baseUrl: "https://factmanga.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/factmanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get factmangaSource => _factmangaSource; + +Source _factmangaSource = Source( + name: "FactManga", + baseUrl: "https://factmanga.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/factmanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/falconmanga/falconmanga.dart b/dart/manga/multisrc/madara/src/falconmanga/falconmanga.dart index 9b7a27cb..124a2a3a 100644 --- a/dart/manga/multisrc/madara/src/falconmanga/falconmanga.dart +++ b/dart/manga/multisrc/madara/src/falconmanga/falconmanga.dart @@ -1,14 +1,13 @@ import '../../../../../../model/source.dart'; - Source get falconmangaSource => _falconmangaSource; - - Source _falconmangaSource = Source( - name: "فالكون مانجا", - baseUrl: "https://falconmanga.com", - lang: "ar", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/falconmanga/icon.png", - - - ); \ No newline at end of file +Source get falconmangaSource => _falconmangaSource; + +Source _falconmangaSource = Source( + name: "فالكون مانجا", + baseUrl: "https://falconmanga.com", + lang: "ar", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/falconmanga/icon.png", +); diff --git a/dart/manga/multisrc/madara/src/fayscans/fayscans.dart b/dart/manga/multisrc/madara/src/fayscans/fayscans.dart index 175c3828..697ec57a 100644 --- a/dart/manga/multisrc/madara/src/fayscans/fayscans.dart +++ b/dart/manga/multisrc/madara/src/fayscans/fayscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get fayscansSource => _fayscansSource; Source _fayscansSource = Source( - name: "Fay Scans", - baseUrl: "https://fayscans.net", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/fayscans/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br" - ); + name: "Fay Scans", + baseUrl: "https://fayscans.net", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/fayscans/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/firstkissdashmanga/firstkissdashmanga.dart b/dart/manga/multisrc/madara/src/firstkissdashmanga/firstkissdashmanga.dart index deb9fb77..f8b0521e 100644 --- a/dart/manga/multisrc/madara/src/firstkissdashmanga/firstkissdashmanga.dart +++ b/dart/manga/multisrc/madara/src/firstkissdashmanga/firstkissdashmanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get firstkissdashmangaSource => _firstkissdashmangaSource; - - Source _firstkissdashmangaSource = Source( - name: "1st Kiss-Manga (unoriginal)", - baseUrl: "https://1stkiss-manga.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/firstkissdashmanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get firstkissdashmangaSource => _firstkissdashmangaSource; + +Source _firstkissdashmangaSource = Source( + name: "1st Kiss-Manga (unoriginal)", + baseUrl: "https://1stkiss-manga.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/firstkissdashmanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/freemangatop/freemangatop.dart b/dart/manga/multisrc/madara/src/freemangatop/freemangatop.dart index a5310e19..2924677c 100644 --- a/dart/manga/multisrc/madara/src/freemangatop/freemangatop.dart +++ b/dart/manga/multisrc/madara/src/freemangatop/freemangatop.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get freemangatopSource => _freemangatopSource; - - Source _freemangatopSource = Source( - name: "FreeMangaTop", - baseUrl: "https://freemangatop.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/freemangatop/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get freemangatopSource => _freemangatopSource; + +Source _freemangatopSource = Source( + name: "FreeMangaTop", + baseUrl: "https://freemangatop.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/freemangatop/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/frscan/frscan.dart b/dart/manga/multisrc/madara/src/frscan/frscan.dart index e8496294..5793527e 100644 --- a/dart/manga/multisrc/madara/src/frscan/frscan.dart +++ b/dart/manga/multisrc/madara/src/frscan/frscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get frscanSource => _frscanSource; - - Source _frscanSource = Source( - name: "FR-Scan", - baseUrl: "https://fr-scan.com", - lang: "fr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/frscan/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"fr", - ); \ No newline at end of file +Source get frscanSource => _frscanSource; + +Source _frscanSource = Source( + name: "FR-Scan", + baseUrl: "https://fr-scan.com", + lang: "fr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/frscan/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/madara/src/galinhasamuraiscan/galinhasamuraiscan.dart b/dart/manga/multisrc/madara/src/galinhasamuraiscan/galinhasamuraiscan.dart index a799038f..246aa742 100644 --- a/dart/manga/multisrc/madara/src/galinhasamuraiscan/galinhasamuraiscan.dart +++ b/dart/manga/multisrc/madara/src/galinhasamuraiscan/galinhasamuraiscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get galinhasamuraiscanSource => _galinhasamuraiscanSource; Source _galinhasamuraiscanSource = Source( - name: "Galinha Samurai Scan", - baseUrl: "https://galinhasamurai.com", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/galinhasamuraiscan/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br" - ); + name: "Galinha Samurai Scan", + baseUrl: "https://galinhasamurai.com", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/galinhasamuraiscan/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/garciamanga/garciamanga.dart b/dart/manga/multisrc/madara/src/garciamanga/garciamanga.dart index 6519b976..64512218 100644 --- a/dart/manga/multisrc/madara/src/garciamanga/garciamanga.dart +++ b/dart/manga/multisrc/madara/src/garciamanga/garciamanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get garciamangaSource => _garciamangaSource; Source _garciamangaSource = Source( - name: "Garcia Manga", - baseUrl: "https://garciamanga.com", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/garciamanga/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"tr" - ); + name: "Garcia Manga", + baseUrl: "https://garciamanga.com", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/garciamanga/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/gatemanga/gatemanga.dart b/dart/manga/multisrc/madara/src/gatemanga/gatemanga.dart index 2f17a40a..1cf63a1c 100644 --- a/dart/manga/multisrc/madara/src/gatemanga/gatemanga.dart +++ b/dart/manga/multisrc/madara/src/gatemanga/gatemanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get gatemangaSource => _gatemangaSource; Source _gatemangaSource = Source( - name: "Gatemanga", - baseUrl: "https://gatemanga.com", - lang: "ar", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/gatemanga/icon.png", - dateFormat:"d MMMM، yyyy", - dateFormatLocale:"ar" - ); + name: "Gatemanga", + baseUrl: "https://gatemanga.com", + lang: "ar", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/gatemanga/icon.png", + dateFormat: "d MMMM، yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/madara/src/globalbloging/globalbloging.dart b/dart/manga/multisrc/madara/src/globalbloging/globalbloging.dart index a9b14967..4871c167 100644 --- a/dart/manga/multisrc/madara/src/globalbloging/globalbloging.dart +++ b/dart/manga/multisrc/madara/src/globalbloging/globalbloging.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get globalblogingSource => _globalblogingSource; Source _globalblogingSource = Source( - name: "Global Bloging", - baseUrl: "https://globalbloging.com", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/globalbloging/icon.png", - dateFormat:"dd MMMM yyyy", - dateFormatLocale:"en_us" - ); + name: "Global Bloging", + baseUrl: "https://globalbloging.com", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/globalbloging/icon.png", + dateFormat: "dd MMMM yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/glorymanga/glorymanga.dart b/dart/manga/multisrc/madara/src/glorymanga/glorymanga.dart index f6860513..fdf9f680 100644 --- a/dart/manga/multisrc/madara/src/glorymanga/glorymanga.dart +++ b/dart/manga/multisrc/madara/src/glorymanga/glorymanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get glorymangaSource => _glorymangaSource; - - Source _glorymangaSource = Source( - name: "Glory Manga", - baseUrl: "https://glorymanga.com", - lang: "tr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/glorymanga/icon.png", - dateFormat:"dd/MM/yyy", - dateFormatLocale:"tr", - ); \ No newline at end of file +Source get glorymangaSource => _glorymangaSource; + +Source _glorymangaSource = Source( + name: "Glory Manga", + baseUrl: "https://glorymanga.com", + lang: "tr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/glorymanga/icon.png", + dateFormat: "dd/MM/yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/gmangasite/gmangasite.dart b/dart/manga/multisrc/madara/src/gmangasite/gmangasite.dart index 2b3974f0..a12df3bf 100644 --- a/dart/manga/multisrc/madara/src/gmangasite/gmangasite.dart +++ b/dart/manga/multisrc/madara/src/gmangasite/gmangasite.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get gmangasiteSource => _gmangasiteSource; Source _gmangasiteSource = Source( - name: "GMANGA (unoriginal)", - baseUrl: "https://gmanga.site", - lang: "ar", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/gmangasite/icon.png", - dateFormat:"MMMM dd، yyyy", - dateFormatLocale:"ar" - ); + name: "GMANGA (unoriginal)", + baseUrl: "https://gmanga.site", + lang: "ar", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/gmangasite/icon.png", + dateFormat: "MMMM dd، yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/madara/src/grabberzone/grabberzone.dart b/dart/manga/multisrc/madara/src/grabberzone/grabberzone.dart index 2955ccc6..d6be6551 100644 --- a/dart/manga/multisrc/madara/src/grabberzone/grabberzone.dart +++ b/dart/manga/multisrc/madara/src/grabberzone/grabberzone.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get grabberzoneSource => _grabberzoneSource; Source _grabberzoneSource = Source( - name: "Grabber Zone", - baseUrl: "https://grabber.zone", - lang: "all", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/grabberzone/icon.png", - dateFormat:"dd.MM.yyyy", - dateFormatLocale:"en" - ); + name: "Grabber Zone", + baseUrl: "https://grabber.zone", + lang: "all", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/grabberzone/icon.png", + dateFormat: "dd.MM.yyyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/guncelmanga/guncelmanga.dart b/dart/manga/multisrc/madara/src/guncelmanga/guncelmanga.dart index 3e0ee09a..76077ee0 100644 --- a/dart/manga/multisrc/madara/src/guncelmanga/guncelmanga.dart +++ b/dart/manga/multisrc/madara/src/guncelmanga/guncelmanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get guncelmangaSource => _guncelmangaSource; Source _guncelmangaSource = Source( - name: "GuncelManga", - baseUrl: "https://guncelmanga.net", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/guncelmanga/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"tr" - ); + name: "GuncelManga", + baseUrl: "https://guncelmanga.net", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/guncelmanga/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/harimanga/harimanga.dart b/dart/manga/multisrc/madara/src/harimanga/harimanga.dart index fd18e2e3..b410d27c 100644 --- a/dart/manga/multisrc/madara/src/harimanga/harimanga.dart +++ b/dart/manga/multisrc/madara/src/harimanga/harimanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get harimangaSource => _harimangaSource; - - Source _harimangaSource = Source( - name: "Harimanga", - baseUrl: "https://harimanga.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/harimanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get harimangaSource => _harimangaSource; + +Source _harimangaSource = Source( + name: "Harimanga", + baseUrl: "https://harimanga.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/harimanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/herenscan/herenscan.dart b/dart/manga/multisrc/madara/src/herenscan/herenscan.dart index 9126b31e..9d4083a7 100644 --- a/dart/manga/multisrc/madara/src/herenscan/herenscan.dart +++ b/dart/manga/multisrc/madara/src/herenscan/herenscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get herenscanSource => _herenscanSource; Source _herenscanSource = Source( - name: "HerenScan", - baseUrl: "https://herenscan.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/herenscan/icon.png", - dateFormat:"d 'de' MMM 'de' yyy", - dateFormatLocale:"es" - ); + name: "HerenScan", + baseUrl: "https://herenscan.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/herenscan/icon.png", + dateFormat: "d 'de' MMM 'de' yyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/hikariganai/hikariganai.dart b/dart/manga/multisrc/madara/src/hikariganai/hikariganai.dart index 75bd6dae..b604c656 100644 --- a/dart/manga/multisrc/madara/src/hikariganai/hikariganai.dart +++ b/dart/manga/multisrc/madara/src/hikariganai/hikariganai.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get hikariganaiSource => _hikariganaiSource; Source _hikariganaiSource = Source( - name: "Hikari Ga Nai", - baseUrl: "https://hikariganai.xyz", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/hikariganai/icon.png", - dateFormat:"d 'de' MMMM 'de' yyyy", - dateFormatLocale:"pt-br" - ); + name: "Hikari Ga Nai", + baseUrl: "https://hikariganai.xyz", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/hikariganai/icon.png", + dateFormat: "d 'de' MMMM 'de' yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/housemangas/housemangas.dart b/dart/manga/multisrc/madara/src/housemangas/housemangas.dart index 2d673dad..c867d9e8 100644 --- a/dart/manga/multisrc/madara/src/housemangas/housemangas.dart +++ b/dart/manga/multisrc/madara/src/housemangas/housemangas.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get housemangasSource => _housemangasSource; Source _housemangasSource = Source( - name: "HouseMangas", - baseUrl: "https://housemangas.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/housemangas/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "HouseMangas", + baseUrl: "https://housemangas.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/housemangas/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/hwago/hwago.dart b/dart/manga/multisrc/madara/src/hwago/hwago.dart index d5154960..ea0a45a4 100644 --- a/dart/manga/multisrc/madara/src/hwago/hwago.dart +++ b/dart/manga/multisrc/madara/src/hwago/hwago.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get hwagoSource => _hwagoSource; Source _hwagoSource = Source( - name: "Hwago", - baseUrl: "https://hwago.org", - lang: "id", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/hwago/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"en" - ); + name: "Hwago", + baseUrl: "https://hwago.org", + lang: "id", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/hwago/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/immortalupdates/immortalupdates.dart b/dart/manga/multisrc/madara/src/immortalupdates/immortalupdates.dart index 365a3bb5..378f83fd 100644 --- a/dart/manga/multisrc/madara/src/immortalupdates/immortalupdates.dart +++ b/dart/manga/multisrc/madara/src/immortalupdates/immortalupdates.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get immortalupdatesSource => _immortalupdatesSource; - - Source _immortalupdatesSource = Source( - name: "Immortal Updates", - baseUrl: "https://immortalupdates.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/immortalupdates/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get immortalupdatesSource => _immortalupdatesSource; + +Source _immortalupdatesSource = Source( + name: "Immortal Updates", + baseUrl: "https://immortalupdates.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/immortalupdates/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/imperiodabritannia/imperiodabritannia.dart b/dart/manga/multisrc/madara/src/imperiodabritannia/imperiodabritannia.dart index 7f83515c..84930cb2 100644 --- a/dart/manga/multisrc/madara/src/imperiodabritannia/imperiodabritannia.dart +++ b/dart/manga/multisrc/madara/src/imperiodabritannia/imperiodabritannia.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get imperiodabritanniaSource => _imperiodabritanniaSource; Source _imperiodabritanniaSource = Source( - name: "Sagrado Império da Britannia", - baseUrl: "https://imperiodabritannia.com", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/imperiodabritannia/icon.png", - dateFormat:"dd 'de' MMMMM 'de' yyyy", - dateFormatLocale:"pt-br" - ); + name: "Sagrado Império da Britannia", + baseUrl: "https://imperiodabritannia.com", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/imperiodabritannia/icon.png", + dateFormat: "dd 'de' MMMMM 'de' yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/imperioscans/imperioscans.dart b/dart/manga/multisrc/madara/src/imperioscans/imperioscans.dart index 3d9fae00..6fd2c27f 100644 --- a/dart/manga/multisrc/madara/src/imperioscans/imperioscans.dart +++ b/dart/manga/multisrc/madara/src/imperioscans/imperioscans.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get imperioscansSource => _imperioscansSource; - - Source _imperioscansSource = Source( - name: "Império Scans", - baseUrl: "https://imperioscans.com.br", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/imperioscans/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get imperioscansSource => _imperioscansSource; + +Source _imperioscansSource = Source( + name: "Império Scans", + baseUrl: "https://imperioscans.com.br", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/imperioscans/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/infrafandub/infrafandub.dart b/dart/manga/multisrc/madara/src/infrafandub/infrafandub.dart index 11926489..ef5117b2 100644 --- a/dart/manga/multisrc/madara/src/infrafandub/infrafandub.dart +++ b/dart/manga/multisrc/madara/src/infrafandub/infrafandub.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get infrafandubSource => _infrafandubSource; Source _infrafandubSource = Source( - name: "InfraFandub", - baseUrl: "https://infrafandub.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/infrafandub/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"es" - ); + name: "InfraFandub", + baseUrl: "https://infrafandub.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/infrafandub/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/inmoralnofansub/inmoralnofansub.dart b/dart/manga/multisrc/madara/src/inmoralnofansub/inmoralnofansub.dart index bbdebd2a..e228e792 100644 --- a/dart/manga/multisrc/madara/src/inmoralnofansub/inmoralnofansub.dart +++ b/dart/manga/multisrc/madara/src/inmoralnofansub/inmoralnofansub.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get inmoralnofansubSource => _inmoralnofansubSource; Source _inmoralnofansubSource = Source( - name: "Inmoral No Fansub", - baseUrl: "https://inmoralnofansub.xyz", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/inmoralnofansub/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"es" - ); + name: "Inmoral No Fansub", + baseUrl: "https://inmoralnofansub.xyz", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/inmoralnofansub/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/inmortalscan/inmortalscan.dart b/dart/manga/multisrc/madara/src/inmortalscan/inmortalscan.dart index 02321c9f..c3bf45a0 100644 --- a/dart/manga/multisrc/madara/src/inmortalscan/inmortalscan.dart +++ b/dart/manga/multisrc/madara/src/inmortalscan/inmortalscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get inmortalscanSource => _inmortalscanSource; - - Source _inmortalscanSource = Source( - name: "Inmortal Scan", - baseUrl: "https://manga.mundodrama.site", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/inmortalscan/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get inmortalscanSource => _inmortalscanSource; + +Source _inmortalscanSource = Source( + name: "Inmortal Scan", + baseUrl: "https://manga.mundodrama.site", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/inmortalscan/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/isekaiscanmanga/isekaiscanmanga.dart b/dart/manga/multisrc/madara/src/isekaiscanmanga/isekaiscanmanga.dart index dd52da8e..ed9ac6a2 100644 --- a/dart/manga/multisrc/madara/src/isekaiscanmanga/isekaiscanmanga.dart +++ b/dart/manga/multisrc/madara/src/isekaiscanmanga/isekaiscanmanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get isekaiscanmangaSource => _isekaiscanmangaSource; - - Source _isekaiscanmangaSource = Source( - name: "IsekaiScanManga (unoriginal)", - baseUrl: "https://isekaiscanmanga.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/isekaiscanmanga/icon.png", - dateFormat:"dd MMM، yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get isekaiscanmangaSource => _isekaiscanmangaSource; + +Source _isekaiscanmangaSource = Source( + name: "IsekaiScanManga (unoriginal)", + baseUrl: "https://isekaiscanmanga.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/isekaiscanmanga/icon.png", + dateFormat: "dd MMM، yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/jeazscans/jeazscans.dart b/dart/manga/multisrc/madara/src/jeazscans/jeazscans.dart index 078cf6c7..110e0304 100644 --- a/dart/manga/multisrc/madara/src/jeazscans/jeazscans.dart +++ b/dart/manga/multisrc/madara/src/jeazscans/jeazscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get jeazscansSource => _jeazscansSource; Source _jeazscansSource = Source( - name: "JeazScans", - baseUrl: "https://jeazscansv2.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/jeazscans/icon.png", - dateFormat:"d MMMM, yyyy", - dateFormatLocale:"es" - ); + name: "JeazScans", + baseUrl: "https://jeazscansv2.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/jeazscans/icon.png", + dateFormat: "d MMMM, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/jimanga/jimanga.dart b/dart/manga/multisrc/madara/src/jimanga/jimanga.dart index 11e018cd..e1c337ec 100644 --- a/dart/manga/multisrc/madara/src/jimanga/jimanga.dart +++ b/dart/manga/multisrc/madara/src/jimanga/jimanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get jimangaSource => _jimangaSource; - - Source _jimangaSource = Source( - name: "Jimanga", - baseUrl: "https://jimanga.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/jimanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get jimangaSource => _jimangaSource; + +Source _jimangaSource = Source( + name: "Jimanga", + baseUrl: "https://jimanga.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/jimanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/jobsibe/jobsibe.dart b/dart/manga/multisrc/madara/src/jobsibe/jobsibe.dart index 64b3b2c8..e72453cd 100644 --- a/dart/manga/multisrc/madara/src/jobsibe/jobsibe.dart +++ b/dart/manga/multisrc/madara/src/jobsibe/jobsibe.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get jobsibeSource => _jobsibeSource; Source _jobsibeSource = Source( - name: "Jobsibe", - baseUrl: "https://jobsibe.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/jobsibe/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"es" - ); + name: "Jobsibe", + baseUrl: "https://jobsibe.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/jobsibe/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/kakuseiproject/kakuseiproject.dart b/dart/manga/multisrc/madara/src/kakuseiproject/kakuseiproject.dart index fdd6dab5..77d53e90 100644 --- a/dart/manga/multisrc/madara/src/kakuseiproject/kakuseiproject.dart +++ b/dart/manga/multisrc/madara/src/kakuseiproject/kakuseiproject.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get kakuseiprojectSource => _kakuseiprojectSource; - - Source _kakuseiprojectSource = Source( - name: "Kakusei Project", - baseUrl: "https://kakuseiproject.com.br", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/kakuseiproject/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get kakuseiprojectSource => _kakuseiprojectSource; + +Source _kakuseiprojectSource = Source( + name: "Kakusei Project", + baseUrl: "https://kakuseiproject.com.br", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/kakuseiproject/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/kamisamaexplorer/kamisamaexplorer.dart b/dart/manga/multisrc/madara/src/kamisamaexplorer/kamisamaexplorer.dart index be1df7a2..bb1d1cbc 100644 --- a/dart/manga/multisrc/madara/src/kamisamaexplorer/kamisamaexplorer.dart +++ b/dart/manga/multisrc/madara/src/kamisamaexplorer/kamisamaexplorer.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get kamisamaexplorerSource => _kamisamaexplorerSource; - - Source _kamisamaexplorerSource = Source( - name: "Kami Sama Explorer", - baseUrl: "https://leitor.kamisama.com.br", - lang: "pt-br", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/kamisamaexplorer/icon.png", - dateFormat:"dd 'de' MMMM 'de' yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get kamisamaexplorerSource => _kamisamaexplorerSource; + +Source _kamisamaexplorerSource = Source( + name: "Kami Sama Explorer", + baseUrl: "https://leitor.kamisama.com.br", + lang: "pt-br", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/kamisamaexplorer/icon.png", + dateFormat: "dd 'de' MMMM 'de' yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/kingsmanga/kingsmanga.dart b/dart/manga/multisrc/madara/src/kingsmanga/kingsmanga.dart index f4ba6706..820e764e 100644 --- a/dart/manga/multisrc/madara/src/kingsmanga/kingsmanga.dart +++ b/dart/manga/multisrc/madara/src/kingsmanga/kingsmanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get kingsmangaSource => _kingsmangaSource; Source _kingsmangaSource = Source( - name: "Kings-Manga", - baseUrl: "https://www.kings-manga.co", - lang: "th", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/kingsmanga/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"th" - ); + name: "Kings-Manga", + baseUrl: "https://www.kings-manga.co", + lang: "th", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/kingsmanga/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "th", +); diff --git a/dart/manga/multisrc/madara/src/klikmanga/klikmanga.dart b/dart/manga/multisrc/madara/src/klikmanga/klikmanga.dart index b897a404..8b8686e1 100644 --- a/dart/manga/multisrc/madara/src/klikmanga/klikmanga.dart +++ b/dart/manga/multisrc/madara/src/klikmanga/klikmanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get klikmangaSource => _klikmangaSource; Source _klikmangaSource = Source( - name: "KlikManga", - baseUrl: "https://klikmanga.id", - lang: "id", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/klikmanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"id" - ); + name: "KlikManga", + baseUrl: "https://klikmanga.id", + lang: "id", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/klikmanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/madara/src/komikchan/komikchan.dart b/dart/manga/multisrc/madara/src/komikchan/komikchan.dart index 8315498d..2d8560b5 100644 --- a/dart/manga/multisrc/madara/src/komikchan/komikchan.dart +++ b/dart/manga/multisrc/madara/src/komikchan/komikchan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get komikchanSource => _komikchanSource; - - Source _komikchanSource = Source( - name: "Komik Chan", - baseUrl: "https://komikchan.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/komikchan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get komikchanSource => _komikchanSource; + +Source _komikchanSource = Source( + name: "Komik Chan", + baseUrl: "https://komikchan.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/komikchan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/komikuzan/komikuzan.dart b/dart/manga/multisrc/madara/src/komikuzan/komikuzan.dart index de0e9875..934e3ad6 100644 --- a/dart/manga/multisrc/madara/src/komikuzan/komikuzan.dart +++ b/dart/manga/multisrc/madara/src/komikuzan/komikuzan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get komikuzanSource => _komikuzanSource; Source _komikuzanSource = Source( - name: "Komikuzan", - baseUrl: "https://komikuzan.com", - lang: "id", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/komikuzan/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"id" - ); + name: "Komikuzan", + baseUrl: "https://komikuzan.com", + lang: "id", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/komikuzan/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/madara/src/ksgroupscans/ksgroupscans.dart b/dart/manga/multisrc/madara/src/ksgroupscans/ksgroupscans.dart index 10aeba38..8e80c234 100644 --- a/dart/manga/multisrc/madara/src/ksgroupscans/ksgroupscans.dart +++ b/dart/manga/multisrc/madara/src/ksgroupscans/ksgroupscans.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get ksgroupscansSource => _ksgroupscansSource; - - Source _ksgroupscansSource = Source( - name: "KSGroupScans", - baseUrl: "https://ksgroupscans.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/ksgroupscans/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get ksgroupscansSource => _ksgroupscansSource; + +Source _ksgroupscansSource = Source( + name: "KSGroupScans", + baseUrl: "https://ksgroupscans.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/ksgroupscans/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/ladyestelarscan/ladyestelarscan.dart b/dart/manga/multisrc/madara/src/ladyestelarscan/ladyestelarscan.dart index 0d369500..c33ccdad 100644 --- a/dart/manga/multisrc/madara/src/ladyestelarscan/ladyestelarscan.dart +++ b/dart/manga/multisrc/madara/src/ladyestelarscan/ladyestelarscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get ladyestelarscanSource => _ladyestelarscanSource; - - Source _ladyestelarscanSource = Source( - name: "Lady Estelar Scan", - baseUrl: "https://ladyestelarscan.com.br", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/ladyestelarscan/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get ladyestelarscanSource => _ladyestelarscanSource; + +Source _ladyestelarscanSource = Source( + name: "Lady Estelar Scan", + baseUrl: "https://ladyestelarscan.com.br", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/ladyestelarscan/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/legendsnofansub/legendsnofansub.dart b/dart/manga/multisrc/madara/src/legendsnofansub/legendsnofansub.dart index 5a19f678..e7cb010e 100644 --- a/dart/manga/multisrc/madara/src/legendsnofansub/legendsnofansub.dart +++ b/dart/manga/multisrc/madara/src/legendsnofansub/legendsnofansub.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get legendsnofansubSource => _legendsnofansubSource; Source _legendsnofansubSource = Source( - name: "LegnMangas", - baseUrl: "https://legnmangas.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/legendsnofansub/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"es" - ); + name: "LegnMangas", + baseUrl: "https://legnmangas.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/legendsnofansub/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/leitordemanga/leitordemanga.dart b/dart/manga/multisrc/madara/src/leitordemanga/leitordemanga.dart index 4c4db063..0318b41b 100644 --- a/dart/manga/multisrc/madara/src/leitordemanga/leitordemanga.dart +++ b/dart/manga/multisrc/madara/src/leitordemanga/leitordemanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get leitordemangaSource => _leitordemangaSource; Source _leitordemangaSource = Source( - name: "Leitor de Mangá", - baseUrl: "https://leitordemanga.com", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/leitordemanga/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br" - ); + name: "Leitor de Mangá", + baseUrl: "https://leitordemanga.com", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/leitordemanga/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/leviatanscans/leviatanscans.dart b/dart/manga/multisrc/madara/src/leviatanscans/leviatanscans.dart index eac88d0f..9d387875 100644 --- a/dart/manga/multisrc/madara/src/leviatanscans/leviatanscans.dart +++ b/dart/manga/multisrc/madara/src/leviatanscans/leviatanscans.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get leviatanscansSource => _leviatanscansSource; - - Source _leviatanscansSource = Source( - name: "Leviatan Scans", - baseUrl: "https://lscomic.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/leviatanscans/icon.png", - dateFormat:"MMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get leviatanscansSource => _leviatanscansSource; + +Source _leviatanscansSource = Source( + name: "Leviatan Scans", + baseUrl: "https://lscomic.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/leviatanscans/icon.png", + dateFormat: "MMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/lhtranslation/lhtranslation.dart b/dart/manga/multisrc/madara/src/lhtranslation/lhtranslation.dart index bfefc6b6..af175636 100644 --- a/dart/manga/multisrc/madara/src/lhtranslation/lhtranslation.dart +++ b/dart/manga/multisrc/madara/src/lhtranslation/lhtranslation.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get lhtranslationSource => _lhtranslationSource; - - Source _lhtranslationSource = Source( - name: "LHTranslation", - baseUrl: "https://lhtranslation.net", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/lhtranslation/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get lhtranslationSource => _lhtranslationSource; + +Source _lhtranslationSource = Source( + name: "LHTranslation", + baseUrl: "https://lhtranslation.net", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/lhtranslation/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/lilyumfansub/lilyumfansub.dart b/dart/manga/multisrc/madara/src/lilyumfansub/lilyumfansub.dart index d79f8a87..9053c96a 100644 --- a/dart/manga/multisrc/madara/src/lilyumfansub/lilyumfansub.dart +++ b/dart/manga/multisrc/madara/src/lilyumfansub/lilyumfansub.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get lilyumfansubSource => _lilyumfansubSource; Source _lilyumfansubSource = Source( - name: "LilyumFansub", - baseUrl: "https://lilyumfansub.com.tr", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/lilyumfansub/icon.png", - dateFormat:"MMMM dd yyyy", - dateFormatLocale:"tr" - ); + name: "LilyumFansub", + baseUrl: "https://lilyumfansub.com.tr", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/lilyumfansub/icon.png", + dateFormat: "MMMM dd yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/lscans/lscans.dart b/dart/manga/multisrc/madara/src/lscans/lscans.dart index e0ba967c..85e834ea 100644 --- a/dart/manga/multisrc/madara/src/lscans/lscans.dart +++ b/dart/manga/multisrc/madara/src/lscans/lscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get lscansSource => _lscansSource; Source _lscansSource = Source( - name: "L Scans", - baseUrl: "https://lscans.com", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/lscans/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"en" - ); + name: "L Scans", + baseUrl: "https://lscans.com", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/lscans/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/luffymanga/luffymanga.dart b/dart/manga/multisrc/madara/src/luffymanga/luffymanga.dart index 23bb4380..080e3875 100644 --- a/dart/manga/multisrc/madara/src/luffymanga/luffymanga.dart +++ b/dart/manga/multisrc/madara/src/luffymanga/luffymanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get luffymangaSource => _luffymangaSource; - - Source _luffymangaSource = Source( - name: "Luffy Manga", - baseUrl: "https://luffymanga.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/luffymanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get luffymangaSource => _luffymangaSource; + +Source _luffymangaSource = Source( + name: "Luffy Manga", + baseUrl: "https://luffymanga.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/luffymanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/lunarscan/lunarscan.dart b/dart/manga/multisrc/madara/src/lunarscan/lunarscan.dart index e003cefa..e9790404 100644 --- a/dart/manga/multisrc/madara/src/lunarscan/lunarscan.dart +++ b/dart/manga/multisrc/madara/src/lunarscan/lunarscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get lunarscanSource => _lunarscanSource; Source _lunarscanSource = Source( - name: "Lunar Scan", - baseUrl: "https://lunarscan.com.br", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/lunarscan/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"pt-br" - ); + name: "Lunar Scan", + baseUrl: "https://lunarscan.com.br", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/lunarscan/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/maidscan/maidscan.dart b/dart/manga/multisrc/madara/src/maidscan/maidscan.dart index afa20f3c..95af8dbf 100644 --- a/dart/manga/multisrc/madara/src/maidscan/maidscan.dart +++ b/dart/manga/multisrc/madara/src/maidscan/maidscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get maidscanSource => _maidscanSource; - - Source _maidscanSource = Source( - name: "Maid Scan", - baseUrl: "https://maidscan.com.br", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/maidscan/icon.png", - dateFormat:"dd 'de' MMMMM 'de' yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get maidscanSource => _maidscanSource; + +Source _maidscanSource = Source( + name: "Maid Scan", + baseUrl: "https://maidscan.com.br", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/maidscan/icon.png", + dateFormat: "dd 'de' MMMMM 'de' yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/manga347/manga347.dart b/dart/manga/multisrc/madara/src/manga347/manga347.dart index 5b4b8f56..f84a7790 100644 --- a/dart/manga/multisrc/madara/src/manga347/manga347.dart +++ b/dart/manga/multisrc/madara/src/manga347/manga347.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get manga347Source => _manga347Source; Source _manga347Source = Source( - name: "Manga347", - baseUrl: "https://manga347.com", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manga347/icon.png", - dateFormat:"d MMM, yyyy", - dateFormatLocale:"en_us" - ); + name: "Manga347", + baseUrl: "https://manga347.com", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manga347/icon.png", + dateFormat: "d MMM, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/manga3asq/manga3asq.dart b/dart/manga/multisrc/madara/src/manga3asq/manga3asq.dart index d813d534..bff3d39e 100644 --- a/dart/manga/multisrc/madara/src/manga3asq/manga3asq.dart +++ b/dart/manga/multisrc/madara/src/manga3asq/manga3asq.dart @@ -1,14 +1,13 @@ import '../../../../../../model/source.dart'; - Source get manga3asqSource => _manga3asqSource; - - Source _manga3asqSource = Source( - name: "مانجا العاشق", - baseUrl: "https://3asq.org", - lang: "ar", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manga3asq/icon.png", - - - ); \ No newline at end of file +Source get manga3asqSource => _manga3asqSource; + +Source _manga3asqSource = Source( + name: "مانجا العاشق", + baseUrl: "https://3asq.org", + lang: "ar", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manga3asq/icon.png", +); diff --git a/dart/manga/multisrc/madara/src/mangaclash/mangaclash.dart b/dart/manga/multisrc/madara/src/mangaclash/mangaclash.dart index f062f723..c02a8173 100644 --- a/dart/manga/multisrc/madara/src/mangaclash/mangaclash.dart +++ b/dart/manga/multisrc/madara/src/mangaclash/mangaclash.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangaclashSource => _mangaclashSource; - - Source _mangaclashSource = Source( - name: "MangaClash", - baseUrl: "https://mangaclash.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangaclash/icon.png", - dateFormat:"MM/dd/yy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangaclashSource => _mangaclashSource; + +Source _mangaclashSource = Source( + name: "MangaClash", + baseUrl: "https://mangaclash.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangaclash/icon.png", + dateFormat: "MM/dd/yy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangacrab/mangacrab.dart b/dart/manga/multisrc/madara/src/mangacrab/mangacrab.dart index b9a77aa1..e5cf6c43 100644 --- a/dart/manga/multisrc/madara/src/mangacrab/mangacrab.dart +++ b/dart/manga/multisrc/madara/src/mangacrab/mangacrab.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangacrabSource => _mangacrabSource; Source _mangacrabSource = Source( - name: "Manga Crab", - baseUrl: "https://visorcrab.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangacrab/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"es" - ); + name: "Manga Crab", + baseUrl: "https://visorcrab.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangacrab/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/mangadeemak/mangadeemak.dart b/dart/manga/multisrc/madara/src/mangadeemak/mangadeemak.dart index 24a7edc9..60e414ef 100644 --- a/dart/manga/multisrc/madara/src/mangadeemak/mangadeemak.dart +++ b/dart/manga/multisrc/madara/src/mangadeemak/mangadeemak.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangadeemakSource => _mangadeemakSource; Source _mangadeemakSource = Source( - name: "MangaDeemak", - baseUrl: "https://mangadeemak.com", - lang: "th", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangadeemak/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"th" - ); + name: "MangaDeemak", + baseUrl: "https://mangadeemak.com", + lang: "th", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangadeemak/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "th", +); diff --git a/dart/manga/multisrc/madara/src/mangadiyari/mangadiyari.dart b/dart/manga/multisrc/madara/src/mangadiyari/mangadiyari.dart index ae315fb3..54ac43ef 100644 --- a/dart/manga/multisrc/madara/src/mangadiyari/mangadiyari.dart +++ b/dart/manga/multisrc/madara/src/mangadiyari/mangadiyari.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangadiyariSource => _mangadiyariSource; - - Source _mangadiyariSource = Source( - name: "Manga Diyari", - baseUrl: "https://manga-diyari.com", - lang: "tr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangadiyari/icon.png", - dateFormat:"MMM dd, yyyy", - dateFormatLocale:"tr", - ); \ No newline at end of file +Source get mangadiyariSource => _mangadiyariSource; + +Source _mangadiyariSource = Source( + name: "Manga Diyari", + baseUrl: "https://manga-diyari.com", + lang: "tr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangadiyari/icon.png", + dateFormat: "MMM dd, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/mangaeffect/mangaeffect.dart b/dart/manga/multisrc/madara/src/mangaeffect/mangaeffect.dart index 7bcded69..f119fe7e 100644 --- a/dart/manga/multisrc/madara/src/mangaeffect/mangaeffect.dart +++ b/dart/manga/multisrc/madara/src/mangaeffect/mangaeffect.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangaeffectSource => _mangaeffectSource; Source _mangaeffectSource = Source( - name: "MangaEffect", - baseUrl: "https://mangaeffect.com", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaeffect/icon.png", - dateFormat:"dd.MM.yyyy", - dateFormatLocale:"en_us" - ); + name: "MangaEffect", + baseUrl: "https://mangaeffect.com", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaeffect/icon.png", + dateFormat: "dd.MM.yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangafastcom/mangafastcom.dart b/dart/manga/multisrc/madara/src/mangafastcom/mangafastcom.dart index 7ec75191..8463c8a1 100644 --- a/dart/manga/multisrc/madara/src/mangafastcom/mangafastcom.dart +++ b/dart/manga/multisrc/madara/src/mangafastcom/mangafastcom.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangafastcomSource => _mangafastcomSource; Source _mangafastcomSource = Source( - name: "Manga-fast.com", - baseUrl: "https://manga-fast.com", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangafastcom/icon.png", - dateFormat:"d MMMM'،' yyyy", - dateFormatLocale:"en_us" - ); + name: "Manga-fast.com", + baseUrl: "https://manga-fast.com", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangafastcom/icon.png", + dateFormat: "d MMMM'،' yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangafenix/mangafenix.dart b/dart/manga/multisrc/madara/src/mangafenix/mangafenix.dart index de32a921..46431692 100644 --- a/dart/manga/multisrc/madara/src/mangafenix/mangafenix.dart +++ b/dart/manga/multisrc/madara/src/mangafenix/mangafenix.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangafenixSource => _mangafenixSource; - - Source _mangafenixSource = Source( - name: "Manga Fenix", - baseUrl: "https://manhua-fenix.com", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangafenix/icon.png", - dateFormat:"dd MMMM, yyyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get mangafenixSource => _mangafenixSource; + +Source _mangafenixSource = Source( + name: "Manga Fenix", + baseUrl: "https://manhua-fenix.com", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangafenix/icon.png", + dateFormat: "dd MMMM, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/mangafreakonline/mangafreakonline.dart b/dart/manga/multisrc/madara/src/mangafreakonline/mangafreakonline.dart index b3d33cbe..7237bb82 100644 --- a/dart/manga/multisrc/madara/src/mangafreakonline/mangafreakonline.dart +++ b/dart/manga/multisrc/madara/src/mangafreakonline/mangafreakonline.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangafreakonlineSource => _mangafreakonlineSource; - - Source _mangafreakonlineSource = Source( - name: "MangaFreak.online", - baseUrl: "https://mangafreak.online", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangafreakonline/icon.png", - dateFormat:"d MMMM، yyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangafreakonlineSource => _mangafreakonlineSource; + +Source _mangafreakonlineSource = Source( + name: "MangaFreak.online", + baseUrl: "https://mangafreak.online", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangafreakonline/icon.png", + dateFormat: "d MMMM، yyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangagalaxy/mangagalaxy.dart b/dart/manga/multisrc/madara/src/mangagalaxy/mangagalaxy.dart index cf0ddda5..02db8238 100644 --- a/dart/manga/multisrc/madara/src/mangagalaxy/mangagalaxy.dart +++ b/dart/manga/multisrc/madara/src/mangagalaxy/mangagalaxy.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangagalaxySource => _mangagalaxySource; - - Source _mangagalaxySource = Source( - name: "Manga Galaxy", - baseUrl: "https://mangagalaxy.me", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangagalaxy/icon.png", - dateFormat:"MM/dd/yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangagalaxySource => _mangagalaxySource; + +Source _mangagalaxySource = Source( + name: "Manga Galaxy", + baseUrl: "https://mangagalaxy.me", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangagalaxy/icon.png", + dateFormat: "MM/dd/yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangagezgini/mangagezgini.dart b/dart/manga/multisrc/madara/src/mangagezgini/mangagezgini.dart index 810465d7..a40d5060 100644 --- a/dart/manga/multisrc/madara/src/mangagezgini/mangagezgini.dart +++ b/dart/manga/multisrc/madara/src/mangagezgini/mangagezgini.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangagezginiSource => _mangagezginiSource; Source _mangagezginiSource = Source( - name: "MangaGezgini", - baseUrl: "https://mangagezgini.com", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangagezgini/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"tr" - ); + name: "MangaGezgini", + baseUrl: "https://mangagezgini.com", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangagezgini/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/mangagreat/mangagreat.dart b/dart/manga/multisrc/madara/src/mangagreat/mangagreat.dart index 1a162be0..bcdaf045 100644 --- a/dart/manga/multisrc/madara/src/mangagreat/mangagreat.dart +++ b/dart/manga/multisrc/madara/src/mangagreat/mangagreat.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangagreatSource => _mangagreatSource; - - Source _mangagreatSource = Source( - name: "MangaGreat", - baseUrl: "https://mangagreat.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangagreat/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangagreatSource => _mangagreatSource; + +Source _mangagreatSource = Source( + name: "MangaGreat", + baseUrl: "https://mangagreat.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangagreat/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangahona/mangahona.dart b/dart/manga/multisrc/madara/src/mangahona/mangahona.dart index 24db384e..3ea1d16d 100644 --- a/dart/manga/multisrc/madara/src/mangahona/mangahona.dart +++ b/dart/manga/multisrc/madara/src/mangahona/mangahona.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangahonaSource => _mangahonaSource; Source _mangahonaSource = Source( - name: "MangaHoNa", - baseUrl: "https://mangahona.pl", - lang: "pl", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangahona/icon.png", - dateFormat:"yyyy-MM-dd", - dateFormatLocale:"en" - ); + name: "MangaHoNa", + baseUrl: "https://mangahona.pl", + lang: "pl", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangahona/icon.png", + dateFormat: "yyyy-MM-dd", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/mangakeyfi/mangakeyfi.dart b/dart/manga/multisrc/madara/src/mangakeyfi/mangakeyfi.dart index 4945852d..aa0f0252 100644 --- a/dart/manga/multisrc/madara/src/mangakeyfi/mangakeyfi.dart +++ b/dart/manga/multisrc/madara/src/mangakeyfi/mangakeyfi.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangakeyfiSource => _mangakeyfiSource; Source _mangakeyfiSource = Source( - name: "Manga Keyfi", - baseUrl: "https://mangakeyfi.net", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangakeyfi/icon.png", - dateFormat:"d MMM yyy", - dateFormatLocale:"tr" - ); + name: "Manga Keyfi", + baseUrl: "https://mangakeyfi.net", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangakeyfi/icon.png", + dateFormat: "d MMM yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/mangakomi/mangakomi.dart b/dart/manga/multisrc/madara/src/mangakomi/mangakomi.dart index 8ace85ab..6174e2bc 100644 --- a/dart/manga/multisrc/madara/src/mangakomi/mangakomi.dart +++ b/dart/manga/multisrc/madara/src/mangakomi/mangakomi.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangakomiSource => _mangakomiSource; - - Source _mangakomiSource = Source( - name: "MangaKomi", - baseUrl: "https://mangakomi.io", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangakomi/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangakomiSource => _mangakomiSource; + +Source _mangakomiSource = Source( + name: "MangaKomi", + baseUrl: "https://mangakomi.io", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangakomi/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangaleveling/mangaleveling.dart b/dart/manga/multisrc/madara/src/mangaleveling/mangaleveling.dart index 6bbef663..d36126f1 100644 --- a/dart/manga/multisrc/madara/src/mangaleveling/mangaleveling.dart +++ b/dart/manga/multisrc/madara/src/mangaleveling/mangaleveling.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangalevelingSource => _mangalevelingSource; Source _mangalevelingSource = Source( - name: "Manga Leveling", - baseUrl: "https://mangaleveling.com", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaleveling/icon.png", - dateFormat:"MM/dd/yyyy", - dateFormatLocale:"en_us" - ); + name: "Manga Leveling", + baseUrl: "https://mangaleveling.com", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaleveling/icon.png", + dateFormat: "MM/dd/yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangalink/mangalink.dart b/dart/manga/multisrc/madara/src/mangalink/mangalink.dart index 01ef4437..42a5e519 100644 --- a/dart/manga/multisrc/madara/src/mangalink/mangalink.dart +++ b/dart/manga/multisrc/madara/src/mangalink/mangalink.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangalinkSource => _mangalinkSource; Source _mangalinkSource = Source( - name: "مانجا لينك", - baseUrl: "https://manga-link.com", - lang: "ar", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangalink/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "مانجا لينك", + baseUrl: "https://manga-link.com", + lang: "ar", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangalink/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/madara/src/mangalionz/mangalionz.dart b/dart/manga/multisrc/madara/src/mangalionz/mangalionz.dart index dee9f2fb..c5abd338 100644 --- a/dart/manga/multisrc/madara/src/mangalionz/mangalionz.dart +++ b/dart/manga/multisrc/madara/src/mangalionz/mangalionz.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangalionzSource => _mangalionzSource; Source _mangalionzSource = Source( - name: "MangaLionz", - baseUrl: "https://manga-lionz.com", - lang: "ar", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangalionz/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"ar" - ); + name: "MangaLionz", + baseUrl: "https://manga-lionz.com", + lang: "ar", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangalionz/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/madara/src/mangananquim/mangananquim.dart b/dart/manga/multisrc/madara/src/mangananquim/mangananquim.dart index f60f1442..30872ddc 100644 --- a/dart/manga/multisrc/madara/src/mangananquim/mangananquim.dart +++ b/dart/manga/multisrc/madara/src/mangananquim/mangananquim.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangananquimSource => _mangananquimSource; - - Source _mangananquimSource = Source( - name: "Mangá Nanquim", - baseUrl: "https://mangananquim.com", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangananquim/icon.png", - dateFormat:"dd 'de' MMMMM 'de' yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get mangananquimSource => _mangananquimSource; + +Source _mangananquimSource = Source( + name: "Mangá Nanquim", + baseUrl: "https://mangananquim.com", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangananquim/icon.png", + dateFormat: "dd 'de' MMMMM 'de' yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/mangaoku/mangaoku.dart b/dart/manga/multisrc/madara/src/mangaoku/mangaoku.dart index 4b33bd48..1f748b92 100644 --- a/dart/manga/multisrc/madara/src/mangaoku/mangaoku.dart +++ b/dart/manga/multisrc/madara/src/mangaoku/mangaoku.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangaokuSource => _mangaokuSource; Source _mangaokuSource = Source( - name: "Manga Oku", - baseUrl: "https://mangaoku.info", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaoku/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"tr" - ); + name: "Manga Oku", + baseUrl: "https://mangaoku.info", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaoku/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/mangaread/mangaread.dart b/dart/manga/multisrc/madara/src/mangaread/mangaread.dart index 715a191e..786f5715 100644 --- a/dart/manga/multisrc/madara/src/mangaread/mangaread.dart +++ b/dart/manga/multisrc/madara/src/mangaread/mangaread.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangareadSource => _mangareadSource; - - Source _mangareadSource = Source( - name: "Manga Read", - baseUrl: "https://mangaread.co", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangaread/icon.png", - dateFormat:"yyyy-MM-dd", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangareadSource => _mangareadSource; + +Source _mangareadSource = Source( + name: "Manga Read", + baseUrl: "https://mangaread.co", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangaread/icon.png", + dateFormat: "yyyy-MM-dd", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangareadorg/mangareadorg.dart b/dart/manga/multisrc/madara/src/mangareadorg/mangareadorg.dart index e131fcc3..b4b858be 100644 --- a/dart/manga/multisrc/madara/src/mangareadorg/mangareadorg.dart +++ b/dart/manga/multisrc/madara/src/mangareadorg/mangareadorg.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangareadorgSource => _mangareadorgSource; - - Source _mangareadorgSource = Source( - name: "MangaRead.org", - baseUrl: "https://www.mangaread.org", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangareadorg/icon.png", - dateFormat:"dd.MM.yyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangareadorgSource => _mangareadorgSource; + +Source _mangareadorgSource = Source( + name: "MangaRead.org", + baseUrl: "https://www.mangaread.org", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangareadorg/icon.png", + dateFormat: "dd.MM.yyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangarolls/mangarolls.dart b/dart/manga/multisrc/madara/src/mangarolls/mangarolls.dart index a558b932..26b4d446 100644 --- a/dart/manga/multisrc/madara/src/mangarolls/mangarolls.dart +++ b/dart/manga/multisrc/madara/src/mangarolls/mangarolls.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangarollsSource => _mangarollsSource; - - Source _mangarollsSource = Source( - name: "MangaRolls", - baseUrl: "https://mangarolls.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangarolls/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangarollsSource => _mangarollsSource; + +Source _mangarollsSource = Source( + name: "MangaRolls", + baseUrl: "https://mangarolls.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangarolls/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangarose/mangarose.dart b/dart/manga/multisrc/madara/src/mangarose/mangarose.dart index de005212..5a796253 100644 --- a/dart/manga/multisrc/madara/src/mangarose/mangarose.dart +++ b/dart/manga/multisrc/madara/src/mangarose/mangarose.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangaroseSource => _mangaroseSource; Source _mangaroseSource = Source( - name: "Manga Rose", - baseUrl: "https://mangarose.net", - lang: "ar", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangarose/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "Manga Rose", + baseUrl: "https://mangarose.net", + lang: "ar", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangarose/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/madara/src/mangascantrad/mangascantrad.dart b/dart/manga/multisrc/madara/src/mangascantrad/mangascantrad.dart index b0c1e4ff..202caab5 100644 --- a/dart/manga/multisrc/madara/src/mangascantrad/mangascantrad.dart +++ b/dart/manga/multisrc/madara/src/mangascantrad/mangascantrad.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangascantradSource => _mangascantradSource; Source _mangascantradSource = Source( - name: "Manga-Scantrad", - baseUrl: "https://manga-scantrad.io", - lang: "fr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangascantrad/icon.png", - dateFormat:"d MMM yyyy", - dateFormatLocale:"fr" - ); + name: "Manga-Scantrad", + baseUrl: "https://manga-scantrad.io", + lang: "fr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangascantrad/icon.png", + dateFormat: "d MMM yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/madara/src/mangasehri/mangasehri.dart b/dart/manga/multisrc/madara/src/mangasehri/mangasehri.dart index e36d1831..a77cec1c 100644 --- a/dart/manga/multisrc/madara/src/mangasehri/mangasehri.dart +++ b/dart/manga/multisrc/madara/src/mangasehri/mangasehri.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangasehriSource => _mangasehriSource; - - Source _mangasehriSource = Source( - name: "Manga Şehri", - baseUrl: "https://mangasehri.com", - lang: "tr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangasehri/icon.png", - dateFormat:"dd/MM/yyy", - dateFormatLocale:"tr", - ); \ No newline at end of file +Source get mangasehriSource => _mangasehriSource; + +Source _mangasehriSource = Source( + name: "Manga Şehri", + baseUrl: "https://mangasehri.com", + lang: "tr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangasehri/icon.png", + dateFormat: "dd/MM/yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/mangasnosekai/mangasnosekai.dart b/dart/manga/multisrc/madara/src/mangasnosekai/mangasnosekai.dart index 4ab6cd1d..2ac30791 100644 --- a/dart/manga/multisrc/madara/src/mangasnosekai/mangasnosekai.dart +++ b/dart/manga/multisrc/madara/src/mangasnosekai/mangasnosekai.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangasnosekaiSource => _mangasnosekaiSource; Source _mangasnosekaiSource = Source( - name: "Mangas No Sekai", - baseUrl: "https://mangasnosekai.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangasnosekai/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "Mangas No Sekai", + baseUrl: "https://mangasnosekai.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangasnosekai/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/mangasoriginesfr/mangasoriginesfr.dart b/dart/manga/multisrc/madara/src/mangasoriginesfr/mangasoriginesfr.dart index bb8421f7..42627545 100644 --- a/dart/manga/multisrc/madara/src/mangasoriginesfr/mangasoriginesfr.dart +++ b/dart/manga/multisrc/madara/src/mangasoriginesfr/mangasoriginesfr.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangasoriginesfrSource => _mangasoriginesfrSource; Source _mangasoriginesfrSource = Source( - name: "Mangas-Origines.fr", - baseUrl: "https://mangas-origines.fr", - lang: "fr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangasoriginesfr/icon.png", - dateFormat:"dd/mm/yyyy", - dateFormatLocale:"fr" - ); + name: "Mangas-Origines.fr", + baseUrl: "https://mangas-origines.fr", + lang: "fr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangasoriginesfr/icon.png", + dateFormat: "dd/mm/yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/madara/src/mangasoverall/mangasoverall.dart b/dart/manga/multisrc/madara/src/mangasoverall/mangasoverall.dart index 64abef24..22e6eb73 100644 --- a/dart/manga/multisrc/madara/src/mangasoverall/mangasoverall.dart +++ b/dart/manga/multisrc/madara/src/mangasoverall/mangasoverall.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangasoverallSource => _mangasoverallSource; - - Source _mangasoverallSource = Source( - name: "ROG Mangás", - baseUrl: "https://rogmangas.com", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangasoverall/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get mangasoverallSource => _mangasoverallSource; + +Source _mangasoverallSource = Source( + name: "ROG Mangás", + baseUrl: "https://rogmangas.com", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangasoverall/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/mangaspark/mangaspark.dart b/dart/manga/multisrc/madara/src/mangaspark/mangaspark.dart index 063079fb..416df048 100644 --- a/dart/manga/multisrc/madara/src/mangaspark/mangaspark.dart +++ b/dart/manga/multisrc/madara/src/mangaspark/mangaspark.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangasparkSource => _mangasparkSource; Source _mangasparkSource = Source( - name: "MangaSpark", - baseUrl: "https://manga-spark.net", - lang: "ar", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaspark/icon.png", - dateFormat:"d MMMM، yyyy", - dateFormatLocale:"ar" - ); + name: "MangaSpark", + baseUrl: "https://manga-spark.net", + lang: "ar", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaspark/icon.png", + dateFormat: "d MMMM، yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/madara/src/mangastarz/mangastarz.dart b/dart/manga/multisrc/madara/src/mangastarz/mangastarz.dart index df115d0b..88f1c31c 100644 --- a/dart/manga/multisrc/madara/src/mangastarz/mangastarz.dart +++ b/dart/manga/multisrc/madara/src/mangastarz/mangastarz.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangastarzSource => _mangastarzSource; Source _mangastarzSource = Source( - name: "Manga Starz", - baseUrl: "https://manga-starz.com", - lang: "ar", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangastarz/icon.png", - dateFormat:"d MMMM، yyyy", - dateFormatLocale:"ar" - ); + name: "Manga Starz", + baseUrl: "https://manga-starz.com", + lang: "ar", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangastarz/icon.png", + dateFormat: "d MMMM، yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/madara/src/mangasushi/mangasushi.dart b/dart/manga/multisrc/madara/src/mangasushi/mangasushi.dart index db49e103..439d8d23 100644 --- a/dart/manga/multisrc/madara/src/mangasushi/mangasushi.dart +++ b/dart/manga/multisrc/madara/src/mangasushi/mangasushi.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangasushiSource => _mangasushiSource; - - Source _mangasushiSource = Source( - name: "Mangasushi", - baseUrl: "https://mangasushi.org", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangasushi/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangasushiSource => _mangasushiSource; + +Source _mangasushiSource = Source( + name: "Mangasushi", + baseUrl: "https://mangasushi.org", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangasushi/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangatime/mangatime.dart b/dart/manga/multisrc/madara/src/mangatime/mangatime.dart index 4a544afd..b304ea8c 100644 --- a/dart/manga/multisrc/madara/src/mangatime/mangatime.dart +++ b/dart/manga/multisrc/madara/src/mangatime/mangatime.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangatimeSource => _mangatimeSource; Source _mangatimeSource = Source( - name: "Manga Time", - baseUrl: "https://mangatime.us", - lang: "ar", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangatime/icon.png", - dateFormat:"dd MMMM، yyyy", - dateFormatLocale:"ar" - ); + name: "Manga Time", + baseUrl: "https://mangatime.us", + lang: "ar", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangatime/icon.png", + dateFormat: "dd MMMM، yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/madara/src/mangatxgg/mangatxgg.dart b/dart/manga/multisrc/madara/src/mangatxgg/mangatxgg.dart index 8217ca91..2688fac8 100644 --- a/dart/manga/multisrc/madara/src/mangatxgg/mangatxgg.dart +++ b/dart/manga/multisrc/madara/src/mangatxgg/mangatxgg.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangatxggSource => _mangatxggSource; - - Source _mangatxggSource = Source( - name: "Manga Tx.gg (unoriginal)", - baseUrl: "https://mangatx.gg", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangatxgg/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangatxggSource => _mangatxggSource; + +Source _mangatxggSource = Source( + name: "Manga Tx.gg (unoriginal)", + baseUrl: "https://mangatx.gg", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangatxgg/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangatxunoriginal/mangatxunoriginal.dart b/dart/manga/multisrc/madara/src/mangatxunoriginal/mangatxunoriginal.dart index 67b0c2e8..61bb9ad6 100644 --- a/dart/manga/multisrc/madara/src/mangatxunoriginal/mangatxunoriginal.dart +++ b/dart/manga/multisrc/madara/src/mangatxunoriginal/mangatxunoriginal.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangatxunoriginalSource => _mangatxunoriginalSource; - - Source _mangatxunoriginalSource = Source( - name: "Manga-TX", - baseUrl: "https://manga-tx.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangatxunoriginal/icon.png", - dateFormat:"MMM d, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangatxunoriginalSource => _mangatxunoriginalSource; + +Source _mangatxunoriginalSource = Source( + name: "Manga-TX", + baseUrl: "https://manga-tx.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangatxunoriginal/icon.png", + dateFormat: "MMM d, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangatyrant/mangatyrant.dart b/dart/manga/multisrc/madara/src/mangatyrant/mangatyrant.dart index c333444f..7563ab7f 100644 --- a/dart/manga/multisrc/madara/src/mangatyrant/mangatyrant.dart +++ b/dart/manga/multisrc/madara/src/mangatyrant/mangatyrant.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangatyrantSource => _mangatyrantSource; - - Source _mangatyrantSource = Source( - name: "MangaTyrant", - baseUrl: "https://mangatyrant.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangatyrant/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangatyrantSource => _mangatyrantSource; + +Source _mangatyrantSource = Source( + name: "MangaTyrant", + baseUrl: "https://mangatyrant.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangatyrant/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangaus/mangaus.dart b/dart/manga/multisrc/madara/src/mangaus/mangaus.dart index 5f24c8ac..27450e94 100644 --- a/dart/manga/multisrc/madara/src/mangaus/mangaus.dart +++ b/dart/manga/multisrc/madara/src/mangaus/mangaus.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangausSource => _mangausSource; - - Source _mangausSource = Source( - name: "MangaUS", - baseUrl: "https://mangaus.xyz", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangaus/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangausSource => _mangausSource; + +Source _mangausSource = Source( + name: "MangaUS", + baseUrl: "https://mangaus.xyz", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangaus/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangaweebs/mangaweebs.dart b/dart/manga/multisrc/madara/src/mangaweebs/mangaweebs.dart index 65023ac2..b34a709b 100644 --- a/dart/manga/multisrc/madara/src/mangaweebs/mangaweebs.dart +++ b/dart/manga/multisrc/madara/src/mangaweebs/mangaweebs.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangaweebsSource => _mangaweebsSource; - - Source _mangaweebsSource = Source( - name: "Manga Weebs", - baseUrl: "https://mangaweebs.in", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangaweebs/icon.png", - dateFormat:"dd MMMM HH:mm", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangaweebsSource => _mangaweebsSource; + +Source _mangaweebsSource = Source( + name: "Manga Weebs", + baseUrl: "https://mangaweebs.in", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangaweebs/icon.png", + dateFormat: "dd MMMM HH:mm", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mangawow/mangawow.dart b/dart/manga/multisrc/madara/src/mangawow/mangawow.dart index 0a085b84..b6c19d6c 100644 --- a/dart/manga/multisrc/madara/src/mangawow/mangawow.dart +++ b/dart/manga/multisrc/madara/src/mangawow/mangawow.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangawowSource => _mangawowSource; Source _mangawowSource = Source( - name: "MangaWOW", - baseUrl: "https://mangawow.org", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangawow/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"tr" - ); + name: "MangaWOW", + baseUrl: "https://mangawow.org", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangawow/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/manhuabug/manhuabug.dart b/dart/manga/multisrc/madara/src/manhuabug/manhuabug.dart index 85c8f3c9..21d4b485 100644 --- a/dart/manga/multisrc/madara/src/manhuabug/manhuabug.dart +++ b/dart/manga/multisrc/madara/src/manhuabug/manhuabug.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get manhuabugSource => _manhuabugSource; Source _manhuabugSource = Source( - name: "ManhuaBug", - baseUrl: "https://www.manhuabug.com", - lang: "th", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuabug/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"en" - ); + name: "ManhuaBug", + baseUrl: "https://www.manhuabug.com", + lang: "th", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuabug/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/manhuaes/manhuaes.dart b/dart/manga/multisrc/madara/src/manhuaes/manhuaes.dart index bfb55c92..727d45a8 100644 --- a/dart/manga/multisrc/madara/src/manhuaes/manhuaes.dart +++ b/dart/manga/multisrc/madara/src/manhuaes/manhuaes.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get manhuaesSource => _manhuaesSource; - - Source _manhuaesSource = Source( - name: "Manhua ES", - baseUrl: "https://manhuaaz.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhuaes/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get manhuaesSource => _manhuaesSource; + +Source _manhuaesSource = Source( + name: "Manhua ES", + baseUrl: "https://manhuaaz.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhuaes/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/manhuaonline/manhuaonline.dart b/dart/manga/multisrc/madara/src/manhuaonline/manhuaonline.dart index 411ded99..b0e90d13 100644 --- a/dart/manga/multisrc/madara/src/manhuaonline/manhuaonline.dart +++ b/dart/manga/multisrc/madara/src/manhuaonline/manhuaonline.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get manhuaonlineSource => _manhuaonlineSource; Source _manhuaonlineSource = Source( - name: "Manhua Online", - baseUrl: "https://blog.manhuaonline.org", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuaonline/icon.png", - dateFormat:"dd 'de' MMMM 'de' yyyy", - dateFormatLocale:"es" - ); + name: "Manhua Online", + baseUrl: "https://blog.manhuaonline.org", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuaonline/icon.png", + dateFormat: "dd 'de' MMMM 'de' yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/manhuathai/manhuathai.dart b/dart/manga/multisrc/madara/src/manhuathai/manhuathai.dart index 6f91e3ac..bf7d40c2 100644 --- a/dart/manga/multisrc/madara/src/manhuathai/manhuathai.dart +++ b/dart/manga/multisrc/madara/src/manhuathai/manhuathai.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get manhuathaiSource => _manhuathaiSource; Source _manhuathaiSource = Source( - name: "ManhuaThai", - baseUrl: "https://www.manhuathai.com", - lang: "th", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuathai/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"th" - ); + name: "ManhuaThai", + baseUrl: "https://www.manhuathai.com", + lang: "th", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuathai/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "th", +); diff --git a/dart/manga/multisrc/madara/src/manhuaus/manhuaus.dart b/dart/manga/multisrc/madara/src/manhuaus/manhuaus.dart index e1d7daed..e3e4bcfd 100644 --- a/dart/manga/multisrc/madara/src/manhuaus/manhuaus.dart +++ b/dart/manga/multisrc/madara/src/manhuaus/manhuaus.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get manhuausSource => _manhuausSource; - - Source _manhuausSource = Source( - name: "ManhuaUS", - baseUrl: "https://manhuaus.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhuaus/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get manhuausSource => _manhuausSource; + +Source _manhuausSource = Source( + name: "ManhuaUS", + baseUrl: "https://manhuaus.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhuaus/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/manhuazone/manhuazone.dart b/dart/manga/multisrc/madara/src/manhuazone/manhuazone.dart index dbb4e2cd..c3a25e10 100644 --- a/dart/manga/multisrc/madara/src/manhuazone/manhuazone.dart +++ b/dart/manga/multisrc/madara/src/manhuazone/manhuazone.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get manhuazoneSource => _manhuazoneSource; - - Source _manhuazoneSource = Source( - name: "ManhuaZone", - baseUrl: "https://manhuazone.org", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhuazone/icon.png", - dateFormat:"MMM d, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get manhuazoneSource => _manhuazoneSource; + +Source _manhuazoneSource = Source( + name: "ManhuaZone", + baseUrl: "https://manhuazone.org", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhuazone/icon.png", + dateFormat: "MMM d, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/manhwabreakup/manhwabreakup.dart b/dart/manga/multisrc/madara/src/manhwabreakup/manhwabreakup.dart index 3b8b0692..e8e46c8d 100644 --- a/dart/manga/multisrc/madara/src/manhwabreakup/manhwabreakup.dart +++ b/dart/manga/multisrc/madara/src/manhwabreakup/manhwabreakup.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get manhwabreakupSource => _manhwabreakupSource; Source _manhwabreakupSource = Source( - name: "ManhwaBreakup", - baseUrl: "https://www.manhwabreakup.com", - lang: "th", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhwabreakup/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"th" - ); + name: "ManhwaBreakup", + baseUrl: "https://www.manhwabreakup.com", + lang: "th", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhwabreakup/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "th", +); diff --git a/dart/manga/multisrc/madara/src/manhwaclan/manhwaclan.dart b/dart/manga/multisrc/madara/src/manhwaclan/manhwaclan.dart index bc7ea5c8..573b94ee 100644 --- a/dart/manga/multisrc/madara/src/manhwaclan/manhwaclan.dart +++ b/dart/manga/multisrc/madara/src/manhwaclan/manhwaclan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get manhwaclanSource => _manhwaclanSource; - - Source _manhwaclanSource = Source( - name: "ManhwaClan", - baseUrl: "https://manhwaclan.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhwaclan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get manhwaclanSource => _manhwaclanSource; + +Source _manhwaclanSource = Source( + name: "ManhwaClan", + baseUrl: "https://manhwaclan.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhwaclan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/manhwafull/manhwafull.dart b/dart/manga/multisrc/madara/src/manhwafull/manhwafull.dart index c2cee81e..4dacb83b 100644 --- a/dart/manga/multisrc/madara/src/manhwafull/manhwafull.dart +++ b/dart/manga/multisrc/madara/src/manhwafull/manhwafull.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get manhwafullSource => _manhwafullSource; - - Source _manhwafullSource = Source( - name: "Manhwafull", - baseUrl: "https://manhwafull.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhwafull/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get manhwafullSource => _manhwafullSource; + +Source _manhwafullSource = Source( + name: "Manhwafull", + baseUrl: "https://manhwafull.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhwafull/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/manhwaworld/manhwaworld.dart b/dart/manga/multisrc/madara/src/manhwaworld/manhwaworld.dart index 5d7fb5ff..73fc59ce 100644 --- a/dart/manga/multisrc/madara/src/manhwaworld/manhwaworld.dart +++ b/dart/manga/multisrc/madara/src/manhwaworld/manhwaworld.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get manhwaworldSource => _manhwaworldSource; - - Source _manhwaworldSource = Source( - name: "AQUA Scans", - baseUrl: "https://aquascans.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhwaworld/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get manhwaworldSource => _manhwaworldSource; + +Source _manhwaworldSource = Source( + name: "AQUA Scans", + baseUrl: "https://aquascans.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/manhwaworld/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mantrazscan/mantrazscan.dart b/dart/manga/multisrc/madara/src/mantrazscan/mantrazscan.dart index 11f4d73a..8084e5fc 100644 --- a/dart/manga/multisrc/madara/src/mantrazscan/mantrazscan.dart +++ b/dart/manga/multisrc/madara/src/mantrazscan/mantrazscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mantrazscanSource => _mantrazscanSource; - - Source _mantrazscanSource = Source( - name: "Mantraz Scan", - baseUrl: "https://mantrazscan.com", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mantrazscan/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get mantrazscanSource => _mantrazscanSource; + +Source _mantrazscanSource = Source( + name: "Mantraz Scan", + baseUrl: "https://mantrazscan.com", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mantrazscan/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/merlinscans/merlinscans.dart b/dart/manga/multisrc/madara/src/merlinscans/merlinscans.dart index 2fd81eb1..8120c448 100644 --- a/dart/manga/multisrc/madara/src/merlinscans/merlinscans.dart +++ b/dart/manga/multisrc/madara/src/merlinscans/merlinscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get merlinscansSource => _merlinscansSource; Source _merlinscansSource = Source( - name: "Merlin Scans", - baseUrl: "https://merlinscans.com", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/merlinscans/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"tr" - ); + name: "Merlin Scans", + baseUrl: "https://merlinscans.com", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/merlinscans/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/mgkomik/mgkomik.dart b/dart/manga/multisrc/madara/src/mgkomik/mgkomik.dart index 601470fd..fd037019 100644 --- a/dart/manga/multisrc/madara/src/mgkomik/mgkomik.dart +++ b/dart/manga/multisrc/madara/src/mgkomik/mgkomik.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mgkomikSource => _mgkomikSource; Source _mgkomikSource = Source( - name: "MG Komik", - baseUrl: "https://mgkomik.id", - lang: "id", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mgkomik/icon.png", - dateFormat:"dd MMM yy", - dateFormatLocale:"en_us" - ); + name: "MG Komik", + baseUrl: "https://mgkomik.id", + lang: "id", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mgkomik/icon.png", + dateFormat: "dd MMM yy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/mhscans/mhscans.dart b/dart/manga/multisrc/madara/src/mhscans/mhscans.dart index 45644f88..2da9d300 100644 --- a/dart/manga/multisrc/madara/src/mhscans/mhscans.dart +++ b/dart/manga/multisrc/madara/src/mhscans/mhscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mhscansSource => _mhscansSource; Source _mhscansSource = Source( - name: "MHScans", - baseUrl: "https://lectormh.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mhscans/icon.png", - dateFormat:"dd 'de' MMMM 'de' yyyy", - dateFormatLocale:"es" - ); + name: "MHScans", + baseUrl: "https://lectormh.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mhscans/icon.png", + dateFormat: "dd 'de' MMMM 'de' yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/minitwoscan/minitwoscan.dart b/dart/manga/multisrc/madara/src/minitwoscan/minitwoscan.dart index a42af128..ae8fbf2c 100644 --- a/dart/manga/multisrc/madara/src/minitwoscan/minitwoscan.dart +++ b/dart/manga/multisrc/madara/src/minitwoscan/minitwoscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get minitwoscanSource => _minitwoscanSource; Source _minitwoscanSource = Source( - name: "MiniTwo Scan", - baseUrl: "https://minitwoscan.com", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/minitwoscan/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br" - ); + name: "MiniTwo Scan", + baseUrl: "https://minitwoscan.com", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/minitwoscan/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/momonohanascan/momonohanascan.dart b/dart/manga/multisrc/madara/src/momonohanascan/momonohanascan.dart index 67a4ca1e..42f01278 100644 --- a/dart/manga/multisrc/madara/src/momonohanascan/momonohanascan.dart +++ b/dart/manga/multisrc/madara/src/momonohanascan/momonohanascan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get momonohanascanSource => _momonohanascanSource; - - Source _momonohanascanSource = Source( - name: "Momo no Hana Scan", - baseUrl: "https://momonohanascan.com", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/momonohanascan/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get momonohanascanSource => _momonohanascanSource; + +Source _momonohanascanSource = Source( + name: "Momo no Hana Scan", + baseUrl: "https://momonohanascan.com", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/momonohanascan/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/monarcamanga/monarcamanga.dart b/dart/manga/multisrc/madara/src/monarcamanga/monarcamanga.dart index 0c9e80f5..a8eae396 100644 --- a/dart/manga/multisrc/madara/src/monarcamanga/monarcamanga.dart +++ b/dart/manga/multisrc/madara/src/monarcamanga/monarcamanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get monarcamangaSource => _monarcamangaSource; - - Source _monarcamangaSource = Source( - name: "MonarcaManga", - baseUrl: "https://monarcamanga.com", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/monarcamanga/icon.png", - dateFormat:"MMM d, yyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get monarcamangaSource => _monarcamangaSource; + +Source _monarcamangaSource = Source( + name: "MonarcaManga", + baseUrl: "https://monarcamanga.com", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/monarcamanga/icon.png", + dateFormat: "MMM d, yyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/moonwitchinlove/moonwitchinlove.dart b/dart/manga/multisrc/madara/src/moonwitchinlove/moonwitchinlove.dart index 2404a169..78f11685 100644 --- a/dart/manga/multisrc/madara/src/moonwitchinlove/moonwitchinlove.dart +++ b/dart/manga/multisrc/madara/src/moonwitchinlove/moonwitchinlove.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get moonwitchinloveSource => _moonwitchinloveSource; - - Source _moonwitchinloveSource = Source( - name: "Moon Witch In Love", - baseUrl: "https://moonwitchinlovescan.com", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/moonwitchinlove/icon.png", - dateFormat:"dd 'de' MMMMM 'de' yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get moonwitchinloveSource => _moonwitchinloveSource; + +Source _moonwitchinloveSource = Source( + name: "Moon Witch In Love", + baseUrl: "https://moonwitchinlovescan.com", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/moonwitchinlove/icon.png", + dateFormat: "dd 'de' MMMMM 'de' yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/neatmanga/neatmanga.dart b/dart/manga/multisrc/madara/src/neatmanga/neatmanga.dart index ffb62b31..d7864faf 100644 --- a/dart/manga/multisrc/madara/src/neatmanga/neatmanga.dart +++ b/dart/manga/multisrc/madara/src/neatmanga/neatmanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get neatmangaSource => _neatmangaSource; Source _neatmangaSource = Source( - name: "NeatManga", - baseUrl: "https://neatmanga.com", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/neatmanga/icon.png", - dateFormat:"dd MMM yyyy", - dateFormatLocale:"en_us" - ); + name: "NeatManga", + baseUrl: "https://neatmanga.com", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/neatmanga/icon.png", + dateFormat: "dd MMM yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/nekopostco/nekopostco.dart b/dart/manga/multisrc/madara/src/nekopostco/nekopostco.dart index 02ea5831..ec615da9 100644 --- a/dart/manga/multisrc/madara/src/nekopostco/nekopostco.dart +++ b/dart/manga/multisrc/madara/src/nekopostco/nekopostco.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get nekopostcoSource => _nekopostcoSource; - - Source _nekopostcoSource = Source( - name: "NekoPost.co (unoriginal)", - baseUrl: "https://www.nekopost.co", - lang: "th", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/nekopostco/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"th", - ); \ No newline at end of file +Source get nekopostcoSource => _nekopostcoSource; + +Source _nekopostcoSource = Source( + name: "NekoPost.co (unoriginal)", + baseUrl: "https://www.nekopost.co", + lang: "th", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/nekopostco/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "th", +); diff --git a/dart/manga/multisrc/madara/src/nexoscans/nexoscans.dart b/dart/manga/multisrc/madara/src/nexoscans/nexoscans.dart index 2ae389a8..447e98ec 100644 --- a/dart/manga/multisrc/madara/src/nexoscans/nexoscans.dart +++ b/dart/manga/multisrc/madara/src/nexoscans/nexoscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get nexoscansSource => _nexoscansSource; Source _nexoscansSource = Source( - name: "Nexo Scans", - baseUrl: "https://nexoscans.net", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/nexoscans/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"en_us" - ); + name: "Nexo Scans", + baseUrl: "https://nexoscans.net", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/nexoscans/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/nijitranslations/nijitranslations.dart b/dart/manga/multisrc/madara/src/nijitranslations/nijitranslations.dart index 237daf55..4ac132f0 100644 --- a/dart/manga/multisrc/madara/src/nijitranslations/nijitranslations.dart +++ b/dart/manga/multisrc/madara/src/nijitranslations/nijitranslations.dart @@ -1,14 +1,13 @@ import '../../../../../../model/source.dart'; - Source get nijitranslationsSource => _nijitranslationsSource; - - Source _nijitranslationsSource = Source( - name: "Niji Translations", - baseUrl: "https://niji-translations.com", - lang: "ar", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/nijitranslations/icon.png", - - - ); \ No newline at end of file +Source get nijitranslationsSource => _nijitranslationsSource; + +Source _nijitranslationsSource = Source( + name: "Niji Translations", + baseUrl: "https://niji-translations.com", + lang: "ar", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/nijitranslations/icon.png", +); diff --git a/dart/manga/multisrc/madara/src/ninjascan/ninjascan.dart b/dart/manga/multisrc/madara/src/ninjascan/ninjascan.dart index 5e297af8..709884d9 100644 --- a/dart/manga/multisrc/madara/src/ninjascan/ninjascan.dart +++ b/dart/manga/multisrc/madara/src/ninjascan/ninjascan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get ninjascanSource => _ninjascanSource; Source _ninjascanSource = Source( - name: "Ninja Scan", - baseUrl: "https://ninjacomics.xyz", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/ninjascan/icon.png", - dateFormat:"dd 'de' MMMMM 'de' yyyy", - dateFormatLocale:"pt-br" - ); + name: "Ninja Scan", + baseUrl: "https://ninjacomics.xyz", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/ninjascan/icon.png", + dateFormat: "dd 'de' MMMMM 'de' yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/noblessetranslations/noblessetranslations.dart b/dart/manga/multisrc/madara/src/noblessetranslations/noblessetranslations.dart index d5022732..cf0b87ac 100644 --- a/dart/manga/multisrc/madara/src/noblessetranslations/noblessetranslations.dart +++ b/dart/manga/multisrc/madara/src/noblessetranslations/noblessetranslations.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get noblessetranslationsSource => _noblessetranslationsSource; Source _noblessetranslationsSource = Source( - name: "Noblesse Translations", - baseUrl: "https://www.noblessev1.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/noblessetranslations/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"es" - ); + name: "Noblesse Translations", + baseUrl: "https://www.noblessev1.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/noblessetranslations/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/nvmanga/nvmanga.dart b/dart/manga/multisrc/madara/src/nvmanga/nvmanga.dart index 45a24c30..c7ddcb8c 100644 --- a/dart/manga/multisrc/madara/src/nvmanga/nvmanga.dart +++ b/dart/manga/multisrc/madara/src/nvmanga/nvmanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get nvmangaSource => _nvmangaSource; Source _nvmangaSource = Source( - name: "NvManga", - baseUrl: "https://nvmanga.com", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/nvmanga/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"en" - ); + name: "NvManga", + baseUrl: "https://nvmanga.com", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/nvmanga/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/olaoe/olaoe.dart b/dart/manga/multisrc/madara/src/olaoe/olaoe.dart index addda0a1..9ace113a 100644 --- a/dart/manga/multisrc/madara/src/olaoe/olaoe.dart +++ b/dart/manga/multisrc/madara/src/olaoe/olaoe.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get olaoeSource => _olaoeSource; Source _olaoeSource = Source( - name: "Olaoe", - baseUrl: "https://olaoe.cyou", - lang: "ar", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/olaoe/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "Olaoe", + baseUrl: "https://olaoe.cyou", + lang: "ar", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/olaoe/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/madara/src/onepieceteca/onepieceteca.dart b/dart/manga/multisrc/madara/src/onepieceteca/onepieceteca.dart index c7307d99..bbf75a23 100644 --- a/dart/manga/multisrc/madara/src/onepieceteca/onepieceteca.dart +++ b/dart/manga/multisrc/madara/src/onepieceteca/onepieceteca.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get onepiecetecaSource => _onepiecetecaSource; Source _onepiecetecaSource = Source( - name: "One Piece TECA", - baseUrl: "https://onepieceteca.com", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/onepieceteca/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"pt-br" - ); + name: "One Piece TECA", + baseUrl: "https://onepieceteca.com", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/onepieceteca/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/pantheonscan/pantheonscan.dart b/dart/manga/multisrc/madara/src/pantheonscan/pantheonscan.dart index 221fd06d..3146b19f 100644 --- a/dart/manga/multisrc/madara/src/pantheonscan/pantheonscan.dart +++ b/dart/manga/multisrc/madara/src/pantheonscan/pantheonscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get pantheonscanSource => _pantheonscanSource; - - Source _pantheonscanSource = Source( - name: "Pantheon Scan", - baseUrl: "https://pantheon-scan.com", - lang: "fr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/pantheonscan/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"fr", - ); \ No newline at end of file +Source get pantheonscanSource => _pantheonscanSource; + +Source _pantheonscanSource = Source( + name: "Pantheon Scan", + baseUrl: "https://pantheon-scan.com", + lang: "fr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/pantheonscan/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/madara/src/pmscans/pmscans.dart b/dart/manga/multisrc/madara/src/pmscans/pmscans.dart index 5d974122..0e261517 100644 --- a/dart/manga/multisrc/madara/src/pmscans/pmscans.dart +++ b/dart/manga/multisrc/madara/src/pmscans/pmscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get pmscansSource => _pmscansSource; Source _pmscansSource = Source( - name: "PMScans", - baseUrl: "https://rackusreads.com", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/pmscans/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"en" - ); + name: "PMScans", + baseUrl: "https://rackusreads.com", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/pmscans/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/pojokmanga/pojokmanga.dart b/dart/manga/multisrc/madara/src/pojokmanga/pojokmanga.dart index 4caf0ba5..d77490bb 100644 --- a/dart/manga/multisrc/madara/src/pojokmanga/pojokmanga.dart +++ b/dart/manga/multisrc/madara/src/pojokmanga/pojokmanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get pojokmangaSource => _pojokmangaSource; - - Source _pojokmangaSource = Source( - name: "Pojok Manga", - baseUrl: "https://pojokmanga.net", - lang: "id", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/pojokmanga/icon.png", - dateFormat:"MMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get pojokmangaSource => _pojokmangaSource; + +Source _pojokmangaSource = Source( + name: "Pojok Manga", + baseUrl: "https://pojokmanga.net", + lang: "id", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/pojokmanga/icon.png", + dateFormat: "MMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/princediciones/princediciones.dart b/dart/manga/multisrc/madara/src/princediciones/princediciones.dart index 1b9543e4..63a25d55 100644 --- a/dart/manga/multisrc/madara/src/princediciones/princediciones.dart +++ b/dart/manga/multisrc/madara/src/princediciones/princediciones.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get princedicionesSource => _princedicionesSource; Source _princedicionesSource = Source( - name: "Prince Ediciones", - baseUrl: "https://princediciones.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/princediciones/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "Prince Ediciones", + baseUrl: "https://princediciones.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/princediciones/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/prismascans/prismascans.dart b/dart/manga/multisrc/madara/src/prismascans/prismascans.dart index 2fea0520..8169aaa5 100644 --- a/dart/manga/multisrc/madara/src/prismascans/prismascans.dart +++ b/dart/manga/multisrc/madara/src/prismascans/prismascans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get prismascansSource => _prismascansSource; Source _prismascansSource = Source( - name: "Demon Sect", - baseUrl: "https://dsectcomics.org", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/prismascans/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"pt-br" - ); + name: "Demon Sect", + baseUrl: "https://dsectcomics.org", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/prismascans/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/projetoscanlator/projetoscanlator.dart b/dart/manga/multisrc/madara/src/projetoscanlator/projetoscanlator.dart index c365fe6b..2aba7fce 100644 --- a/dart/manga/multisrc/madara/src/projetoscanlator/projetoscanlator.dart +++ b/dart/manga/multisrc/madara/src/projetoscanlator/projetoscanlator.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get projetoscanlatorSource => _projetoscanlatorSource; - - Source _projetoscanlatorSource = Source( - name: "Projeto Scanlator", - baseUrl: "https://projetoscanlator.com", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/projetoscanlator/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get projetoscanlatorSource => _projetoscanlatorSource; + +Source _projetoscanlatorSource = Source( + name: "Projeto Scanlator", + baseUrl: "https://projetoscanlator.com", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/projetoscanlator/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/ragnarokscanlation/ragnarokscanlation.dart b/dart/manga/multisrc/madara/src/ragnarokscanlation/ragnarokscanlation.dart index f44ad87a..50bf520b 100644 --- a/dart/manga/multisrc/madara/src/ragnarokscanlation/ragnarokscanlation.dart +++ b/dart/manga/multisrc/madara/src/ragnarokscanlation/ragnarokscanlation.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get ragnarokscanlationSource => _ragnarokscanlationSource; - - Source _ragnarokscanlationSource = Source( - name: "Ragnarok Scanlation", - baseUrl: "https://ragnarokscanlation.com", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/ragnarokscanlation/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get ragnarokscanlationSource => _ragnarokscanlationSource; + +Source _ragnarokscanlationSource = Source( + name: "Ragnarok Scanlation", + baseUrl: "https://ragnarokscanlation.com", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/ragnarokscanlation/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/raijinscans/raijinscans.dart b/dart/manga/multisrc/madara/src/raijinscans/raijinscans.dart index c32f70c4..0b4237b3 100644 --- a/dart/manga/multisrc/madara/src/raijinscans/raijinscans.dart +++ b/dart/manga/multisrc/madara/src/raijinscans/raijinscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get raijinscansSource => _raijinscansSource; Source _raijinscansSource = Source( - name: "Raijin Scans", - baseUrl: "https://raijinscans.com", - lang: "fr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/raijinscans/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"fr" - ); + name: "Raijin Scans", + baseUrl: "https://raijinscans.com", + lang: "fr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/raijinscans/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/madara/src/rainbowfairyscan/rainbowfairyscan.dart b/dart/manga/multisrc/madara/src/rainbowfairyscan/rainbowfairyscan.dart index e16a91c4..d9163a96 100644 --- a/dart/manga/multisrc/madara/src/rainbowfairyscan/rainbowfairyscan.dart +++ b/dart/manga/multisrc/madara/src/rainbowfairyscan/rainbowfairyscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get rainbowfairyscanSource => _rainbowfairyscanSource; - - Source _rainbowfairyscanSource = Source( - name: "Rainbow Fairy Scan", - baseUrl: "https://rainbowfairyscan.com", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/rainbowfairyscan/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get rainbowfairyscanSource => _rainbowfairyscanSource; + +Source _rainbowfairyscanSource = Source( + name: "Rainbow Fairy Scan", + baseUrl: "https://rainbowfairyscan.com", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/rainbowfairyscan/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/randomscan/randomscan.dart b/dart/manga/multisrc/madara/src/randomscan/randomscan.dart index 41f619df..07bbe568 100644 --- a/dart/manga/multisrc/madara/src/randomscan/randomscan.dart +++ b/dart/manga/multisrc/madara/src/randomscan/randomscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get randomscanSource => _randomscanSource; - - Source _randomscanSource = Source( - name: "Random Scan", - baseUrl: "https://randomscanlators.net", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/randomscan/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get randomscanSource => _randomscanSource; + +Source _randomscanSource = Source( + name: "Random Scan", + baseUrl: "https://randomscanlators.net", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/randomscan/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/readergen/readergen.dart b/dart/manga/multisrc/madara/src/readergen/readergen.dart index 9e449465..50b8debe 100644 --- a/dart/manga/multisrc/madara/src/readergen/readergen.dart +++ b/dart/manga/multisrc/madara/src/readergen/readergen.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get readergenSource => _readergenSource; - - Source _readergenSource = Source( - name: "ReaderGen", - baseUrl: "https://fr.readergen.fr", - lang: "fr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/readergen/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get readergenSource => _readergenSource; + +Source _readergenSource = Source( + name: "ReaderGen", + baseUrl: "https://fr.readergen.fr", + lang: "fr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/readergen/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/readmanhua/readmanhua.dart b/dart/manga/multisrc/madara/src/readmanhua/readmanhua.dart index 1fdba197..213a0e2e 100644 --- a/dart/manga/multisrc/madara/src/readmanhua/readmanhua.dart +++ b/dart/manga/multisrc/madara/src/readmanhua/readmanhua.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get readmanhuaSource => _readmanhuaSource; Source _readmanhuaSource = Source( - name: "ReadManhua", - baseUrl: "https://readmanhua.net", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/readmanhua/icon.png", - dateFormat:"dd MMM yyyy", - dateFormatLocale:"en_us" - ); + name: "ReadManhua", + baseUrl: "https://readmanhua.net", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/readmanhua/icon.png", + dateFormat: "dd MMM yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/reaperscans/reaperscans.dart b/dart/manga/multisrc/madara/src/reaperscans/reaperscans.dart index f6fa98e3..5df8e3c4 100644 --- a/dart/manga/multisrc/madara/src/reaperscans/reaperscans.dart +++ b/dart/manga/multisrc/madara/src/reaperscans/reaperscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get reaperscansSource => _reaperscansSource; Source _reaperscansSource = Source( - name: "Reaper Scans", - baseUrl: "https://reaperscans.com", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/reaperscans/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"en_us" - ); + name: "Reaper Scans", + baseUrl: "https://reaperscans.com", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/reaperscans/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/richtoscan/richtoscan.dart b/dart/manga/multisrc/madara/src/richtoscan/richtoscan.dart index 90f6662d..137bc3c0 100644 --- a/dart/manga/multisrc/madara/src/richtoscan/richtoscan.dart +++ b/dart/manga/multisrc/madara/src/richtoscan/richtoscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get richtoscanSource => _richtoscanSource; - - Source _richtoscanSource = Source( - name: "RichtoScan", - baseUrl: "https://richtoscan.com", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/richtoscan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get richtoscanSource => _richtoscanSource; + +Source _richtoscanSource = Source( + name: "RichtoScan", + baseUrl: "https://richtoscan.com", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/richtoscan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/rightdarkscan/rightdarkscan.dart b/dart/manga/multisrc/madara/src/rightdarkscan/rightdarkscan.dart index ebfb20c0..74520466 100644 --- a/dart/manga/multisrc/madara/src/rightdarkscan/rightdarkscan.dart +++ b/dart/manga/multisrc/madara/src/rightdarkscan/rightdarkscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get rightdarkscanSource => _rightdarkscanSource; - - Source _rightdarkscanSource = Source( - name: "Rightdark Scan", - baseUrl: "https://rightdark-scan.com", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/rightdarkscan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get rightdarkscanSource => _rightdarkscanSource; + +Source _rightdarkscanSource = Source( + name: "Rightdark Scan", + baseUrl: "https://rightdark-scan.com", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/rightdarkscan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/rio2manga/rio2manga.dart b/dart/manga/multisrc/madara/src/rio2manga/rio2manga.dart index cb387fb3..ede59cf8 100644 --- a/dart/manga/multisrc/madara/src/rio2manga/rio2manga.dart +++ b/dart/manga/multisrc/madara/src/rio2manga/rio2manga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get rio2mangaSource => _rio2mangaSource; - - Source _rio2mangaSource = Source( - name: "Rio2 Manga", - baseUrl: "https://rio2manga.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/rio2manga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get rio2mangaSource => _rio2mangaSource; + +Source _rio2mangaSource = Source( + name: "Rio2 Manga", + baseUrl: "https://rio2manga.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/rio2manga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/rocksmanga/rocksmanga.dart b/dart/manga/multisrc/madara/src/rocksmanga/rocksmanga.dart index 53748773..8bec6756 100644 --- a/dart/manga/multisrc/madara/src/rocksmanga/rocksmanga.dart +++ b/dart/manga/multisrc/madara/src/rocksmanga/rocksmanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get rocksmangaSource => _rocksmangaSource; Source _rocksmangaSource = Source( - name: "Rocks Manga", - baseUrl: "https://rocks-manga.com", - lang: "ar", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/rocksmanga/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"ar" - ); + name: "Rocks Manga", + baseUrl: "https://rocks-manga.com", + lang: "ar", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/rocksmanga/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/madara/src/romantikmanga/romantikmanga.dart b/dart/manga/multisrc/madara/src/romantikmanga/romantikmanga.dart index f8aa317f..8e521d4f 100644 --- a/dart/manga/multisrc/madara/src/romantikmanga/romantikmanga.dart +++ b/dart/manga/multisrc/madara/src/romantikmanga/romantikmanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get romantikmangaSource => _romantikmangaSource; - - Source _romantikmangaSource = Source( - name: "Romantik Manga", - baseUrl: "https://romantikmanga.com", - lang: "tr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/romantikmanga/icon.png", - dateFormat:"MMM d, yyy", - dateFormatLocale:"tr", - ); \ No newline at end of file +Source get romantikmangaSource => _romantikmangaSource; + +Source _romantikmangaSource = Source( + name: "Romantik Manga", + baseUrl: "https://romantikmanga.com", + lang: "tr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/romantikmanga/icon.png", + dateFormat: "MMM d, yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/ruyamanga/ruyamanga.dart b/dart/manga/multisrc/madara/src/ruyamanga/ruyamanga.dart index f0538382..06448588 100644 --- a/dart/manga/multisrc/madara/src/ruyamanga/ruyamanga.dart +++ b/dart/manga/multisrc/madara/src/ruyamanga/ruyamanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get ruyamangaSource => _ruyamangaSource; Source _ruyamangaSource = Source( - name: "Rüya Manga", - baseUrl: "https://www.ruyamanga.com", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/ruyamanga/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"en" - ); + name: "Rüya Manga", + baseUrl: "https://www.ruyamanga.com", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/ruyamanga/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/s2manga/s2manga.dart b/dart/manga/multisrc/madara/src/s2manga/s2manga.dart index ac1765db..2f9f9699 100644 --- a/dart/manga/multisrc/madara/src/s2manga/s2manga.dart +++ b/dart/manga/multisrc/madara/src/s2manga/s2manga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get s2mangaSource => _s2mangaSource; - - Source _s2mangaSource = Source( - name: "S2Manga", - baseUrl: "https://www.s2manga.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/s2manga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get s2mangaSource => _s2mangaSource; + +Source _s2mangaSource = Source( + name: "S2Manga", + baseUrl: "https://www.s2manga.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/s2manga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/samuraiscan/samuraiscan.dart b/dart/manga/multisrc/madara/src/samuraiscan/samuraiscan.dart index ebf5a648..43a1e329 100644 --- a/dart/manga/multisrc/madara/src/samuraiscan/samuraiscan.dart +++ b/dart/manga/multisrc/madara/src/samuraiscan/samuraiscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get samuraiscanSource => _samuraiscanSource; - - Source _samuraiscanSource = Source( - name: "SamuraiScan", - baseUrl: "https://samuraiscan.com", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/samuraiscan/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get samuraiscanSource => _samuraiscanSource; + +Source _samuraiscanSource = Source( + name: "SamuraiScan", + baseUrl: "https://samuraiscan.com", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/samuraiscan/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/sapphirescan/sapphirescan.dart b/dart/manga/multisrc/madara/src/sapphirescan/sapphirescan.dart index 2ccf2087..0b024e6d 100644 --- a/dart/manga/multisrc/madara/src/sapphirescan/sapphirescan.dart +++ b/dart/manga/multisrc/madara/src/sapphirescan/sapphirescan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get sapphirescanSource => _sapphirescanSource; Source _sapphirescanSource = Source( - name: "SapphireScan", - baseUrl: "https://sapphirescan.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/sapphirescan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "SapphireScan", + baseUrl: "https://sapphirescan.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/sapphirescan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/scambertraslator/scambertraslator.dart b/dart/manga/multisrc/madara/src/scambertraslator/scambertraslator.dart index d3c76659..c75528fe 100644 --- a/dart/manga/multisrc/madara/src/scambertraslator/scambertraslator.dart +++ b/dart/manga/multisrc/madara/src/scambertraslator/scambertraslator.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get scambertraslatorSource => _scambertraslatorSource; - - Source _scambertraslatorSource = Source( - name: "ScamberTraslator", - baseUrl: "https://scambertraslator.com", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/scambertraslator/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get scambertraslatorSource => _scambertraslatorSource; + +Source _scambertraslatorSource = Source( + name: "ScamberTraslator", + baseUrl: "https://scambertraslator.com", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/scambertraslator/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/scantradvf/scantradvf.dart b/dart/manga/multisrc/madara/src/scantradvf/scantradvf.dart index 995a9270..b0f78c54 100644 --- a/dart/manga/multisrc/madara/src/scantradvf/scantradvf.dart +++ b/dart/manga/multisrc/madara/src/scantradvf/scantradvf.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get scantradvfSource => _scantradvfSource; - - Source _scantradvfSource = Source( - name: "Scantrad-VF", - baseUrl: "https://scantrad-vf.co", - lang: "fr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/scantradvf/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"fr", - ); \ No newline at end of file +Source get scantradvfSource => _scantradvfSource; + +Source _scantradvfSource = Source( + name: "Scantrad-VF", + baseUrl: "https://scantrad-vf.co", + lang: "fr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/scantradvf/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/madara/src/shadowtrad/shadowtrad.dart b/dart/manga/multisrc/madara/src/shadowtrad/shadowtrad.dart index 866b9a14..bc71f45c 100644 --- a/dart/manga/multisrc/madara/src/shadowtrad/shadowtrad.dart +++ b/dart/manga/multisrc/madara/src/shadowtrad/shadowtrad.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get shadowtradSource => _shadowtradSource; - - Source _shadowtradSource = Source( - name: "Shadowtrad", - baseUrl: "https://shadowtrad.net", - lang: "fr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/shadowtrad/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"fr", - ); \ No newline at end of file +Source get shadowtradSource => _shadowtradSource; + +Source _shadowtradSource = Source( + name: "Shadowtrad", + baseUrl: "https://shadowtrad.net", + lang: "fr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/shadowtrad/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/madara/src/shibamanga/shibamanga.dart b/dart/manga/multisrc/madara/src/shibamanga/shibamanga.dart index 1c47942d..b6cfea12 100644 --- a/dart/manga/multisrc/madara/src/shibamanga/shibamanga.dart +++ b/dart/manga/multisrc/madara/src/shibamanga/shibamanga.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get shibamangaSource => _shibamangaSource; - - Source _shibamangaSource = Source( - name: "Shiba Manga", - baseUrl: "https://shibamanga.com", - lang: "en", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/shibamanga/icon.png", - dateFormat:"MM/dd/yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get shibamangaSource => _shibamangaSource; + +Source _shibamangaSource = Source( + name: "Shiba Manga", + baseUrl: "https://shibamanga.com", + lang: "en", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/shibamanga/icon.png", + dateFormat: "MM/dd/yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/siimanga/siimanga.dart b/dart/manga/multisrc/madara/src/siimanga/siimanga.dart index d43ef1af..b392d8a3 100644 --- a/dart/manga/multisrc/madara/src/siimanga/siimanga.dart +++ b/dart/manga/multisrc/madara/src/siimanga/siimanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get siimangaSource => _siimangaSource; Source _siimangaSource = Source( - name: "Siimanga", - baseUrl: "https://siimanga.cyou", - lang: "id", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/siimanga/icon.png", - dateFormat:"d MMMM", - dateFormatLocale:"en" - ); + name: "Siimanga", + baseUrl: "https://siimanga.cyou", + lang: "id", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/siimanga/icon.png", + dateFormat: "d MMMM", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/sinensis/sinensis.dart b/dart/manga/multisrc/madara/src/sinensis/sinensis.dart index 7375030f..f4931cb1 100644 --- a/dart/manga/multisrc/madara/src/sinensis/sinensis.dart +++ b/dart/manga/multisrc/madara/src/sinensis/sinensis.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get sinensisSource => _sinensisSource; - - Source _sinensisSource = Source( - name: "Sinensis Scan", - baseUrl: "https://sinensisscan.net", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/sinensis/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get sinensisSource => _sinensisSource; + +Source _sinensisSource = Source( + name: "Sinensis Scan", + baseUrl: "https://sinensisscan.net", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/sinensis/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/softepsilonscan/softepsilonscan.dart b/dart/manga/multisrc/madara/src/softepsilonscan/softepsilonscan.dart index ed07c325..52503fee 100644 --- a/dart/manga/multisrc/madara/src/softepsilonscan/softepsilonscan.dart +++ b/dart/manga/multisrc/madara/src/softepsilonscan/softepsilonscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get softepsilonscanSource => _softepsilonscanSource; Source _softepsilonscanSource = Source( - name: "Soft Epsilon Scan", - baseUrl: "https://soft.epsilonscan.fr", - lang: "fr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/softepsilonscan/icon.png", - dateFormat:"dd/MM/yy", - dateFormatLocale:"fr" - ); + name: "Soft Epsilon Scan", + baseUrl: "https://soft.epsilonscan.fr", + lang: "fr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/softepsilonscan/icon.png", + dateFormat: "dd/MM/yy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/madara/src/stonescape/stonescape.dart b/dart/manga/multisrc/madara/src/stonescape/stonescape.dart index aeebe052..4d8f7d6b 100644 --- a/dart/manga/multisrc/madara/src/stonescape/stonescape.dart +++ b/dart/manga/multisrc/madara/src/stonescape/stonescape.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get stonescapeSource => _stonescapeSource; Source _stonescapeSource = Source( - name: "StoneScape", - baseUrl: "https://stonescape.xyz", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/stonescape/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en" - ); + name: "StoneScape", + baseUrl: "https://stonescape.xyz", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/stonescape/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/sussyscan/sussyscan.dart b/dart/manga/multisrc/madara/src/sussyscan/sussyscan.dart index 34953a67..422332f2 100644 --- a/dart/manga/multisrc/madara/src/sussyscan/sussyscan.dart +++ b/dart/manga/multisrc/madara/src/sussyscan/sussyscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get sussyscanSource => _sussyscanSource; Source _sussyscanSource = Source( - name: "Sussy Scan", - baseUrl: "https://sussyscan.com", - lang: "pt-br", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/sussyscan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"pt-br" - ); + name: "Sussy Scan", + baseUrl: "https://sussyscan.com", + lang: "pt-br", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/sussyscan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/sweettimescan/sweettimescan.dart b/dart/manga/multisrc/madara/src/sweettimescan/sweettimescan.dart index 2b042ab7..5ed3d716 100644 --- a/dart/manga/multisrc/madara/src/sweettimescan/sweettimescan.dart +++ b/dart/manga/multisrc/madara/src/sweettimescan/sweettimescan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get sweettimescanSource => _sweettimescanSource; - - Source _sweettimescanSource = Source( - name: "Sweet Time Scan", - baseUrl: "https://sweetscan.net", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/sweettimescan/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get sweettimescanSource => _sweettimescanSource; + +Source _sweettimescanSource = Source( + name: "Sweet Time Scan", + baseUrl: "https://sweetscan.net", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/sweettimescan/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/tappytoonnet/tappytoonnet.dart b/dart/manga/multisrc/madara/src/tappytoonnet/tappytoonnet.dart index 43f5a28b..7ad77d83 100644 --- a/dart/manga/multisrc/madara/src/tappytoonnet/tappytoonnet.dart +++ b/dart/manga/multisrc/madara/src/tappytoonnet/tappytoonnet.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get tappytoonnetSource => _tappytoonnetSource; Source _tappytoonnetSource = Source( - name: "TappyToon.Net", - baseUrl: "https://tappytoon.net", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/tappytoonnet/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"en_us" - ); + name: "TappyToon.Net", + baseUrl: "https://tappytoon.net", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/tappytoonnet/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/madara/src/tatakaescan/tatakaescan.dart b/dart/manga/multisrc/madara/src/tatakaescan/tatakaescan.dart index 94fab01f..a1d033d8 100644 --- a/dart/manga/multisrc/madara/src/tatakaescan/tatakaescan.dart +++ b/dart/manga/multisrc/madara/src/tatakaescan/tatakaescan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get tatakaescanSource => _tatakaescanSource; - - Source _tatakaescanSource = Source( - name: "Tatakae Scan", - baseUrl: "https://tatakaescan.com", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/tatakaescan/icon.png", - dateFormat:"dd 'de' MMMMM 'de' yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get tatakaescanSource => _tatakaescanSource; + +Source _tatakaescanSource = Source( + name: "Tatakae Scan", + baseUrl: "https://tatakaescan.com", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/tatakaescan/icon.png", + dateFormat: "dd 'de' MMMMM 'de' yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/taurusfansub/taurusfansub.dart b/dart/manga/multisrc/madara/src/taurusfansub/taurusfansub.dart index 2b78afac..4aa66b89 100644 --- a/dart/manga/multisrc/madara/src/taurusfansub/taurusfansub.dart +++ b/dart/manga/multisrc/madara/src/taurusfansub/taurusfansub.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get taurusfansubSource => _taurusfansubSource; - - Source _taurusfansubSource = Source( - name: "Taurus Fansub", - baseUrl: "https://taurusfansub.com", - lang: "es", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/taurusfansub/icon.png", - dateFormat:"dd/MM/yyy", - dateFormatLocale:"es", - ); \ No newline at end of file +Source get taurusfansubSource => _taurusfansubSource; + +Source _taurusfansubSource = Source( + name: "Taurus Fansub", + baseUrl: "https://taurusfansub.com", + lang: "es", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/taurusfansub/icon.png", + dateFormat: "dd/MM/yyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/thebeginningaftertheend/thebeginningaftertheend.dart b/dart/manga/multisrc/madara/src/thebeginningaftertheend/thebeginningaftertheend.dart index 3c15d2b1..a72a9850 100644 --- a/dart/manga/multisrc/madara/src/thebeginningaftertheend/thebeginningaftertheend.dart +++ b/dart/manga/multisrc/madara/src/thebeginningaftertheend/thebeginningaftertheend.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get thebeginningaftertheendSource => _thebeginningaftertheendSource; - - Source _thebeginningaftertheendSource = Source( - name: "The Beginning After The End", - baseUrl: "https://www.thebeginningaftertheend.fr", - lang: "fr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/thebeginningaftertheend/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"fr", - ); \ No newline at end of file +Source get thebeginningaftertheendSource => _thebeginningaftertheendSource; + +Source _thebeginningaftertheendSource = Source( + name: "The Beginning After The End", + baseUrl: "https://www.thebeginningaftertheend.fr", + lang: "fr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/thebeginningaftertheend/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/madara/src/tortugaceviri/tortugaceviri.dart b/dart/manga/multisrc/madara/src/tortugaceviri/tortugaceviri.dart index cf1105a2..559e8679 100644 --- a/dart/manga/multisrc/madara/src/tortugaceviri/tortugaceviri.dart +++ b/dart/manga/multisrc/madara/src/tortugaceviri/tortugaceviri.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get tortugaceviriSource => _tortugaceviriSource; - - Source _tortugaceviriSource = Source( - name: "Tortuga Ceviri", - baseUrl: "https://tortuga-ceviri.com", - lang: "tr", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/tortugaceviri/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"tr", - ); \ No newline at end of file +Source get tortugaceviriSource => _tortugaceviriSource; + +Source _tortugaceviriSource = Source( + name: "Tortuga Ceviri", + baseUrl: "https://tortuga-ceviri.com", + lang: "tr", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/tortugaceviri/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/tresdaosscan/tresdaosscan.dart b/dart/manga/multisrc/madara/src/tresdaosscan/tresdaosscan.dart index 5a8dfd6b..3525b0da 100644 --- a/dart/manga/multisrc/madara/src/tresdaosscan/tresdaosscan.dart +++ b/dart/manga/multisrc/madara/src/tresdaosscan/tresdaosscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get tresdaosscanSource => _tresdaosscanSource; Source _tresdaosscanSource = Source( - name: "Tres Daos Scan", - baseUrl: "https://tresdaos.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/tresdaosscan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "Tres Daos Scan", + baseUrl: "https://tresdaos.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/tresdaosscan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/turkcemangaoku/turkcemangaoku.dart b/dart/manga/multisrc/madara/src/turkcemangaoku/turkcemangaoku.dart index 59949a31..63f77c5e 100644 --- a/dart/manga/multisrc/madara/src/turkcemangaoku/turkcemangaoku.dart +++ b/dart/manga/multisrc/madara/src/turkcemangaoku/turkcemangaoku.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get turkcemangaokuSource => _turkcemangaokuSource; Source _turkcemangaokuSource = Source( - name: "Türkçe Manga Oku", - baseUrl: "https://turkcemangaoku.com", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/turkcemangaoku/icon.png", - dateFormat:"d MMMM yyyy", - dateFormatLocale:"tr" - ); + name: "Türkçe Manga Oku", + baseUrl: "https://turkcemangaoku.com", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/turkcemangaoku/icon.png", + dateFormat: "d MMMM yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/unitoon/unitoon.dart b/dart/manga/multisrc/madara/src/unitoon/unitoon.dart index 1bf0a623..d663ca81 100644 --- a/dart/manga/multisrc/madara/src/unitoon/unitoon.dart +++ b/dart/manga/multisrc/madara/src/unitoon/unitoon.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get unitoonSource => _unitoonSource; Source _unitoonSource = Source( - name: "Unitoon", - baseUrl: "https://lectorunitoon.com", - lang: "es", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/unitoon/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"es" - ); + name: "Unitoon", + baseUrl: "https://lectorunitoon.com", + lang: "es", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/unitoon/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/madara/src/webtoonhatti/webtoonhatti.dart b/dart/manga/multisrc/madara/src/webtoonhatti/webtoonhatti.dart index 25d104c9..493d94f0 100644 --- a/dart/manga/multisrc/madara/src/webtoonhatti/webtoonhatti.dart +++ b/dart/manga/multisrc/madara/src/webtoonhatti/webtoonhatti.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get webtoonhattiSource => _webtoonhattiSource; Source _webtoonhattiSource = Source( - name: "Webtoon Hatti", - baseUrl: "https://webtoonhatti.net", - lang: "tr", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/webtoonhatti/icon.png", - dateFormat:"dd MMMM", - dateFormatLocale:"tr" - ); + name: "Webtoon Hatti", + baseUrl: "https://webtoonhatti.net", + lang: "tr", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/webtoonhatti/icon.png", + dateFormat: "dd MMMM", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/madara/src/wickedwitchscan/wickedwitchscan.dart b/dart/manga/multisrc/madara/src/wickedwitchscan/wickedwitchscan.dart index cd397985..899e60cd 100644 --- a/dart/manga/multisrc/madara/src/wickedwitchscan/wickedwitchscan.dart +++ b/dart/manga/multisrc/madara/src/wickedwitchscan/wickedwitchscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get wickedwitchscanSource => _wickedwitchscanSource; - - Source _wickedwitchscanSource = Source( - name: "Wicked Witch Scan", - baseUrl: "https://wickedwitchscan.com", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/wickedwitchscan/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get wickedwitchscanSource => _wickedwitchscanSource; + +Source _wickedwitchscanSource = Source( + name: "Wicked Witch Scan", + baseUrl: "https://wickedwitchscan.com", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/wickedwitchscan/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/winterscan/winterscan.dart b/dart/manga/multisrc/madara/src/winterscan/winterscan.dart index fd2289a3..0646f462 100644 --- a/dart/manga/multisrc/madara/src/winterscan/winterscan.dart +++ b/dart/manga/multisrc/madara/src/winterscan/winterscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get winterscanSource => _winterscanSource; - - Source _winterscanSource = Source( - name: "Winter Scan", - baseUrl: "https://winterscan.com", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/winterscan/icon.png", - dateFormat:"dd 'de' MMMM 'de' yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get winterscanSource => _winterscanSource; + +Source _winterscanSource = Source( + name: "Winter Scan", + baseUrl: "https://winterscan.com", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/winterscan/icon.png", + dateFormat: "dd 'de' MMMM 'de' yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/wonderlandscan/wonderlandscan.dart b/dart/manga/multisrc/madara/src/wonderlandscan/wonderlandscan.dart index d60096f5..0ad8e7d4 100644 --- a/dart/manga/multisrc/madara/src/wonderlandscan/wonderlandscan.dart +++ b/dart/manga/multisrc/madara/src/wonderlandscan/wonderlandscan.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get wonderlandscanSource => _wonderlandscanSource; - - Source _wonderlandscanSource = Source( - name: "Wonderland Scan", - baseUrl: "https://wonderlandscan.com", - lang: "pt-BR", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/wonderlandscan/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get wonderlandscanSource => _wonderlandscanSource; + +Source _wonderlandscanSource = Source( + name: "Wonderland Scan", + baseUrl: "https://wonderlandscan.com", + lang: "pt-BR", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/wonderlandscan/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/yubikiri/yubikiri.dart b/dart/manga/multisrc/madara/src/yubikiri/yubikiri.dart index d9d8c2bd..e453cd5e 100644 --- a/dart/manga/multisrc/madara/src/yubikiri/yubikiri.dart +++ b/dart/manga/multisrc/madara/src/yubikiri/yubikiri.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get yubikiriSource => _yubikiriSource; Source _yubikiriSource = Source( - name: "Yubikiri", - baseUrl: "https://yubikiri.my.id", - lang: "id", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/yubikiri/icon.png", - dateFormat:"d MMMM", - dateFormatLocale:"en" - ); + name: "Yubikiri", + baseUrl: "https://yubikiri.my.id", + lang: "id", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/yubikiri/icon.png", + dateFormat: "d MMMM", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/madara/src/yuriverso/yuriverso.dart b/dart/manga/multisrc/madara/src/yuriverso/yuriverso.dart index 739e4c70..6e5e4d75 100644 --- a/dart/manga/multisrc/madara/src/yuriverso/yuriverso.dart +++ b/dart/manga/multisrc/madara/src/yuriverso/yuriverso.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get yuriversoSource => _yuriversoSource; - - Source _yuriversoSource = Source( - name: "Yuri Verso", - baseUrl: "https://yuri.live", - lang: "pt-br", - - typeSource: "madara", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/yuriverso/icon.png", - dateFormat:"dd/MM/yyyy", - dateFormatLocale:"pt-br", - ); \ No newline at end of file +Source get yuriversoSource => _yuriversoSource; + +Source _yuriversoSource = Source( + name: "Yuri Verso", + baseUrl: "https://yuri.live", + lang: "pt-br", + + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/yuriverso/icon.png", + dateFormat: "dd/MM/yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/madara/src/zinmanganet/zinmanganet.dart b/dart/manga/multisrc/madara/src/zinmanganet/zinmanganet.dart index c7b468d3..0c1636c3 100644 --- a/dart/manga/multisrc/madara/src/zinmanganet/zinmanganet.dart +++ b/dart/manga/multisrc/madara/src/zinmanganet/zinmanganet.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get zinmanganetSource => _zinmanganetSource; Source _zinmanganetSource = Source( - name: "Zinmanga.net", - baseUrl: "https://zinmanga.net", - lang: "en", - isNsfw:false, - typeSource: "madara", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/zinmanganet/icon.png", - dateFormat:"MM/dd/yyyy", - dateFormatLocale:"en" - ); + name: "Zinmanga.net", + baseUrl: "https://zinmanga.net", + lang: "en", + isNsfw: false, + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/zinmanganet/icon.png", + dateFormat: "MM/dd/yyyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/mangabox/mangabox.dart b/dart/manga/multisrc/mangabox/mangabox.dart index e9953098..0f89fd30 100644 --- a/dart/manga/multisrc/mangabox/mangabox.dart +++ b/dart/manga/multisrc/mangabox/mangabox.dart @@ -9,17 +9,19 @@ class MangaBox extends MProvider { @override Future getPopular(int page) async { - final res = (await client.get(Uri.parse( - "${source.baseUrl}/${popularUrlPath(source.name, page)}"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/${popularUrlPath(source.name, page)}"), + )).body; return mangaRes(res); } @override Future getLatestUpdates(int page) async { - final res = (await client.get( - Uri.parse("${source.baseUrl}/${latestUrlPath(source.name, page)}"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/${latestUrlPath(source.name, page)}"), + )).body; return mangaRes(res); } @@ -49,12 +51,14 @@ class MangaBox extends MProvider { final status = filter.values[filter.state].value; url += "${ll(url)}sts=$status"; } else if (filter.type == "GenreListFilter") { - final included = (filter.state as List) - .where((e) => e.state == 1 ? true : false) - .toList(); - final excluded = (filter.state as List) - .where((e) => e.state == 2 ? true : false) - .toList(); + final included = + (filter.state as List) + .where((e) => e.state == 1 ? true : false) + .toList(); + final excluded = + (filter.state as List) + .where((e) => e.state == 2 ? true : false) + .toList(); if (included.isNotEmpty) { for (var val in included) { genreInclude += "_${val.value}"; @@ -89,24 +93,38 @@ class MangaBox extends MProvider { List mangaList = []; List urls = []; - urls = xpath(res, - '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item" or @class="story_item_right"]/h3/a/@href'); + urls = xpath( + res, + '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item" or @class="story_item_right"]/h3/a/@href', + ); List names = []; - names = xpath(res, - '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item" or @class="story_item_right"]/h3/a/text()'); - final images = xpath(res, - '//*[@class="search-story-item" or @class="story_item" or @class="content-genres-item" or @class="list-story-item" or @class="story-item" or @class="list-truyen-item-wrap"]/a/img/@src'); + names = xpath( + res, + '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item" or @class="story_item_right"]/h3/a/text()', + ); + final images = xpath( + res, + '//*[@class="search-story-item" or @class="story_item" or @class="content-genres-item" or @class="list-story-item" or @class="story-item" or @class="list-truyen-item-wrap"]/a/img/@src', + ); if (names.isEmpty) { - urls = xpath(res, - '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item"]/h2/a/@href'); - names = xpath(res, - '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item"]/h2/a/text()'); + urls = xpath( + res, + '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item"]/h2/a/@href', + ); + names = xpath( + res, + '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item"]/h2/a/text()', + ); } if (names.isEmpty) { - names = xpath(res, - '//*[@class="search-story-item" or @class="list-story-item"]/a/@title'); - urls = xpath(res, - '//*[@class="search-story-item" or @class="list-story-item"]/a/@href'); + names = xpath( + res, + '//*[@class="search-story-item" or @class="list-story-item"]/a/@title', + ); + urls = xpath( + res, + '//*[@class="search-story-item" or @class="list-story-item"]/a/@href', + ); } for (var i = 0; i < names.length; i++) { MManga manga = MManga(); @@ -122,21 +140,27 @@ class MangaBox extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"Ongoing": 0, "Completed": 1} + {"Ongoing": 0, "Completed": 1}, ]; MManga manga = MManga(); final res = (await client.get(Uri.parse(url))).body; final document = parseHtml(res); - manga.author = document.xpathFirst( - '//*[@class="table-label" and contains(text(), "Author")]/parent::tr/td[2]/text()|//li[contains(text(), "Author")]/a/text()') ?? + manga.author = + document.xpathFirst( + '//*[@class="table-label" and contains(text(), "Author")]/parent::tr/td[2]/text()|//li[contains(text(), "Author")]/a/text()', + ) ?? ""; - final alternative = document.xpathFirst( - '//*[@class="table-label" and contains(text(), "Alternative")]/parent::tr/td[2]/text()') ?? + final alternative = + document.xpathFirst( + '//*[@class="table-label" and contains(text(), "Alternative")]/parent::tr/td[2]/text()', + ) ?? ""; - final description = document.xpathFirst( - '//*[@id="panel-story-info-description" ]/text() | //*[@id="story_discription" ]/text() | //div[@id="noidungm"]/text()') ?? + final description = + document.xpathFirst( + '//*[@id="panel-story-info-description" ]/text() | //*[@id="story_discription" ]/text() | //div[@id="noidungm"]/text()', + ) ?? ""; if (description.isNotEmpty) { @@ -152,16 +176,20 @@ class MangaBox extends MProvider { "${manga.description}\n\nAlternative Name: $alternative"; } } - final status = document.xpathFirst( - '//*[@class="table-label" and contains(text(), "Status")]/parent::tr/td[2]/text() | //li[contains(text(), "Status")]/text() | //li[contains(text(), "Status")]/a/text()') ?? + final status = + document.xpathFirst( + '//*[@class="table-label" and contains(text(), "Status")]/parent::tr/td[2]/text() | //li[contains(text(), "Status")]/text() | //li[contains(text(), "Status")]/a/text()', + ) ?? ""; if (status.isNotEmpty) { manga.status = parseStatus(status.split(":").last.trim(), statusList); } manga.genre = document.xpath( - '//*[@class="table-label" and contains(text(), "Genres")]/parent::tr/td[2]/a/text() | //li[contains(text(), "Genres")]/a/text()'); + '//*[@class="table-label" and contains(text(), "Genres")]/parent::tr/td[2]/a/text() | //li[contains(text(), "Genres")]/a/text()', + ); final chaptersElements = document.select( - "div.chapter-list div.row, ul.row-content-chapter li, div#chapter_list li"); + "div.chapter-list div.row, ul.row-content-chapter li, div#chapter_list li", + ); List? chaptersList = []; for (var element in chaptersElements) { final a = element.selectFirst("a"); @@ -175,10 +203,14 @@ class MangaBox extends MProvider { dateStr = element.selectFirst("p")?.text ?? ""; } chapter.url = a.getHref; - chapter.dateUpload = dateStr.isEmpty - ? DateTime.now().millisecondsSinceEpoch.toString() - : parseDates( - [dateStr], source.dateFormat, source.dateFormatLocale)[0]; + chapter.dateUpload = + dateStr.isEmpty + ? DateTime.now().millisecondsSinceEpoch.toString() + : parseDates( + [dateStr], + source.dateFormat, + source.dateFormatLocale, + )[0]; chaptersList.add(chapter); } manga.chapters = chaptersList; @@ -189,12 +221,15 @@ class MangaBox extends MProvider { Future> getPageList(String url) async { final res = (await client.get(Uri.parse(url))).body; List pageUrls = []; - final urls = xpath(res, - '//div[@class="container-chapter-reader" or @class="panel-read-story"]/img/@src'); + final urls = xpath( + res, + '//div[@class="container-chapter-reader" or @class="panel-read-story"]/img/@src', + ); for (var url in urls) { if (url.startsWith("https://convert_image_digi.mgicdn.com")) { - pageUrls - .add("https://images.weserv.nl/?url=${substringAfter(url, "//")}"); + pageUrls.add( + "https://images.weserv.nl/?url=${substringAfter(url, "//")}", + ); } else { pageUrls.add(url); } @@ -206,13 +241,19 @@ class MangaBox extends MProvider { MPages mangaRes(String res) { List mangaList = []; List urls = []; - urls = xpath(res, - '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item"]/h3/a/@href'); + urls = xpath( + res, + '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item"]/h3/a/@href', + ); List names = []; - names = xpath(res, - '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item"]/h3/a/text()'); - final images = xpath(res, - '//*[ @class="content-genres-item" or @class="list-story-item" or @class="story-item" or @class="list-truyen-item-wrap"]/a/img/@src'); + names = xpath( + res, + '//*[ @class^="genres-item" or @class="list-truyen-item-wrap" or @class="story-item"]/h3/a/text()', + ); + final images = xpath( + res, + '//*[ @class="content-genres-item" or @class="list-story-item" or @class="story-item" or @class="list-truyen-item-wrap"]/a/img/@src', + ); if (names.isEmpty) { names = xpath(res, '//*[@class="list-story-item"]/a/@title'); urls = xpath(res, '//*[@class="list-story-item"]/a/@href'); @@ -274,10 +315,11 @@ class MangaBox extends MProvider { str = str.replaceAll(RegExp(r'[ỳýỵỷỹ]'), 'y'); str = str.replaceAll(RegExp(r'đ'), 'd'); str = str.replaceAll( - RegExp( - r"""!|@|%|\^|\*|\(|\)|\+|=|<|>|\?|/|,|\.|:|;|'| |"|&|#|\[|]|~|-|$|_""", - ), - "_"); + RegExp( + r"""!|@|%|\^|\*|\(|\)|\+|=|<|>|\?|/|,|\.|:|;|'| |"|&|#|\[|]|~|-|$|_""", + ), + "_", + ); str = str.replaceAll(RegExp(r'_+'), '_'); str = str.replaceAll(RegExp(r'^_+|_+$'), ''); return str; diff --git a/dart/manga/multisrc/mangabox/sources.dart b/dart/manga/multisrc/mangabox/sources.dart index 8ba94a88..aa9dafa7 100644 --- a/dart/manga/multisrc/mangabox/sources.dart +++ b/dart/manga/multisrc/mangabox/sources.dart @@ -9,18 +9,22 @@ const mangaboxSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangabox/mangabox.dart"; List get mangaboxSourcesList => _mangaboxSourcesList; -List _mangaboxSourcesList = [ - //Mangabat (EN) - mangabatSource, - //Mangairo (EN) - mangairoSource, - //Mangakakalot (EN) - mangakakalotSource, - //Manganato (EN) - manganatoSource -] - .map((e) => e - ..itemType = ItemType.manga - ..sourceCodeUrl = mangaboxSourceCodeUrl - ..version = mangaboxVersion) - .toList(); +List _mangaboxSourcesList = + [ + //Mangabat (EN) + mangabatSource, + //Mangairo (EN) + mangairoSource, + //Mangakakalot (EN) + mangakakalotSource, + //Manganato (EN) + manganatoSource, + ] + .map( + (e) => + e + ..itemType = ItemType.manga + ..sourceCodeUrl = mangaboxSourceCodeUrl + ..version = mangaboxVersion, + ) + .toList(); diff --git a/dart/manga/multisrc/mangareader/mangareader.dart b/dart/manga/multisrc/mangareader/mangareader.dart index d392a165..2cebca22 100644 --- a/dart/manga/multisrc/mangareader/mangareader.dart +++ b/dart/manga/multisrc/mangareader/mangareader.dart @@ -16,17 +16,23 @@ class MangaReader extends MProvider { @override Future getPopular(int page) async { - final res = (await client.get(Uri.parse( - "$baseUrl${getMangaUrlDirectory(source.name)}/?page=$page&order=popular"))) - .body; + final res = + (await client.get( + Uri.parse( + "$baseUrl${getMangaUrlDirectory(source.name)}/?page=$page&order=popular", + ), + )).body; return mangaRes(res); } @override Future getLatestUpdates(int page) async { - final res = (await client.get(Uri.parse( - "$baseUrl${getMangaUrlDirectory(source.name)}/?page=$page&order=update"))) - .body; + final res = + (await client.get( + Uri.parse( + "$baseUrl${getMangaUrlDirectory(source.name)}/?page=$page&order=update", + ), + )).body; return mangaRes(res); } @@ -51,12 +57,14 @@ class MangaReader extends MProvider { final order = filter.values[filter.state].value; url += "${ll(url)}order=$order"; } else if (filter.type == "GenreListFilter") { - final included = (filter.state as List) - .where((e) => e.state == 1 ? true : false) - .toList(); - final excluded = (filter.state as List) - .where((e) => e.state == 2 ? true : false) - .toList(); + final included = + (filter.state as List) + .where((e) => e.state == 1 ? true : false) + .toList(); + final excluded = + (filter.state as List) + .where((e) => e.state == 2 ? true : false) + .toList(); if (included.isNotEmpty) { url += "${ll(url)}genres[]="; for (var val in included) { @@ -154,8 +162,8 @@ class MangaReader extends MProvider { "cancelados": 3, "dropped": 3, "discontinued": 3, - "abandonné": 3 - } + "abandonné": 3, + }, ]; url = getUrlWithoutDomain(url); @@ -164,44 +172,56 @@ class MangaReader extends MProvider { final res = (await client.get(Uri.parse("$baseUrl$url"))).body; final document = parseHtml(res); final seriesDetails = document.selectFirst( - "div.bigcontent, div.animefull, div.main-info, div.postbody"); - manga.author = seriesDetails - .selectFirst(".infotable tr:contains(Author) td:last-child, .tsinfo .imptdt:contains(Author) i, .fmed b:contains(Author)+span, span:contains(Author), " + - ".infotable tr:contains(Auteur) td:last-child, .tsinfo .imptdt:contains(Auteur) i, .fmed b:contains(Auteur)+span, span:contains(Auteur), " + - ".infotable tr:contains(autor) td:last-child, .tsinfo .imptdt:contains(autor) i, .fmed b:contains(autor)+span, span:contains(autor), " + - ".infotable tr:contains(المؤلف) td:last-child, .tsinfo .imptdt:contains(المؤلف) i, .fmed b:contains(المؤلف)+span, span:contains(المؤلف), " + - ".infotable tr:contains(Mangaka) td:last-child, .tsinfo .imptdt:contains(Mangaka) i, .fmed b:contains(Mangaka)+span, span:contains(Mangaka), " + - ".infotable tr:contains(seniman) td:last-child, .tsinfo .imptdt:contains(seniman) i, .fmed b:contains(seniman)+span, span:contains(seniman), " + - ".infotable tr:contains(Pengarang) td:last-child, .tsinfo .imptdt:contains(Pengarang) i, .fmed b:contains(Pengarang)+span, span:contains(Pengarang), " + - ".infotable tr:contains(Yazar) td:last-child, .tsinfo .imptdt:contains(Yazar) i, .fmed b:contains(Yazar)+span, span:contains(Yazar), " + - ".infotable tr:contains(ผู้วาด) td:last-child, .tsinfo .imptdt:contains(ผู้วาด) i, .fmed b:contains(ผู้วาด)+span, span:contains(ผู้วาด), ") - .text; + "div.bigcontent, div.animefull, div.main-info, div.postbody", + ); + manga.author = + seriesDetails + .selectFirst( + ".infotable tr:contains(Author) td:last-child, .tsinfo .imptdt:contains(Author) i, .fmed b:contains(Author)+span, span:contains(Author), " + + ".infotable tr:contains(Auteur) td:last-child, .tsinfo .imptdt:contains(Auteur) i, .fmed b:contains(Auteur)+span, span:contains(Auteur), " + + ".infotable tr:contains(autor) td:last-child, .tsinfo .imptdt:contains(autor) i, .fmed b:contains(autor)+span, span:contains(autor), " + + ".infotable tr:contains(المؤلف) td:last-child, .tsinfo .imptdt:contains(المؤلف) i, .fmed b:contains(المؤلف)+span, span:contains(المؤلف), " + + ".infotable tr:contains(Mangaka) td:last-child, .tsinfo .imptdt:contains(Mangaka) i, .fmed b:contains(Mangaka)+span, span:contains(Mangaka), " + + ".infotable tr:contains(seniman) td:last-child, .tsinfo .imptdt:contains(seniman) i, .fmed b:contains(seniman)+span, span:contains(seniman), " + + ".infotable tr:contains(Pengarang) td:last-child, .tsinfo .imptdt:contains(Pengarang) i, .fmed b:contains(Pengarang)+span, span:contains(Pengarang), " + + ".infotable tr:contains(Yazar) td:last-child, .tsinfo .imptdt:contains(Yazar) i, .fmed b:contains(Yazar)+span, span:contains(Yazar), " + + ".infotable tr:contains(ผู้วาด) td:last-child, .tsinfo .imptdt:contains(ผู้วาด) i, .fmed b:contains(ผู้วาด)+span, span:contains(ผู้วาด), ", + ) + .text; - manga.description = seriesDetails - .selectFirst(".desc, .entry-content[itemprop=description]") - ?.text; - final status = seriesDetails - .selectFirst(".infotable tr:contains(status) td:last-child, .tsinfo .imptdt:contains(status) i, .fmed b:contains(status)+span span:contains(status), " + - ".infotable tr:contains(Statut) td:last-child, .tsinfo .imptdt:contains(Statut) i, .fmed b:contains(Statut)+span span:contains(Statut), " + - ".infotable tr:contains(Durum) td:last-child, .tsinfo .imptdt:contains(Durum) i, .fmed b:contains(Durum)+span span:contains(Durum), " + - ".infotable tr:contains(連載状況) td:last-child, .tsinfo .imptdt:contains(連載状況) i, .fmed b:contains(連載状況)+span span:contains(連載状況), " + - ".infotable tr:contains(Estado) td:last-child, .tsinfo .imptdt:contains(Estado) i, .fmed b:contains(Estado)+span span:contains(Estado), " + - ".infotable tr:contains(الحالة) td:last-child, .tsinfo .imptdt:contains(الحالة) i, .fmed b:contains(الحالة)+span span:contains(الحالة), " + - ".infotable tr:contains(حالة العمل) td:last-child, .tsinfo .imptdt:contains(حالة العمل) i, .fmed b:contains(حالة العمل)+span span:contains(حالة العمل), " + - ".infotable tr:contains(สถานะ) td:last-child, .tsinfo .imptdt:contains(สถานะ) i, .fmed b:contains(สถานะ)+span span:contains(สถานะ), " + - ".infotable tr:contains(stato) td:last-child, .tsinfo .imptdt:contains(stato) i, .fmed b:contains(stato)+span span:contains(stato), " + - ".infotable tr:contains(Statüsü) td:last-child, .tsinfo .imptdt:contains(Statüsü) i, .fmed b:contains(Statüsü)+span span:contains(Statüsü), " + - ".infotable tr:contains(สถานะ) td:last-child, .tsinfo .imptdt:contains(สถานะ) i, .fmed b:contains(สถานะ)+span span:contains(สถานะ)") + manga.description = + seriesDetails + .selectFirst(".desc, .entry-content[itemprop=description]") + ?.text; + final status = + seriesDetails + .selectFirst( + ".infotable tr:contains(status) td:last-child, .tsinfo .imptdt:contains(status) i, .fmed b:contains(status)+span span:contains(status), " + + ".infotable tr:contains(Statut) td:last-child, .tsinfo .imptdt:contains(Statut) i, .fmed b:contains(Statut)+span span:contains(Statut), " + + ".infotable tr:contains(Durum) td:last-child, .tsinfo .imptdt:contains(Durum) i, .fmed b:contains(Durum)+span span:contains(Durum), " + + ".infotable tr:contains(連載状況) td:last-child, .tsinfo .imptdt:contains(連載状況) i, .fmed b:contains(連載状況)+span span:contains(連載状況), " + + ".infotable tr:contains(Estado) td:last-child, .tsinfo .imptdt:contains(Estado) i, .fmed b:contains(Estado)+span span:contains(Estado), " + + ".infotable tr:contains(الحالة) td:last-child, .tsinfo .imptdt:contains(الحالة) i, .fmed b:contains(الحالة)+span span:contains(الحالة), " + + ".infotable tr:contains(حالة العمل) td:last-child, .tsinfo .imptdt:contains(حالة العمل) i, .fmed b:contains(حالة العمل)+span span:contains(حالة العمل), " + + ".infotable tr:contains(สถานะ) td:last-child, .tsinfo .imptdt:contains(สถานะ) i, .fmed b:contains(สถานะ)+span span:contains(สถานะ), " + + ".infotable tr:contains(stato) td:last-child, .tsinfo .imptdt:contains(stato) i, .fmed b:contains(stato)+span span:contains(stato), " + + ".infotable tr:contains(Statüsü) td:last-child, .tsinfo .imptdt:contains(Statüsü) i, .fmed b:contains(Statüsü)+span span:contains(Statüsü), " + + ".infotable tr:contains(สถานะ) td:last-child, .tsinfo .imptdt:contains(สถานะ) i, .fmed b:contains(สถานะ)+span span:contains(สถานะ)", + ) ?.text ?? ""; manga.status = parseStatus(status, statusList); - manga.genre = seriesDetails - .select("div.gnr a, .mgen a, .seriestugenre a, " + - "span:contains(genre) , span:contains(التصنيف)") - .map((e) => e.text) - .toList(); + manga.genre = + seriesDetails + .select( + "div.gnr a, .mgen a, .seriestugenre a, " + + "span:contains(genre) , span:contains(التصنيف)", + ) + .map((e) => e.text) + .toList(); final elements = document.select( - "div.bxcl li, div.cl li, #chapterlist li, ul li:has(div.chbox):has(div.eph-num)"); + "div.bxcl li, div.cl li, #chapterlist li, ul li:has(div.chbox):has(div.eph-num)", + ); List? chaptersList = []; for (var element in elements) { final urlElements = element.selectFirst("a"); @@ -210,10 +230,15 @@ class MangaReader extends MProvider { var chapter = MChapter(); chapter.name = name; chapter.url = urlElements.attr("href"); - chapter.dateUpload = parseDates([ - element.selectFirst(".chapterdate")?.text ?? - DateTime.now().millisecondsSinceEpoch.toString() - ], source.dateFormat, source.dateFormatLocale)[0]; + chapter.dateUpload = + parseDates( + [ + element.selectFirst(".chapterdate")?.text ?? + DateTime.now().millisecondsSinceEpoch.toString(), + ], + source.dateFormat, + source.dateFormatLocale, + )[0]; chaptersList.add(chapter); } manga.chapters = chaptersList; @@ -258,8 +283,9 @@ class MangaReader extends MProvider { MPages mangaRes(String res) { List mangaList = []; final document = parseHtml(res); - final elements = - document.select(".utao .uta .imgu, .listupd .bs .bsx, .listo .bs .bsx"); + final elements = document.select( + ".utao .uta .imgu, .listupd .bs .bsx, .listo .bs .bsx", + ); for (var element in elements) { String img = element.getSrc; if (img.contains("data:image")) { @@ -280,49 +306,50 @@ class MangaReader extends MProvider { return ignoreFilter() ? [] : [ - SeparatorFilter(), - TextFilter("AuthorFilter", "Author"), - TextFilter("YearFilter", "Year"), - SelectFilter("StatusFilter", "Status", 0, [ - SelectFilterOption("All", ""), - SelectFilterOption("Ongoing", "ongoing"), - SelectFilterOption("Completed", "completed"), - SelectFilterOption("Hiatus", "hiatus"), - SelectFilterOption("Dropped", "dropped"), - ]), - SelectFilter("TypeFilter", "Type", 0, [ - SelectFilterOption("All", ""), - SelectFilterOption("Manga", "Manga"), - SelectFilterOption("Manhwa", "Manhwa"), - SelectFilterOption("Manhua", "Manhua"), - SelectFilterOption("Comic", "Comic"), - ]), - SelectFilter("OrderByFilter", "Sort By", 0, [ - SelectFilterOption("Default", ""), - SelectFilterOption("A-Z", "title"), - SelectFilterOption("Z-A", "titlereverse"), - SelectFilterOption("Latest Update", "update"), - SelectFilterOption("Latest Added", "latest"), - SelectFilterOption("Popular", "popular"), - ]), - HeaderFilter("Genre exclusion is not available for all sources"), - GroupFilter("GenreListFilter", "Genre", [ - TriStateFilter("Press reset to attempt to fetch genres", ""), - ]), - ]; + SeparatorFilter(), + TextFilter("AuthorFilter", "Author"), + TextFilter("YearFilter", "Year"), + SelectFilter("StatusFilter", "Status", 0, [ + SelectFilterOption("All", ""), + SelectFilterOption("Ongoing", "ongoing"), + SelectFilterOption("Completed", "completed"), + SelectFilterOption("Hiatus", "hiatus"), + SelectFilterOption("Dropped", "dropped"), + ]), + SelectFilter("TypeFilter", "Type", 0, [ + SelectFilterOption("All", ""), + SelectFilterOption("Manga", "Manga"), + SelectFilterOption("Manhwa", "Manhwa"), + SelectFilterOption("Manhua", "Manhua"), + SelectFilterOption("Comic", "Comic"), + ]), + SelectFilter("OrderByFilter", "Sort By", 0, [ + SelectFilterOption("Default", ""), + SelectFilterOption("A-Z", "title"), + SelectFilterOption("Z-A", "titlereverse"), + SelectFilterOption("Latest Update", "update"), + SelectFilterOption("Latest Added", "latest"), + SelectFilterOption("Popular", "popular"), + ]), + HeaderFilter("Genre exclusion is not available for all sources"), + GroupFilter("GenreListFilter", "Genre", [ + TriStateFilter("Press reset to attempt to fetch genres", ""), + ]), + ]; } @override List getSourcePreferences() { return [ EditTextPreference( - key: "override_baseurl", - title: "Override BaseUrl", - summary: "", - value: source.baseUrl, - dialogTitle: "Override BaseUrl", - dialogMessage: "Default: ${source.baseUrl}", - text: source.baseUrl), + key: "override_baseurl", + title: "Override BaseUrl", + summary: "", + value: source.baseUrl, + dialogTitle: "Override BaseUrl", + dialogMessage: "Default: ${source.baseUrl}", + text: source.baseUrl, + ), ]; } diff --git a/dart/manga/multisrc/mangareader/sources.dart b/dart/manga/multisrc/mangareader/sources.dart index 2447564a..9f80af72 100644 --- a/dart/manga/multisrc/mangareader/sources.dart +++ b/dart/manga/multisrc/mangareader/sources.dart @@ -98,198 +98,202 @@ const mangareaderSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/mangareader.dart"; List get mangareaderSourcesList => _mangareaderSourcesList; -List _mangareaderSourcesList = [ -//Beast Scans (AR) - beastscansSource, -//Lelmanga (FR) - lelmangaSource, -//KomikLab Scans (EN) - komiklabSource, -//Azure Scans (EN) - azurescansSource, -//Cosmic Scans (EN) - cosmicscansSource, -//CosmicScans.id (ID) - cosmicscansidSource, -//DuniaKomik.id (ID) - duniakomikidSource, -//Gecenin Lordu (TR) - geceninlorduSource, -//Infernal Void Scans (EN) - infernalvoidscansSource, -//KataKomik (ID) - katakomikSource, -//Komik Station (ID) - komikstationSource, -//KomikMama (ID) - komikmamaSource, -//Komiku.com (ID) - komikucomSource, -//Magus Manga (AR) - magusmangaSource, -//Manga Indo.me (ID) - mangaindomeSource, -//Mangacim (TR) - mangacimSource, -//MangaTale (ID) - mangataleSource, -//MangaWT (TR) - mangawtSource, -//MELOKOMIK (ID) - melokomikSource, -//Origami Orpheans (PT-BR) - origamiorpheansSource, -//PhenixScans (FR) - phenixscansSource, -//Pi Scans (ID) - piscansSource, -//Raiki Scan (ES) - raikiscanSource, -//Raven Scans (EN) - ravenscansSource, -//Shadow Mangas (ES) - shadowmangasSource, -//Surya Scans (EN) - suryascansSource, -//Sushi-Scans (FR) - sushiscansSource, -//Sushi-Scan (FR) - sushiscanSource, -//Tarot Scans (TR) - tarotscansSource, -//TukangKomik (ID) - tukangkomikSource, -//TurkToon (TR) - turktoonSource, -//Uzay Manga (TR) - uzaymangaSource, -//xCaliBR Scans (EN) - xcalibrscansSource, - //Miau Scan (ALL) - miauscanSource, -//Thunder Scans (ALL) - thunderscansSource, -//أريا مانجا (AR) - areamangaSource, -//Area Scans (AR) - areascansSource, -//SCARManga (AR) - aresnovSource, -//Umi Manga (AR) - beastscansSource, -//Crow Scans (AR) - crowscansSource, -//ARESManga (AR) - iimangaSource, -//Manga Flame (AR) - mangaflameSource, -//مانجا نون (AR) - manganoonSource, -//Manga Pro (AR) - mangaproSource, -//MangaSwat (AR) - mangaswatSource, -//MangaTak (AR) - mangatakSource, -//PotatoManga (AR) - potatomangaSource, -//StellarSaber (AR) - stellarsaberSource, -//Rizz Comic (EN) - rizzcomicSource, -//Berserker Scan (ES) - berserkerscanSource, -//Cartel de Manhwas (ES) - carteldemanhwasSource, -//De Todo Un Poco Scan (ES) - dtupscanSource, -//Gremory Mangas (ES) - gremorymangasSource, -//RyujinManga (ES) - ryujinmangaSource, -//Senpai Ediciones (ES) - senpaiedicionesSource, -//SkyMangas (ES) - skymangasSource, -//Legacy Scans (FR) - flamescansfrSource, -//Mangas Scans (FR) - mangasscansSource, -//Rimu Scans (FR) - rimuscansSource, -//VF Scan (FR) - vfscanSource, -//Comicaso (ID) - comicasoSource, -//Kiryuu (ID) - kiryuuSource, -//APKOMIK (ID) - komikavSource, -//KomikIndo.co (ID) - komikindocoSource, -//Mangakyo (ID) - mangakyoSource, -//MangaYu (ID) - mangayuSource, -//Siren Komik (ID) - mangkomikSource, -//Tenshi.id (ID) - masterkomikSource, -//Natsu (ID) - natsuSource, -//Shea Manga (ID) - sheamangaSource, -//Shirakami (ID) - shirakamiSource, -//Walpurgi Scan (IT) - walpurgisscanSource, -//Diskus Scan (PT-BR) - diskusscanSource, -//Iris Scanlator (PT-BR) - irisscanlatorSource, -//Mangás Chan (PT-BR) - mangaschanSource, -//Mangás Online (PT-BR) - mangasonlineSource, -//SSSScanlator (PT-BR) - sssscanlatorSource, -//Tsundoku Traduções (PT-BR) - tsundokutraducoesSource, -//Manga-Moon (TH) - mangamoonSource, -//Adu Manga (TR) - adumangaSource, -//Afrodit Scans (TR) - afroditscansSource, -//Athena Manga (TR) - athenamangaSource, -//Gaiatoon (TR) - gaiatoonSource, -//MajorScans (TR) - majorscansSource, -//Manga Efendisi (TR) - mangaefendisiSource, -//Manga Kings (TR) - mangakingsSource, -//Merlin Shoujo (TR) - merlinshoujoSource, -//Nirvana Manga (TR) - nirvanamangaSource, -//Pati Manga (TR) - patimangaSource, -//Raindrop Fansub (TR) - raindropfansubSource, -//Serein Scan (TR) - sereinscanSource, -//Shijie Scans (TR) - shijiescansSource, -//SummerToon (TR) - summertoonSource, -//Zenith Scans (TR) - zenithscansSource -] - .map((e) => e - ..itemType = ItemType.manga - ..sourceCodeUrl = mangareaderSourceCodeUrl - ..version = mangareaderVersion) - .toList(); +List _mangareaderSourcesList = + [ + //Beast Scans (AR) + beastscansSource, + //Lelmanga (FR) + lelmangaSource, + //KomikLab Scans (EN) + komiklabSource, + //Azure Scans (EN) + azurescansSource, + //Cosmic Scans (EN) + cosmicscansSource, + //CosmicScans.id (ID) + cosmicscansidSource, + //DuniaKomik.id (ID) + duniakomikidSource, + //Gecenin Lordu (TR) + geceninlorduSource, + //Infernal Void Scans (EN) + infernalvoidscansSource, + //KataKomik (ID) + katakomikSource, + //Komik Station (ID) + komikstationSource, + //KomikMama (ID) + komikmamaSource, + //Komiku.com (ID) + komikucomSource, + //Magus Manga (AR) + magusmangaSource, + //Manga Indo.me (ID) + mangaindomeSource, + //Mangacim (TR) + mangacimSource, + //MangaTale (ID) + mangataleSource, + //MangaWT (TR) + mangawtSource, + //MELOKOMIK (ID) + melokomikSource, + //Origami Orpheans (PT-BR) + origamiorpheansSource, + //PhenixScans (FR) + phenixscansSource, + //Pi Scans (ID) + piscansSource, + //Raiki Scan (ES) + raikiscanSource, + //Raven Scans (EN) + ravenscansSource, + //Shadow Mangas (ES) + shadowmangasSource, + //Surya Scans (EN) + suryascansSource, + //Sushi-Scans (FR) + sushiscansSource, + //Sushi-Scan (FR) + sushiscanSource, + //Tarot Scans (TR) + tarotscansSource, + //TukangKomik (ID) + tukangkomikSource, + //TurkToon (TR) + turktoonSource, + //Uzay Manga (TR) + uzaymangaSource, + //xCaliBR Scans (EN) + xcalibrscansSource, + //Miau Scan (ALL) + miauscanSource, + //Thunder Scans (ALL) + thunderscansSource, + //أريا مانجا (AR) + areamangaSource, + //Area Scans (AR) + areascansSource, + //SCARManga (AR) + aresnovSource, + //Umi Manga (AR) + beastscansSource, + //Crow Scans (AR) + crowscansSource, + //ARESManga (AR) + iimangaSource, + //Manga Flame (AR) + mangaflameSource, + //مانجا نون (AR) + manganoonSource, + //Manga Pro (AR) + mangaproSource, + //MangaSwat (AR) + mangaswatSource, + //MangaTak (AR) + mangatakSource, + //PotatoManga (AR) + potatomangaSource, + //StellarSaber (AR) + stellarsaberSource, + //Rizz Comic (EN) + rizzcomicSource, + //Berserker Scan (ES) + berserkerscanSource, + //Cartel de Manhwas (ES) + carteldemanhwasSource, + //De Todo Un Poco Scan (ES) + dtupscanSource, + //Gremory Mangas (ES) + gremorymangasSource, + //RyujinManga (ES) + ryujinmangaSource, + //Senpai Ediciones (ES) + senpaiedicionesSource, + //SkyMangas (ES) + skymangasSource, + //Legacy Scans (FR) + flamescansfrSource, + //Mangas Scans (FR) + mangasscansSource, + //Rimu Scans (FR) + rimuscansSource, + //VF Scan (FR) + vfscanSource, + //Comicaso (ID) + comicasoSource, + //Kiryuu (ID) + kiryuuSource, + //APKOMIK (ID) + komikavSource, + //KomikIndo.co (ID) + komikindocoSource, + //Mangakyo (ID) + mangakyoSource, + //MangaYu (ID) + mangayuSource, + //Siren Komik (ID) + mangkomikSource, + //Tenshi.id (ID) + masterkomikSource, + //Natsu (ID) + natsuSource, + //Shea Manga (ID) + sheamangaSource, + //Shirakami (ID) + shirakamiSource, + //Walpurgi Scan (IT) + walpurgisscanSource, + //Diskus Scan (PT-BR) + diskusscanSource, + //Iris Scanlator (PT-BR) + irisscanlatorSource, + //Mangás Chan (PT-BR) + mangaschanSource, + //Mangás Online (PT-BR) + mangasonlineSource, + //SSSScanlator (PT-BR) + sssscanlatorSource, + //Tsundoku Traduções (PT-BR) + tsundokutraducoesSource, + //Manga-Moon (TH) + mangamoonSource, + //Adu Manga (TR) + adumangaSource, + //Afrodit Scans (TR) + afroditscansSource, + //Athena Manga (TR) + athenamangaSource, + //Gaiatoon (TR) + gaiatoonSource, + //MajorScans (TR) + majorscansSource, + //Manga Efendisi (TR) + mangaefendisiSource, + //Manga Kings (TR) + mangakingsSource, + //Merlin Shoujo (TR) + merlinshoujoSource, + //Nirvana Manga (TR) + nirvanamangaSource, + //Pati Manga (TR) + patimangaSource, + //Raindrop Fansub (TR) + raindropfansubSource, + //Serein Scan (TR) + sereinscanSource, + //Shijie Scans (TR) + shijiescansSource, + //SummerToon (TR) + summertoonSource, + //Zenith Scans (TR) + zenithscansSource, + ] + .map( + (e) => + e + ..itemType = ItemType.manga + ..sourceCodeUrl = mangareaderSourceCodeUrl + ..version = mangareaderVersion, + ) + .toList(); diff --git a/dart/manga/multisrc/mangareader/src/adumanga/adumanga.dart b/dart/manga/multisrc/mangareader/src/adumanga/adumanga.dart index e8bba10b..089091e7 100644 --- a/dart/manga/multisrc/mangareader/src/adumanga/adumanga.dart +++ b/dart/manga/multisrc/mangareader/src/adumanga/adumanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get adumangaSource => _adumangaSource; Source _adumangaSource = Source( - name: "Adu Manga", - baseUrl: "https://www.mangacim.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/adumanga/icon.png", - dateFormat:"MMMM d, yyy", - dateFormatLocale:"tr" - ); + name: "Adu Manga", + baseUrl: "https://www.mangacim.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/adumanga/icon.png", + dateFormat: "MMMM d, yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/afroditscans/afroditscans.dart b/dart/manga/multisrc/mangareader/src/afroditscans/afroditscans.dart index ee0130b3..cdff487b 100644 --- a/dart/manga/multisrc/mangareader/src/afroditscans/afroditscans.dart +++ b/dart/manga/multisrc/mangareader/src/afroditscans/afroditscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get afroditscansSource => _afroditscansSource; Source _afroditscansSource = Source( - name: "Afrodit Scans", - baseUrl: "https://afroditscans.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/afroditscans/icon.png", - dateFormat:"MMMM d, yyy", - dateFormatLocale:"tr" - ); + name: "Afrodit Scans", + baseUrl: "https://afroditscans.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/afroditscans/icon.png", + dateFormat: "MMMM d, yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/areamanga/areamanga.dart b/dart/manga/multisrc/mangareader/src/areamanga/areamanga.dart index 8b6b0289..8a27146a 100644 --- a/dart/manga/multisrc/mangareader/src/areamanga/areamanga.dart +++ b/dart/manga/multisrc/mangareader/src/areamanga/areamanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get areamangaSource => _areamangaSource; Source _areamangaSource = Source( - name: "أريا مانجا", - baseUrl: "https://www.areascans.net", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/areamanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "أريا مانجا", + baseUrl: "https://www.areascans.net", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/areamanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/areascans/areascans.dart b/dart/manga/multisrc/mangareader/src/areascans/areascans.dart index 57c41d7b..03eae627 100644 --- a/dart/manga/multisrc/mangareader/src/areascans/areascans.dart +++ b/dart/manga/multisrc/mangareader/src/areascans/areascans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get areascansSource => _areascansSource; Source _areascansSource = Source( - name: "Area Scans", - baseUrl: "https://ar.areascans.org", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/areascans/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "Area Scans", + baseUrl: "https://ar.areascans.org", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/areascans/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/aresnov/aresnov.dart b/dart/manga/multisrc/mangareader/src/aresnov/aresnov.dart index a975cb68..6faa392b 100644 --- a/dart/manga/multisrc/mangareader/src/aresnov/aresnov.dart +++ b/dart/manga/multisrc/mangareader/src/aresnov/aresnov.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get aresnovSource => _aresnovSource; Source _aresnovSource = Source( - name: "SCARManga", - baseUrl: "https://scarmanga.com", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/aresnov/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "SCARManga", + baseUrl: "https://scarmanga.com", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/aresnov/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/athenamanga/athenamanga.dart b/dart/manga/multisrc/mangareader/src/athenamanga/athenamanga.dart index 0951f20c..fc80f99f 100644 --- a/dart/manga/multisrc/mangareader/src/athenamanga/athenamanga.dart +++ b/dart/manga/multisrc/mangareader/src/athenamanga/athenamanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get athenamangaSource => _athenamangaSource; Source _athenamangaSource = Source( - name: "Athena Manga", - baseUrl: "https://athenamanga.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/athenamanga/icon.png", - dateFormat:"MMMM d, yyy", - dateFormatLocale:"tr" - ); + name: "Athena Manga", + baseUrl: "https://athenamanga.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/athenamanga/icon.png", + dateFormat: "MMMM d, yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/berserkerscan/berserkerscan.dart b/dart/manga/multisrc/mangareader/src/berserkerscan/berserkerscan.dart index b6df5bf8..caf15596 100644 --- a/dart/manga/multisrc/mangareader/src/berserkerscan/berserkerscan.dart +++ b/dart/manga/multisrc/mangareader/src/berserkerscan/berserkerscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get berserkerscanSource => _berserkerscanSource; Source _berserkerscanSource = Source( - name: "Berserker Scan", - baseUrl: "https://ragnascan.com", - lang: "es", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/berserkerscan/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"es" - ); + name: "Berserker Scan", + baseUrl: "https://ragnascan.com", + lang: "es", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/berserkerscan/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/mangareader/src/carteldemanhwas/carteldemanhwas.dart b/dart/manga/multisrc/mangareader/src/carteldemanhwas/carteldemanhwas.dart index c58d9fde..40210b8c 100644 --- a/dart/manga/multisrc/mangareader/src/carteldemanhwas/carteldemanhwas.dart +++ b/dart/manga/multisrc/mangareader/src/carteldemanhwas/carteldemanhwas.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get carteldemanhwasSource => _carteldemanhwasSource; Source _carteldemanhwasSource = Source( - name: "Cartel de Manhwas", - baseUrl: "https://carteldemanhwas.com", - lang: "es", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/carteldemanhwas/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "Cartel de Manhwas", + baseUrl: "https://carteldemanhwas.com", + lang: "es", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/carteldemanhwas/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/mangareader/src/comicaso/comicaso.dart b/dart/manga/multisrc/mangareader/src/comicaso/comicaso.dart index 2cbc938b..e04e47b9 100644 --- a/dart/manga/multisrc/mangareader/src/comicaso/comicaso.dart +++ b/dart/manga/multisrc/mangareader/src/comicaso/comicaso.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get comicasoSource => _comicasoSource; Source _comicasoSource = Source( - name: "Comicaso", - baseUrl: "https://comicaso.com", - lang: "id", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/comicaso/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"id" - ); + name: "Comicaso", + baseUrl: "https://comicaso.com", + lang: "id", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/comicaso/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/mangareader/src/crowscans/crowscans.dart b/dart/manga/multisrc/mangareader/src/crowscans/crowscans.dart index 93cfc391..54467db5 100644 --- a/dart/manga/multisrc/mangareader/src/crowscans/crowscans.dart +++ b/dart/manga/multisrc/mangareader/src/crowscans/crowscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get crowscansSource => _crowscansSource; Source _crowscansSource = Source( - name: "Crow Scans", - baseUrl: "https://crowscans.com", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/crowscans/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "Crow Scans", + baseUrl: "https://crowscans.com", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/crowscans/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/diskusscan/diskusscan.dart b/dart/manga/multisrc/mangareader/src/diskusscan/diskusscan.dart index 45a7885d..66cccdd0 100644 --- a/dart/manga/multisrc/mangareader/src/diskusscan/diskusscan.dart +++ b/dart/manga/multisrc/mangareader/src/diskusscan/diskusscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get diskusscanSource => _diskusscanSource; Source _diskusscanSource = Source( - name: "Diskus Scan", - baseUrl: "https://diskusscan.com", - lang: "pt-br", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/diskusscan/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"pt-br" - ); + name: "Diskus Scan", + baseUrl: "https://diskusscan.com", + lang: "pt-br", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/diskusscan/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/mangareader/src/dtupscan/dtupscan.dart b/dart/manga/multisrc/mangareader/src/dtupscan/dtupscan.dart index fbe3c8d7..6b94a8f1 100644 --- a/dart/manga/multisrc/mangareader/src/dtupscan/dtupscan.dart +++ b/dart/manga/multisrc/mangareader/src/dtupscan/dtupscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get dtupscanSource => _dtupscanSource; Source _dtupscanSource = Source( - name: "De Todo Un Poco Scan", - baseUrl: "https://dtupscan.com", - lang: "es", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/dtupscan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "De Todo Un Poco Scan", + baseUrl: "https://dtupscan.com", + lang: "es", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/dtupscan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/mangareader/src/flamescansfr/flamescansfr.dart b/dart/manga/multisrc/mangareader/src/flamescansfr/flamescansfr.dart index 56bf2500..15c9c571 100644 --- a/dart/manga/multisrc/mangareader/src/flamescansfr/flamescansfr.dart +++ b/dart/manga/multisrc/mangareader/src/flamescansfr/flamescansfr.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get flamescansfrSource => _flamescansfrSource; Source _flamescansfrSource = Source( - name: "Legacy Scans", - baseUrl: "https://legacy-scans.com", - lang: "fr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/flamescansfr/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"fr" - ); + name: "Legacy Scans", + baseUrl: "https://legacy-scans.com", + lang: "fr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/flamescansfr/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/mangareader/src/gaiatoon/gaiatoon.dart b/dart/manga/multisrc/mangareader/src/gaiatoon/gaiatoon.dart index 1c77132c..f56f167f 100644 --- a/dart/manga/multisrc/mangareader/src/gaiatoon/gaiatoon.dart +++ b/dart/manga/multisrc/mangareader/src/gaiatoon/gaiatoon.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get gaiatoonSource => _gaiatoonSource; Source _gaiatoonSource = Source( - name: "Gaiatoon", - baseUrl: "https://gaiatoon.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/gaiatoon/icon.png", - dateFormat:"MMMM d, yyy", - dateFormatLocale:"tr" - ); + name: "Gaiatoon", + baseUrl: "https://gaiatoon.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/gaiatoon/icon.png", + dateFormat: "MMMM d, yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/gremorymangas/gremorymangas.dart b/dart/manga/multisrc/mangareader/src/gremorymangas/gremorymangas.dart index b370f82f..ae1207ba 100644 --- a/dart/manga/multisrc/mangareader/src/gremorymangas/gremorymangas.dart +++ b/dart/manga/multisrc/mangareader/src/gremorymangas/gremorymangas.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get gremorymangasSource => _gremorymangasSource; Source _gremorymangasSource = Source( - name: "Gremory Mangas", - baseUrl: "https://gremorymangas.com", - lang: "es", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/gremorymangas/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "Gremory Mangas", + baseUrl: "https://gremorymangas.com", + lang: "es", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/gremorymangas/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/mangareader/src/iimanga/iimanga.dart b/dart/manga/multisrc/mangareader/src/iimanga/iimanga.dart index 16384c5e..b0a0f9ba 100644 --- a/dart/manga/multisrc/mangareader/src/iimanga/iimanga.dart +++ b/dart/manga/multisrc/mangareader/src/iimanga/iimanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get iimangaSource => _iimangaSource; Source _iimangaSource = Source( - name: "ARESManga", - baseUrl: "https://fl-ares.com", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/iimanga/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "ARESManga", + baseUrl: "https://fl-ares.com", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/iimanga/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/irisscanlator/irisscanlator.dart b/dart/manga/multisrc/mangareader/src/irisscanlator/irisscanlator.dart index f6775bf0..006af944 100644 --- a/dart/manga/multisrc/mangareader/src/irisscanlator/irisscanlator.dart +++ b/dart/manga/multisrc/mangareader/src/irisscanlator/irisscanlator.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get irisscanlatorSource => _irisscanlatorSource; Source _irisscanlatorSource = Source( - name: "Iris Scanlator", - baseUrl: "https://irisscanlator.com.br", - lang: "pt-br", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/irisscanlator/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"pt-br" - ); + name: "Iris Scanlator", + baseUrl: "https://irisscanlator.com.br", + lang: "pt-br", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/irisscanlator/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/mangareader/src/kiryuu/kiryuu.dart b/dart/manga/multisrc/mangareader/src/kiryuu/kiryuu.dart index 441a5b1f..3a485106 100644 --- a/dart/manga/multisrc/mangareader/src/kiryuu/kiryuu.dart +++ b/dart/manga/multisrc/mangareader/src/kiryuu/kiryuu.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get kiryuuSource => _kiryuuSource; Source _kiryuuSource = Source( - name: "Kiryuu", - baseUrl: "https://kiryuu.id", - lang: "id", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/kiryuu/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"id" - ); + name: "Kiryuu", + baseUrl: "https://kiryuu.id", + lang: "id", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/kiryuu/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/mangareader/src/komikav/komikav.dart b/dart/manga/multisrc/mangareader/src/komikav/komikav.dart index 55a1335f..3c3ecd23 100644 --- a/dart/manga/multisrc/mangareader/src/komikav/komikav.dart +++ b/dart/manga/multisrc/mangareader/src/komikav/komikav.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get komikavSource => _komikavSource; Source _komikavSource = Source( - name: "APKOMIK", - baseUrl: "https://apkomik.cc", - lang: "id", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/komikav/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"id" - ); + name: "APKOMIK", + baseUrl: "https://apkomik.cc", + lang: "id", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/komikav/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/mangareader/src/komikindoco/komikindoco.dart b/dart/manga/multisrc/mangareader/src/komikindoco/komikindoco.dart index a7aee6d8..132b65d0 100644 --- a/dart/manga/multisrc/mangareader/src/komikindoco/komikindoco.dart +++ b/dart/manga/multisrc/mangareader/src/komikindoco/komikindoco.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get komikindocoSource => _komikindocoSource; Source _komikindocoSource = Source( - name: "KomikIndo.co", - baseUrl: "https://komikindo.co", - lang: "id", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/komikindoco/icon.png", - dateFormat:"MMM dd, yyyy", - dateFormatLocale:"id" - ); + name: "KomikIndo.co", + baseUrl: "https://komikindo.co", + lang: "id", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/komikindoco/icon.png", + dateFormat: "MMM dd, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/mangareader/src/komiklab/komiklab.dart b/dart/manga/multisrc/mangareader/src/komiklab/komiklab.dart index ce62e75e..c2f74e06 100644 --- a/dart/manga/multisrc/mangareader/src/komiklab/komiklab.dart +++ b/dart/manga/multisrc/mangareader/src/komiklab/komiklab.dart @@ -3,12 +3,13 @@ import '../../../../../../model/source.dart'; Source get komiklabSource => _komiklabSource; Source _komiklabSource = Source( - id: 932554594, - name: "KomikLab Scans", - baseUrl: "https://komiklab.com", - lang: "en", - typeSource: "mangareader", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/komiklab/icon.png", - dateFormat: "MMMM dd, yyyy", - dateFormatLocale: "en_us"); + id: 932554594, + name: "KomikLab Scans", + baseUrl: "https://komiklab.com", + lang: "en", + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/komiklab/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/mangareader/src/majorscans/majorscans.dart b/dart/manga/multisrc/mangareader/src/majorscans/majorscans.dart index ef761d87..e84cf5e7 100644 --- a/dart/manga/multisrc/mangareader/src/majorscans/majorscans.dart +++ b/dart/manga/multisrc/mangareader/src/majorscans/majorscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get majorscansSource => _majorscansSource; Source _majorscansSource = Source( - name: "MajorScans", - baseUrl: "https://www.majorscans.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/majorscans/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"tr" - ); + name: "MajorScans", + baseUrl: "https://www.majorscans.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/majorscans/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/mangaefendisi/mangaefendisi.dart b/dart/manga/multisrc/mangareader/src/mangaefendisi/mangaefendisi.dart index 8b93bd9d..df1b5881 100644 --- a/dart/manga/multisrc/mangareader/src/mangaefendisi/mangaefendisi.dart +++ b/dart/manga/multisrc/mangareader/src/mangaefendisi/mangaefendisi.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangaefendisiSource => _mangaefendisiSource; Source _mangaefendisiSource = Source( - name: "Manga Efendisi", - baseUrl: "https://mangaefendisi.net", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangaefendisi/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"tr" - ); + name: "Manga Efendisi", + baseUrl: "https://mangaefendisi.net", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangaefendisi/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/mangaflame/mangaflame.dart b/dart/manga/multisrc/mangareader/src/mangaflame/mangaflame.dart index f4596a26..3531fe08 100644 --- a/dart/manga/multisrc/mangareader/src/mangaflame/mangaflame.dart +++ b/dart/manga/multisrc/mangareader/src/mangaflame/mangaflame.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangaflameSource => _mangaflameSource; Source _mangaflameSource = Source( - name: "Manga Flame", - baseUrl: "https://mangaflame.org", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangaflame/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "Manga Flame", + baseUrl: "https://mangaflame.org", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangaflame/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/mangakings/mangakings.dart b/dart/manga/multisrc/mangareader/src/mangakings/mangakings.dart index 274d7604..1f5eb143 100644 --- a/dart/manga/multisrc/mangareader/src/mangakings/mangakings.dart +++ b/dart/manga/multisrc/mangareader/src/mangakings/mangakings.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangakingsSource => _mangakingsSource; Source _mangakingsSource = Source( - name: "Manga Kings", - baseUrl: "https://mangakings.com.tr", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangakings/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"tr" - ); + name: "Manga Kings", + baseUrl: "https://mangakings.com.tr", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangakings/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/mangakyo/mangakyo.dart b/dart/manga/multisrc/mangareader/src/mangakyo/mangakyo.dart index d187cc3b..310068ab 100644 --- a/dart/manga/multisrc/mangareader/src/mangakyo/mangakyo.dart +++ b/dart/manga/multisrc/mangareader/src/mangakyo/mangakyo.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangakyoSource => _mangakyoSource; Source _mangakyoSource = Source( - name: "Mangakyo", - baseUrl: "https://mangakyo.vip", - lang: "id", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangakyo/icon.png", - dateFormat:"MMM d, yyyy", - dateFormatLocale:"id" - ); + name: "Mangakyo", + baseUrl: "https://mangakyo.vip", + lang: "id", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangakyo/icon.png", + dateFormat: "MMM d, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/mangareader/src/mangamoon/mangamoon.dart b/dart/manga/multisrc/mangareader/src/mangamoon/mangamoon.dart index 5fa1529d..dc38d524 100644 --- a/dart/manga/multisrc/mangareader/src/mangamoon/mangamoon.dart +++ b/dart/manga/multisrc/mangareader/src/mangamoon/mangamoon.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangamoonSource => _mangamoonSource; Source _mangamoonSource = Source( - name: "Manga-Moon", - baseUrl: "https://manga-moons.net", - lang: "th", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangamoon/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"th" - ); + name: "Manga-Moon", + baseUrl: "https://manga-moons.net", + lang: "th", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangamoon/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "th", +); diff --git a/dart/manga/multisrc/mangareader/src/manganoon/manganoon.dart b/dart/manga/multisrc/mangareader/src/manganoon/manganoon.dart index 60bfe491..daf70711 100644 --- a/dart/manga/multisrc/mangareader/src/manganoon/manganoon.dart +++ b/dart/manga/multisrc/mangareader/src/manganoon/manganoon.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get manganoonSource => _manganoonSource; Source _manganoonSource = Source( - name: "مانجا نون", - baseUrl: "https://manjanoon.org", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/manganoon/icon.png", - dateFormat:"MMM d, yyy", - dateFormatLocale:"ar" - ); + name: "مانجا نون", + baseUrl: "https://manjanoon.org", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/manganoon/icon.png", + dateFormat: "MMM d, yyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/mangapro/mangapro.dart b/dart/manga/multisrc/mangareader/src/mangapro/mangapro.dart index 1e061e9b..54f06f0c 100644 --- a/dart/manga/multisrc/mangareader/src/mangapro/mangapro.dart +++ b/dart/manga/multisrc/mangareader/src/mangapro/mangapro.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangaproSource => _mangaproSource; Source _mangaproSource = Source( - name: "Manga Pro", - baseUrl: "https://mangapro.club", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangapro/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "Manga Pro", + baseUrl: "https://mangapro.club", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangapro/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/mangaschan/mangaschan.dart b/dart/manga/multisrc/mangareader/src/mangaschan/mangaschan.dart index f247fd64..f8483f34 100644 --- a/dart/manga/multisrc/mangareader/src/mangaschan/mangaschan.dart +++ b/dart/manga/multisrc/mangareader/src/mangaschan/mangaschan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangaschanSource => _mangaschanSource; Source _mangaschanSource = Source( - name: "Mangás Chan", - baseUrl: "https://mangaschan.net", - lang: "pt-br", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangaschan/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"pt-br" - ); + name: "Mangás Chan", + baseUrl: "https://mangaschan.net", + lang: "pt-br", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangaschan/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/mangareader/src/mangasonline/mangasonline.dart b/dart/manga/multisrc/mangareader/src/mangasonline/mangasonline.dart index 7953bc52..7305e4e9 100644 --- a/dart/manga/multisrc/mangareader/src/mangasonline/mangasonline.dart +++ b/dart/manga/multisrc/mangareader/src/mangasonline/mangasonline.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangasonlineSource => _mangasonlineSource; Source _mangasonlineSource = Source( - name: "Mangás Online", - baseUrl: "https://mangasonline.cc", - lang: "pt-br", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangasonline/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"pt-br" - ); + name: "Mangás Online", + baseUrl: "https://mangasonline.cc", + lang: "pt-br", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangasonline/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/mangareader/src/mangasscans/mangasscans.dart b/dart/manga/multisrc/mangareader/src/mangasscans/mangasscans.dart index 05876b00..9b684df3 100644 --- a/dart/manga/multisrc/mangareader/src/mangasscans/mangasscans.dart +++ b/dart/manga/multisrc/mangareader/src/mangasscans/mangasscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangasscansSource => _mangasscansSource; Source _mangasscansSource = Source( - name: "Mangas Scans", - baseUrl: "https://mangas-scans.com", - lang: "fr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangasscans/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"fr" - ); + name: "Mangas Scans", + baseUrl: "https://mangas-scans.com", + lang: "fr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangasscans/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/mangareader/src/mangaswat/mangaswat.dart b/dart/manga/multisrc/mangareader/src/mangaswat/mangaswat.dart index b47bcc11..0e04eb3f 100644 --- a/dart/manga/multisrc/mangareader/src/mangaswat/mangaswat.dart +++ b/dart/manga/multisrc/mangareader/src/mangaswat/mangaswat.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangaswatSource => _mangaswatSource; Source _mangaswatSource = Source( - name: "MangaSwat", - baseUrl: "https://normoyun.com", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangaswat/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "MangaSwat", + baseUrl: "https://normoyun.com", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangaswat/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/mangatak/mangatak.dart b/dart/manga/multisrc/mangareader/src/mangatak/mangatak.dart index 3583a8e9..f08c6e85 100644 --- a/dart/manga/multisrc/mangareader/src/mangatak/mangatak.dart +++ b/dart/manga/multisrc/mangareader/src/mangatak/mangatak.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangatakSource => _mangatakSource; Source _mangatakSource = Source( - name: "MangaTak", - baseUrl: "https://mangatak.com", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangatak/icon.png", - dateFormat:"MMMM DD, yyyy", - dateFormatLocale:"ar" - ); + name: "MangaTak", + baseUrl: "https://mangatak.com", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangatak/icon.png", + dateFormat: "MMMM DD, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/mangayu/mangayu.dart b/dart/manga/multisrc/mangareader/src/mangayu/mangayu.dart index 9e8f1ffe..2e09d990 100644 --- a/dart/manga/multisrc/mangareader/src/mangayu/mangayu.dart +++ b/dart/manga/multisrc/mangareader/src/mangayu/mangayu.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangayuSource => _mangayuSource; Source _mangayuSource = Source( - name: "MangaYu", - baseUrl: "https://mangayu.id", - lang: "id", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangayu/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"id" - ); + name: "MangaYu", + baseUrl: "https://mangayu.id", + lang: "id", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangayu/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/mangareader/src/mangkomik/mangkomik.dart b/dart/manga/multisrc/mangareader/src/mangkomik/mangkomik.dart index 8c47fb24..179fec2d 100644 --- a/dart/manga/multisrc/mangareader/src/mangkomik/mangkomik.dart +++ b/dart/manga/multisrc/mangareader/src/mangkomik/mangkomik.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get mangkomikSource => _mangkomikSource; Source _mangkomikSource = Source( - name: "Siren Komik", - baseUrl: "https://sirenkomik.my.id", - lang: "id", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangkomik/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"id" - ); + name: "Siren Komik", + baseUrl: "https://sirenkomik.my.id", + lang: "id", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/mangkomik/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/mangareader/src/masterkomik/masterkomik.dart b/dart/manga/multisrc/mangareader/src/masterkomik/masterkomik.dart index 9bc13567..48ae9f2d 100644 --- a/dart/manga/multisrc/mangareader/src/masterkomik/masterkomik.dart +++ b/dart/manga/multisrc/mangareader/src/masterkomik/masterkomik.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get masterkomikSource => _masterkomikSource; Source _masterkomikSource = Source( - name: "Tenshi.id", - baseUrl: "https://tenshi.id", - lang: "id", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/masterkomik/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"id-id" - ); + name: "Tenshi.id", + baseUrl: "https://tenshi.id", + lang: "id", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/masterkomik/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "id-id", +); diff --git a/dart/manga/multisrc/mangareader/src/merlinshoujo/merlinshoujo.dart b/dart/manga/multisrc/mangareader/src/merlinshoujo/merlinshoujo.dart index ecf348c0..9cf80010 100644 --- a/dart/manga/multisrc/mangareader/src/merlinshoujo/merlinshoujo.dart +++ b/dart/manga/multisrc/mangareader/src/merlinshoujo/merlinshoujo.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get merlinshoujoSource => _merlinshoujoSource; Source _merlinshoujoSource = Source( - name: "Merlin Shoujo", - baseUrl: "https://merlinshoujo.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/merlinshoujo/icon.png", - dateFormat:"MMMM d, yyy", - dateFormatLocale:"tr" - ); + name: "Merlin Shoujo", + baseUrl: "https://merlinshoujo.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/merlinshoujo/icon.png", + dateFormat: "MMMM d, yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/miauscan/miauscan.dart b/dart/manga/multisrc/mangareader/src/miauscan/miauscan.dart index f19b940b..cf79d4d1 100644 --- a/dart/manga/multisrc/mangareader/src/miauscan/miauscan.dart +++ b/dart/manga/multisrc/mangareader/src/miauscan/miauscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get miauscanSource => _miauscanSource; Source _miauscanSource = Source( - name: "Miau Scan", - baseUrl: "https://lectormiau.com", - lang: "all", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/miauscan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "Miau Scan", + baseUrl: "https://lectormiau.com", + lang: "all", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/miauscan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/mangareader/src/natsu/natsu.dart b/dart/manga/multisrc/mangareader/src/natsu/natsu.dart index c9007ee7..53bdb7f1 100644 --- a/dart/manga/multisrc/mangareader/src/natsu/natsu.dart +++ b/dart/manga/multisrc/mangareader/src/natsu/natsu.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get natsuSource => _natsuSource; Source _natsuSource = Source( - name: "Natsu", - baseUrl: "https://natsu.id", - lang: "id", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/natsu/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"id" - ); + name: "Natsu", + baseUrl: "https://natsu.id", + lang: "id", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/natsu/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/mangareader/src/nirvanamanga/nirvanamanga.dart b/dart/manga/multisrc/mangareader/src/nirvanamanga/nirvanamanga.dart index 3d0d2d9c..ca94426b 100644 --- a/dart/manga/multisrc/mangareader/src/nirvanamanga/nirvanamanga.dart +++ b/dart/manga/multisrc/mangareader/src/nirvanamanga/nirvanamanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get nirvanamangaSource => _nirvanamangaSource; Source _nirvanamangaSource = Source( - name: "Nirvana Manga", - baseUrl: "https://nirvanamanga.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/nirvanamanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"tr" - ); + name: "Nirvana Manga", + baseUrl: "https://nirvanamanga.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/nirvanamanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/patimanga/patimanga.dart b/dart/manga/multisrc/mangareader/src/patimanga/patimanga.dart index f22b1014..e3aac9b9 100644 --- a/dart/manga/multisrc/mangareader/src/patimanga/patimanga.dart +++ b/dart/manga/multisrc/mangareader/src/patimanga/patimanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get patimangaSource => _patimangaSource; Source _patimangaSource = Source( - name: "Pati Manga", - baseUrl: "https://www.patimanga.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/patimanga/icon.png", - dateFormat:"MMMM d, yyy", - dateFormatLocale:"tr" - ); + name: "Pati Manga", + baseUrl: "https://www.patimanga.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/patimanga/icon.png", + dateFormat: "MMMM d, yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/potatomanga/potatomanga.dart b/dart/manga/multisrc/mangareader/src/potatomanga/potatomanga.dart index b926d006..9b7cc426 100644 --- a/dart/manga/multisrc/mangareader/src/potatomanga/potatomanga.dart +++ b/dart/manga/multisrc/mangareader/src/potatomanga/potatomanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get potatomangaSource => _potatomangaSource; Source _potatomangaSource = Source( - name: "PotatoManga", - baseUrl: "https://ar.potatomanga.xyz", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/potatomanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "PotatoManga", + baseUrl: "https://ar.potatomanga.xyz", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/potatomanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/raikiscan/raikiscan.dart b/dart/manga/multisrc/mangareader/src/raikiscan/raikiscan.dart index 5ff70f8a..58a541f6 100644 --- a/dart/manga/multisrc/mangareader/src/raikiscan/raikiscan.dart +++ b/dart/manga/multisrc/mangareader/src/raikiscan/raikiscan.dart @@ -1,13 +1,14 @@ import '../../../../../../model/source.dart'; - Source get raikiscanSource => _raikiscanSource; - - Source _raikiscanSource = Source( - name: "Raiki Scan", - baseUrl: "https://raikiscan.com", - lang: "es", - typeSource: "mangareader", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/raikiscan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get raikiscanSource => _raikiscanSource; + +Source _raikiscanSource = Source( + name: "Raiki Scan", + baseUrl: "https://raikiscan.com", + lang: "es", + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/raikiscan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/mangareader/src/raindropfansub/raindropfansub.dart b/dart/manga/multisrc/mangareader/src/raindropfansub/raindropfansub.dart index 29ffd319..4e56c255 100644 --- a/dart/manga/multisrc/mangareader/src/raindropfansub/raindropfansub.dart +++ b/dart/manga/multisrc/mangareader/src/raindropfansub/raindropfansub.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get raindropfansubSource => _raindropfansubSource; Source _raindropfansubSource = Source( - name: "Raindrop Fansub", - baseUrl: "https://www.raindropteamfan.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/raindropfansub/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"tr" - ); + name: "Raindrop Fansub", + baseUrl: "https://www.raindropteamfan.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/raindropfansub/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/rimuscans/rimuscans.dart b/dart/manga/multisrc/mangareader/src/rimuscans/rimuscans.dart index 1963a587..b7d3e3da 100644 --- a/dart/manga/multisrc/mangareader/src/rimuscans/rimuscans.dart +++ b/dart/manga/multisrc/mangareader/src/rimuscans/rimuscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get rimuscansSource => _rimuscansSource; Source _rimuscansSource = Source( - name: "Rimu Scans", - baseUrl: "https://rimuscans.fr", - lang: "fr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/rimuscans/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"fr" - ); + name: "Rimu Scans", + baseUrl: "https://rimuscans.fr", + lang: "fr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/rimuscans/icon.png", + dateFormat: "MMMM d, yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/mangareader/src/rizzcomic/rizzcomic.dart b/dart/manga/multisrc/mangareader/src/rizzcomic/rizzcomic.dart index 2eec5a81..b228de9a 100644 --- a/dart/manga/multisrc/mangareader/src/rizzcomic/rizzcomic.dart +++ b/dart/manga/multisrc/mangareader/src/rizzcomic/rizzcomic.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get rizzcomicSource => _rizzcomicSource; Source _rizzcomicSource = Source( - name: "Rizz Comic", - baseUrl: "https://rizzfables.com", - lang: "en", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/rizzcomic/icon.png", - dateFormat:"dd MMM yyyy", - dateFormatLocale:"en" - ); + name: "Rizz Comic", + baseUrl: "https://rizzfables.com", + lang: "en", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/rizzcomic/icon.png", + dateFormat: "dd MMM yyyy", + dateFormatLocale: "en", +); diff --git a/dart/manga/multisrc/mangareader/src/ryujinmanga/ryujinmanga.dart b/dart/manga/multisrc/mangareader/src/ryujinmanga/ryujinmanga.dart index cd02c2e2..d44a0f47 100644 --- a/dart/manga/multisrc/mangareader/src/ryujinmanga/ryujinmanga.dart +++ b/dart/manga/multisrc/mangareader/src/ryujinmanga/ryujinmanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get ryujinmangaSource => _ryujinmangaSource; Source _ryujinmangaSource = Source( - name: "RyujinManga", - baseUrl: "https://ryujinmanga.com", - lang: "es", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/ryujinmanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "RyujinManga", + baseUrl: "https://ryujinmanga.com", + lang: "es", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/ryujinmanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/mangareader/src/senpaiediciones/senpaiediciones.dart b/dart/manga/multisrc/mangareader/src/senpaiediciones/senpaiediciones.dart index 2e3521fc..491a4a1d 100644 --- a/dart/manga/multisrc/mangareader/src/senpaiediciones/senpaiediciones.dart +++ b/dart/manga/multisrc/mangareader/src/senpaiediciones/senpaiediciones.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get senpaiedicionesSource => _senpaiedicionesSource; Source _senpaiedicionesSource = Source( - name: "Senpai Ediciones", - baseUrl: "https://senpaiediciones.com", - lang: "es", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/senpaiediciones/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "Senpai Ediciones", + baseUrl: "https://senpaiediciones.com", + lang: "es", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/senpaiediciones/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/mangareader/src/sereinscan/sereinscan.dart b/dart/manga/multisrc/mangareader/src/sereinscan/sereinscan.dart index 4372649c..c44e8fc0 100644 --- a/dart/manga/multisrc/mangareader/src/sereinscan/sereinscan.dart +++ b/dart/manga/multisrc/mangareader/src/sereinscan/sereinscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get sereinscanSource => _sereinscanSource; Source _sereinscanSource = Source( - name: "Serein Scan", - baseUrl: "https://sereinscan.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/sereinscan/icon.png", - dateFormat:"MMM d, yyy", - dateFormatLocale:"tr" - ); + name: "Serein Scan", + baseUrl: "https://sereinscan.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/sereinscan/icon.png", + dateFormat: "MMM d, yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/sheamanga/sheamanga.dart b/dart/manga/multisrc/mangareader/src/sheamanga/sheamanga.dart index 0699f8c5..b62876d4 100644 --- a/dart/manga/multisrc/mangareader/src/sheamanga/sheamanga.dart +++ b/dart/manga/multisrc/mangareader/src/sheamanga/sheamanga.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get sheamangaSource => _sheamangaSource; Source _sheamangaSource = Source( - name: "Shea Manga", - baseUrl: "https://sheakomik.com", - lang: "id", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/sheamanga/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"id" - ); + name: "Shea Manga", + baseUrl: "https://sheakomik.com", + lang: "id", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/sheamanga/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/mangareader/src/shijiescans/shijiescans.dart b/dart/manga/multisrc/mangareader/src/shijiescans/shijiescans.dart index db4d1310..be05b0de 100644 --- a/dart/manga/multisrc/mangareader/src/shijiescans/shijiescans.dart +++ b/dart/manga/multisrc/mangareader/src/shijiescans/shijiescans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get shijiescansSource => _shijiescansSource; Source _shijiescansSource = Source( - name: "Shijie Scans", - baseUrl: "https://shijiescans.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/shijiescans/icon.png", - dateFormat:"MMM d, yyy", - dateFormatLocale:"tr" - ); + name: "Shijie Scans", + baseUrl: "https://shijiescans.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/shijiescans/icon.png", + dateFormat: "MMM d, yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/shirakami/shirakami.dart b/dart/manga/multisrc/mangareader/src/shirakami/shirakami.dart index f69446bf..6180518e 100644 --- a/dart/manga/multisrc/mangareader/src/shirakami/shirakami.dart +++ b/dart/manga/multisrc/mangareader/src/shirakami/shirakami.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get shirakamiSource => _shirakamiSource; Source _shirakamiSource = Source( - name: "Shirakami", - baseUrl: "https://shirakami.xyz", - lang: "id", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/shirakami/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"id" - ); + name: "Shirakami", + baseUrl: "https://shirakami.xyz", + lang: "id", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/shirakami/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "id", +); diff --git a/dart/manga/multisrc/mangareader/src/skymangas/skymangas.dart b/dart/manga/multisrc/mangareader/src/skymangas/skymangas.dart index fd473c3b..aa0a3e30 100644 --- a/dart/manga/multisrc/mangareader/src/skymangas/skymangas.dart +++ b/dart/manga/multisrc/mangareader/src/skymangas/skymangas.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get skymangasSource => _skymangasSource; Source _skymangasSource = Source( - name: "SkyMangas", - baseUrl: "https://skymangas.com", - lang: "es", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/skymangas/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"es" - ); + name: "SkyMangas", + baseUrl: "https://skymangas.com", + lang: "es", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/skymangas/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "es", +); diff --git a/dart/manga/multisrc/mangareader/src/sssscanlator/sssscanlator.dart b/dart/manga/multisrc/mangareader/src/sssscanlator/sssscanlator.dart index 66130101..7f07777d 100644 --- a/dart/manga/multisrc/mangareader/src/sssscanlator/sssscanlator.dart +++ b/dart/manga/multisrc/mangareader/src/sssscanlator/sssscanlator.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get sssscanlatorSource => _sssscanlatorSource; Source _sssscanlatorSource = Source( - name: "SSSScanlator", - baseUrl: "https://sssscanlator.com.br", - lang: "pt-br", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/sssscanlator/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"pt-br" - ); + name: "SSSScanlator", + baseUrl: "https://sssscanlator.com.br", + lang: "pt-br", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/sssscanlator/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/mangareader/src/stellarsaber/stellarsaber.dart b/dart/manga/multisrc/mangareader/src/stellarsaber/stellarsaber.dart index b6a87a1c..53d08ed1 100644 --- a/dart/manga/multisrc/mangareader/src/stellarsaber/stellarsaber.dart +++ b/dart/manga/multisrc/mangareader/src/stellarsaber/stellarsaber.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get stellarsaberSource => _stellarsaberSource; Source _stellarsaberSource = Source( - name: "StellarSaber", - baseUrl: "https://stellarsaber.pro", - lang: "ar", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/stellarsaber/icon.png", - dateFormat:"MMMMM dd, yyyy", - dateFormatLocale:"ar" - ); + name: "StellarSaber", + baseUrl: "https://stellarsaber.pro", + lang: "ar", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/stellarsaber/icon.png", + dateFormat: "MMMMM dd, yyyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/summertoon/summertoon.dart b/dart/manga/multisrc/mangareader/src/summertoon/summertoon.dart index 9f08458b..88f43d94 100644 --- a/dart/manga/multisrc/mangareader/src/summertoon/summertoon.dart +++ b/dart/manga/multisrc/mangareader/src/summertoon/summertoon.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get summertoonSource => _summertoonSource; Source _summertoonSource = Source( - name: "SummerToon", - baseUrl: "https://summertoon.me", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/summertoon/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"tr" - ); + name: "SummerToon", + baseUrl: "https://summertoon.me", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/summertoon/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/tarotscans/tarotscans.dart b/dart/manga/multisrc/mangareader/src/tarotscans/tarotscans.dart index a4287f68..ca33174e 100644 --- a/dart/manga/multisrc/mangareader/src/tarotscans/tarotscans.dart +++ b/dart/manga/multisrc/mangareader/src/tarotscans/tarotscans.dart @@ -1,13 +1,14 @@ import '../../../../../../model/source.dart'; - Source get tarotscansSource => _tarotscansSource; - - Source _tarotscansSource = Source( - name: "Tarot Scans", - baseUrl: "https://www.tarotscans.com", - lang: "tr", - typeSource: "mangareader", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/tarotscans/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"tr", - ); \ No newline at end of file +Source get tarotscansSource => _tarotscansSource; + +Source _tarotscansSource = Source( + name: "Tarot Scans", + baseUrl: "https://www.tarotscans.com", + lang: "tr", + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/tarotscans/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/thunderscans/thunderscans.dart b/dart/manga/multisrc/mangareader/src/thunderscans/thunderscans.dart index 6b6d3f37..73cceac4 100644 --- a/dart/manga/multisrc/mangareader/src/thunderscans/thunderscans.dart +++ b/dart/manga/multisrc/mangareader/src/thunderscans/thunderscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get thunderscansSource => _thunderscansSource; Source _thunderscansSource = Source( - name: "Thunder Scans", - baseUrl: "https://ar-thunderepic.com", - lang: "all", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/thunderscans/icon.png", - dateFormat:"MMM d, yyy", - dateFormatLocale:"ar" - ); + name: "Thunder Scans", + baseUrl: "https://ar-thunderepic.com", + lang: "all", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/thunderscans/icon.png", + dateFormat: "MMM d, yyy", + dateFormatLocale: "ar", +); diff --git a/dart/manga/multisrc/mangareader/src/tsundokutraducoes/tsundokutraducoes.dart b/dart/manga/multisrc/mangareader/src/tsundokutraducoes/tsundokutraducoes.dart index 8637d0e9..e7ffc7d0 100644 --- a/dart/manga/multisrc/mangareader/src/tsundokutraducoes/tsundokutraducoes.dart +++ b/dart/manga/multisrc/mangareader/src/tsundokutraducoes/tsundokutraducoes.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get tsundokutraducoesSource => _tsundokutraducoesSource; Source _tsundokutraducoesSource = Source( - name: "Tsundoku Traduções", - baseUrl: "https://tsundoku.com.br", - lang: "pt-br", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/tsundokutraducoes/icon.png", - dateFormat:"MMMMM d, yyyy", - dateFormatLocale:"pt-br" - ); + name: "Tsundoku Traduções", + baseUrl: "https://tsundoku.com.br", + lang: "pt-br", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/tsundokutraducoes/icon.png", + dateFormat: "MMMMM d, yyyy", + dateFormatLocale: "pt-br", +); diff --git a/dart/manga/multisrc/mangareader/src/tukangkomik/tukangkomik.dart b/dart/manga/multisrc/mangareader/src/tukangkomik/tukangkomik.dart index 8d733462..d57a7384 100644 --- a/dart/manga/multisrc/mangareader/src/tukangkomik/tukangkomik.dart +++ b/dart/manga/multisrc/mangareader/src/tukangkomik/tukangkomik.dart @@ -1,13 +1,14 @@ import '../../../../../../model/source.dart'; - Source get tukangkomikSource => _tukangkomikSource; - - Source _tukangkomikSource = Source( - name: "TukangKomik", - baseUrl: "https://tukangkomik.id", - lang: "id", - typeSource: "mangareader", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/tukangkomik/icon.png", - dateFormat:"MMM d, yyyy", - dateFormatLocale:"tr", - ); \ No newline at end of file +Source get tukangkomikSource => _tukangkomikSource; + +Source _tukangkomikSource = Source( + name: "TukangKomik", + baseUrl: "https://tukangkomik.id", + lang: "id", + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/tukangkomik/icon.png", + dateFormat: "MMM d, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/turktoon/turktoon.dart b/dart/manga/multisrc/mangareader/src/turktoon/turktoon.dart index bc65b213..1c6d1fd6 100644 --- a/dart/manga/multisrc/mangareader/src/turktoon/turktoon.dart +++ b/dart/manga/multisrc/mangareader/src/turktoon/turktoon.dart @@ -1,13 +1,14 @@ import '../../../../../../model/source.dart'; - Source get turktoonSource => _turktoonSource; - - Source _turktoonSource = Source( - name: "TurkToon", - baseUrl: "https://turktoon.com", - lang: "tr", - typeSource: "mangareader", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/turktoon/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get turktoonSource => _turktoonSource; + +Source _turktoonSource = Source( + name: "TurkToon", + baseUrl: "https://turktoon.com", + lang: "tr", + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/turktoon/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/mangareader/src/uzaymanga/uzaymanga.dart b/dart/manga/multisrc/mangareader/src/uzaymanga/uzaymanga.dart index 26ddc585..bf2fd5d7 100644 --- a/dart/manga/multisrc/mangareader/src/uzaymanga/uzaymanga.dart +++ b/dart/manga/multisrc/mangareader/src/uzaymanga/uzaymanga.dart @@ -1,13 +1,14 @@ import '../../../../../../model/source.dart'; - Source get uzaymangaSource => _uzaymangaSource; - - Source _uzaymangaSource = Source( - name: "Uzay Manga", - baseUrl: "https://uzaymanga.com", - lang: "tr", - typeSource: "mangareader", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/uzaymanga/icon.png", - dateFormat:"MMM d, yyyy", - dateFormatLocale:"tr", - ); \ No newline at end of file +Source get uzaymangaSource => _uzaymangaSource; + +Source _uzaymangaSource = Source( + name: "Uzay Manga", + baseUrl: "https://uzaymanga.com", + lang: "tr", + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/uzaymanga/icon.png", + dateFormat: "MMM d, yyyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mangareader/src/vfscan/vfscan.dart b/dart/manga/multisrc/mangareader/src/vfscan/vfscan.dart index fbdead1f..03934a2a 100644 --- a/dart/manga/multisrc/mangareader/src/vfscan/vfscan.dart +++ b/dart/manga/multisrc/mangareader/src/vfscan/vfscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get vfscanSource => _vfscanSource; Source _vfscanSource = Source( - name: "VF Scan", - baseUrl: "https://www.vfscan.cc", - lang: "fr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/vfscan/icon.png", - dateFormat:"MMMM dd, yyyy", - dateFormatLocale:"fr" - ); + name: "VF Scan", + baseUrl: "https://www.vfscan.cc", + lang: "fr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/vfscan/icon.png", + dateFormat: "MMMM dd, yyyy", + dateFormatLocale: "fr", +); diff --git a/dart/manga/multisrc/mangareader/src/walpurgisscan/walpurgisscan.dart b/dart/manga/multisrc/mangareader/src/walpurgisscan/walpurgisscan.dart index a7b14cd7..1414faad 100644 --- a/dart/manga/multisrc/mangareader/src/walpurgisscan/walpurgisscan.dart +++ b/dart/manga/multisrc/mangareader/src/walpurgisscan/walpurgisscan.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get walpurgisscanSource => _walpurgisscanSource; Source _walpurgisscanSource = Source( - name: "Walpurgi Scan", - baseUrl: "https://www.walpurgiscan.it", - lang: "it", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/walpurgisscan/icon.png", - dateFormat:"MMM d, yyyy", - dateFormatLocale:"it" - ); + name: "Walpurgi Scan", + baseUrl: "https://www.walpurgiscan.it", + lang: "it", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/walpurgisscan/icon.png", + dateFormat: "MMM d, yyyy", + dateFormatLocale: "it", +); diff --git a/dart/manga/multisrc/mangareader/src/zenithscans/zenithscans.dart b/dart/manga/multisrc/mangareader/src/zenithscans/zenithscans.dart index 11b7c63c..4dca3ad2 100644 --- a/dart/manga/multisrc/mangareader/src/zenithscans/zenithscans.dart +++ b/dart/manga/multisrc/mangareader/src/zenithscans/zenithscans.dart @@ -2,12 +2,13 @@ import '../../../../../../model/source.dart'; Source get zenithscansSource => _zenithscansSource; Source _zenithscansSource = Source( - name: "Zenith Scans", - baseUrl: "https://zenithscans.com", - lang: "tr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/zenithscans/icon.png", - dateFormat:"MMM d, yyy", - dateFormatLocale:"tr" - ); + name: "Zenith Scans", + baseUrl: "https://zenithscans.com", + lang: "tr", + isNsfw: false, + typeSource: "mangareader", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/zenithscans/icon.png", + dateFormat: "MMM d, yyy", + dateFormatLocale: "tr", +); diff --git a/dart/manga/multisrc/mmrcms/mmrcms.dart b/dart/manga/multisrc/mmrcms/mmrcms.dart index 0f3a746d..04588df0 100644 --- a/dart/manga/multisrc/mmrcms/mmrcms.dart +++ b/dart/manga/multisrc/mmrcms/mmrcms.dart @@ -10,9 +10,12 @@ class MMRCMS extends MProvider { @override Future getPopular(int page) async { - final res = (await client.get(Uri.parse( - "${source.baseUrl}/filterList?page=$page&sortBy=views&asc=false"))) - .body; + final res = + (await client.get( + Uri.parse( + "${source.baseUrl}/filterList?page=$page&sortBy=views&asc=false", + ), + )).body; List mangaList = []; final urls = xpath(res, '//*[ @class="chart-title"]/@href'); @@ -24,7 +27,8 @@ class MMRCMS extends MProvider { images.add("${source.baseUrl}/uploads/manga/${slug}.jpg"); } else { images.add( - "${source.baseUrl}/uploads/manga/${slug}/cover/cover_250x350.jpg"); + "${source.baseUrl}/uploads/manga/${slug}/cover/cover_250x350.jpg", + ); } } @@ -41,9 +45,10 @@ class MMRCMS extends MProvider { @override Future getLatestUpdates(int page) async { - final res = (await client - .get(Uri.parse("${source.baseUrl}/latest-release?page=$page"))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/latest-release?page=$page"), + )).body; List mangaList = []; final urls = xpath(res, '//*[@class="manga-item"]/h3/a/@href'); @@ -55,7 +60,8 @@ class MMRCMS extends MProvider { images.add("${source.baseUrl}/uploads/manga/${slug}.jpg"); } else { images.add( - "${source.baseUrl}/uploads/manga/${slug}/cover/cover_250x350.jpg"); + "${source.baseUrl}/uploads/manga/${slug}/cover/cover_250x350.jpg", + ); } } @@ -124,7 +130,8 @@ class MMRCMS extends MProvider { images.add("${source.baseUrl}/uploads/manga/$data.jpg"); } else { images.add( - "${source.baseUrl}/uploads/manga/$data/cover/cover_250x350.jpg"); + "${source.baseUrl}/uploads/manga/$data/cover/cover_250x350.jpg", + ); } } } else { @@ -136,7 +143,8 @@ class MMRCMS extends MProvider { images.add("${source.baseUrl}/uploads/manga/${slug}.jpg"); } else { images.add( - "${source.baseUrl}/uploads/manga/${slug}/cover/cover_250x350.jpg"); + "${source.baseUrl}/uploads/manga/${slug}/cover/cover_250x350.jpg", + ); } } } @@ -168,39 +176,52 @@ class MMRCMS extends MProvider { "prace w toku": 0, "ativo": 0, "مستمرة": 0, - "em andamento": 0 - } + "em andamento": 0, + }, ]; MManga manga = MManga(); final res = (await client.get(Uri.parse(url))).body; - final author = xpath(res, - '//*[@class="dl-horizontal"]/dt[contains(text(), "Auteur(s)") or contains(text(), "Author(s)") or contains(text(), "Autor(es)") or contains(text(), "Yazar(lar) or contains(text(), "Mangaka(lar)")]//following-sibling::dd[1]/text()'); + final author = xpath( + res, + '//*[@class="dl-horizontal"]/dt[contains(text(), "Auteur(s)") or contains(text(), "Author(s)") or contains(text(), "Autor(es)") or contains(text(), "Yazar(lar) or contains(text(), "Mangaka(lar)")]//following-sibling::dd[1]/text()', + ); if (author.isNotEmpty) { manga.author = author.first; } - final status = xpath(res, - '//*[@class="dl-horizontal"]/dt[contains(text(), "Statut") or contains(text(), "Status") or contains(text(), "Estado") or contains(text(), "Durum")]/following-sibling::dd[1]/text()'); + final status = xpath( + res, + '//*[@class="dl-horizontal"]/dt[contains(text(), "Statut") or contains(text(), "Status") or contains(text(), "Estado") or contains(text(), "Durum")]/following-sibling::dd[1]/text()', + ); if (status.isNotEmpty) { manga.status = parseStatus(status.first, statusList); } - final description = - xpath(res, '//*[@class="well" or @class="manga well"]/p/text()'); + final description = xpath( + res, + '//*[@class="well" or @class="manga well"]/p/text()', + ); if (description.isNotEmpty) { manga.description = description.first; } - manga.genre = xpath(res, - '//*[@class="dl-horizontal"]/dt[contains(text(), "Categories") or contains(text(), "Categorias") or contains(text(), "Categorías") or contains(text(), "Catégories") or contains(text(), "Kategoriler" or contains(text(), "Kategorie") or contains(text(), "Kategori") or contains(text(), "Tagi"))]/following-sibling::dd[1]/text()'); + manga.genre = xpath( + res, + '//*[@class="dl-horizontal"]/dt[contains(text(), "Categories") or contains(text(), "Categorias") or contains(text(), "Categorías") or contains(text(), "Catégories") or contains(text(), "Kategoriler" or contains(text(), "Kategorie") or contains(text(), "Kategori") or contains(text(), "Tagi"))]/following-sibling::dd[1]/text()', + ); var chapUrls = xpath(res, '//*[@class="chapter-title-rtl"]/a/@href'); var chaptersNames = xpath(res, '//*[@class="chapter-title-rtl"]/a/text()'); - var chaptersDates = - xpath(res, '//*[@class="date-chapter-title-rtl"]/text()'); + var chaptersDates = xpath( + res, + '//*[@class="date-chapter-title-rtl"]/text()', + ); - var dateUploads = - parseDates(chaptersDates, source.dateFormat, source.dateFormatLocale); + var dateUploads = parseDates( + chaptersDates, + source.dateFormat, + source.dateFormatLocale, + ); List? chaptersList = []; for (var i = 0; i < chaptersNames.length; i++) { @@ -219,8 +240,10 @@ class MMRCMS extends MProvider { final res = (await client.get(Uri.parse(url))).body; List pagesUrl = []; - final pages = - xpath(res, '//*[@id="all"]/img[@class="img-responsive"]/@data-src'); + final pages = xpath( + res, + '//*[@id="all"]/img[@class="img-responsive"]/@data-src', + ); for (var page in pages) { if (page.startsWith('//')) { pagesUrl.add(page.replaceAll('//', 'https://')); @@ -306,7 +329,7 @@ class MMRCMS extends MProvider { SelectFilterOption("Name", "name"), SelectFilterOption("Popularity", "views"), SelectFilterOption("Last update", "last_release"), - ]) + ]), ]; } diff --git a/dart/manga/multisrc/mmrcms/sources.dart b/dart/manga/multisrc/mmrcms/sources.dart index cbcc621d..4aa4a87f 100644 --- a/dart/manga/multisrc/mmrcms/sources.dart +++ b/dart/manga/multisrc/mmrcms/sources.dart @@ -13,26 +13,30 @@ const mmrcmsSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/mmrcms.dart"; List get mmrcmsSourcesList => _mmrcmsSourcesList; -List _mmrcmsSourcesList = [ -//Scan VF (FR) - scanvfSource, -//Komikid (ID) - komikidSource, -//MangaID (ID) - mangaidSource, -//Jpmangas (FR) - jpmangasSource, -//مانجا اون لاين (AR) - onmaSource, -//Read Comics Online (EN) - readcomicsonlineSource, -//Lelscan-VF (FR) - lelscanvfSource, -//Manga-FR (FR) - mangafrSource, -] - .map((e) => e - ..itemType = ItemType.manga - ..sourceCodeUrl = mmrcmsSourceCodeUrl - ..version = mmrcmsVersion) - .toList(); +List _mmrcmsSourcesList = + [ + //Scan VF (FR) + scanvfSource, + //Komikid (ID) + komikidSource, + //MangaID (ID) + mangaidSource, + //Jpmangas (FR) + jpmangasSource, + //مانجا اون لاين (AR) + onmaSource, + //Read Comics Online (EN) + readcomicsonlineSource, + //Lelscan-VF (FR) + lelscanvfSource, + //Manga-FR (FR) + mangafrSource, + ] + .map( + (e) => + e + ..itemType = ItemType.manga + ..sourceCodeUrl = mmrcmsSourceCodeUrl + ..version = mmrcmsVersion, + ) + .toList(); diff --git a/dart/manga/multisrc/mmrcms/src/jpmangas/jpmangas.dart b/dart/manga/multisrc/mmrcms/src/jpmangas/jpmangas.dart index a748aef6..0b24cc39 100644 --- a/dart/manga/multisrc/mmrcms/src/jpmangas/jpmangas.dart +++ b/dart/manga/multisrc/mmrcms/src/jpmangas/jpmangas.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get jpmangasSource => _jpmangasSource; - - Source _jpmangasSource = Source( - name: "Jpmangas", - baseUrl: "https://jpmangas.cc", - lang: "fr", - - typeSource: "mmrcms", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/jpmangas/icon.png", - dateFormat:"d MMM. yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get jpmangasSource => _jpmangasSource; + +Source _jpmangasSource = Source( + name: "Jpmangas", + baseUrl: "https://jpmangas.cc", + lang: "fr", + + typeSource: "mmrcms", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/jpmangas/icon.png", + dateFormat: "d MMM. yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/mmrcms/src/komikid/komikid.dart b/dart/manga/multisrc/mmrcms/src/komikid/komikid.dart index 79fa0a8a..3624b91f 100644 --- a/dart/manga/multisrc/mmrcms/src/komikid/komikid.dart +++ b/dart/manga/multisrc/mmrcms/src/komikid/komikid.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get komikidSource => _komikidSource; - - Source _komikidSource = Source( - name: "Komikid", - baseUrl: "https://www.komikid.com", - lang: "id", - - typeSource: "mmrcms", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/komikid/icon.png", - dateFormat:"d MMM. yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get komikidSource => _komikidSource; + +Source _komikidSource = Source( + name: "Komikid", + baseUrl: "https://www.komikid.com", + lang: "id", + + typeSource: "mmrcms", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/komikid/icon.png", + dateFormat: "d MMM. yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/mmrcms/src/lelscanvf/lelscanvf.dart b/dart/manga/multisrc/mmrcms/src/lelscanvf/lelscanvf.dart index 5564a76a..5d63982c 100644 --- a/dart/manga/multisrc/mmrcms/src/lelscanvf/lelscanvf.dart +++ b/dart/manga/multisrc/mmrcms/src/lelscanvf/lelscanvf.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get lelscanvfSource => _lelscanvfSource; - - Source _lelscanvfSource = Source( - name: "Lelscan-VF", - baseUrl: "https://www.lelscanvf.cc/", - lang: "fr", - - typeSource: "mmrcms", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/lelscanvf/icon.png", - dateFormat:"d MMM. yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get lelscanvfSource => _lelscanvfSource; + +Source _lelscanvfSource = Source( + name: "Lelscan-VF", + baseUrl: "https://www.lelscanvf.cc/", + lang: "fr", + + typeSource: "mmrcms", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/lelscanvf/icon.png", + dateFormat: "d MMM. yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/mmrcms/src/mangafr/mangafr.dart b/dart/manga/multisrc/mmrcms/src/mangafr/mangafr.dart index 4280a798..91f04e2e 100644 --- a/dart/manga/multisrc/mmrcms/src/mangafr/mangafr.dart +++ b/dart/manga/multisrc/mmrcms/src/mangafr/mangafr.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangafrSource => _mangafrSource; - - Source _mangafrSource = Source( - name: "Manga-FR", - baseUrl: "https://manga-fr.me", - lang: "fr", - - typeSource: "mmrcms", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/mangafr/icon.png", - dateFormat:"d MMM. yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangafrSource => _mangafrSource; + +Source _mangafrSource = Source( + name: "Manga-FR", + baseUrl: "https://manga-fr.me", + lang: "fr", + + typeSource: "mmrcms", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/mangafr/icon.png", + dateFormat: "d MMM. yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/mmrcms/src/mangaid/mangaid.dart b/dart/manga/multisrc/mmrcms/src/mangaid/mangaid.dart index b82ac099..8f8584fe 100644 --- a/dart/manga/multisrc/mmrcms/src/mangaid/mangaid.dart +++ b/dart/manga/multisrc/mmrcms/src/mangaid/mangaid.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get mangaidSource => _mangaidSource; - - Source _mangaidSource = Source( - name: "MangaID", - baseUrl: "https://mangaid.click", - lang: "id", - - typeSource: "mmrcms", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/mangaid/icon.png", - dateFormat:"d MMM. yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get mangaidSource => _mangaidSource; + +Source _mangaidSource = Source( + name: "MangaID", + baseUrl: "https://mangaid.click", + lang: "id", + + typeSource: "mmrcms", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/mangaid/icon.png", + dateFormat: "d MMM. yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/mmrcms/src/onma/onma.dart b/dart/manga/multisrc/mmrcms/src/onma/onma.dart index e55e48b5..4c4d7cd3 100644 --- a/dart/manga/multisrc/mmrcms/src/onma/onma.dart +++ b/dart/manga/multisrc/mmrcms/src/onma/onma.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get onmaSource => _onmaSource; - - Source _onmaSource = Source( - name: "مانجا اون لاين", - baseUrl: "https://onma.top", - lang: "ar", - - typeSource: "mmrcms", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/onma/icon.png", - dateFormat:"d MMM. yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get onmaSource => _onmaSource; + +Source _onmaSource = Source( + name: "مانجا اون لاين", + baseUrl: "https://onma.top", + lang: "ar", + + typeSource: "mmrcms", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/onma/icon.png", + dateFormat: "d MMM. yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/mmrcms/src/readcomicsonline/readcomicsonline.dart b/dart/manga/multisrc/mmrcms/src/readcomicsonline/readcomicsonline.dart index 6cedaaa6..93cd2801 100644 --- a/dart/manga/multisrc/mmrcms/src/readcomicsonline/readcomicsonline.dart +++ b/dart/manga/multisrc/mmrcms/src/readcomicsonline/readcomicsonline.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get readcomicsonlineSource => _readcomicsonlineSource; - - Source _readcomicsonlineSource = Source( - name: "Read Comics Online", - baseUrl: "https://readcomicsonline.ru", - lang: "en", - - typeSource: "mmrcms", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/readcomicsonline/icon.png", - dateFormat:"d MMM. yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get readcomicsonlineSource => _readcomicsonlineSource; + +Source _readcomicsonlineSource = Source( + name: "Read Comics Online", + baseUrl: "https://readcomicsonline.ru", + lang: "en", + + typeSource: "mmrcms", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/readcomicsonline/icon.png", + dateFormat: "d MMM. yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/mmrcms/src/scanvf/scanvf.dart b/dart/manga/multisrc/mmrcms/src/scanvf/scanvf.dart index 890f1217..653e29b0 100644 --- a/dart/manga/multisrc/mmrcms/src/scanvf/scanvf.dart +++ b/dart/manga/multisrc/mmrcms/src/scanvf/scanvf.dart @@ -1,14 +1,15 @@ import '../../../../../../model/source.dart'; - Source get scanvfSource => _scanvfSource; - - Source _scanvfSource = Source( - name: "Scan VF", - baseUrl: "https://www.scan-vf.net", - lang: "fr", - - typeSource: "mmrcms", - iconUrl:"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/scanvf/icon.png", - dateFormat:"d MMM. yyyy", - dateFormatLocale:"en_us", - ); \ No newline at end of file +Source get scanvfSource => _scanvfSource; + +Source _scanvfSource = Source( + name: "Scan VF", + baseUrl: "https://www.scan-vf.net", + lang: "fr", + + typeSource: "mmrcms", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mmrcms/src/scanvf/icon.png", + dateFormat: "d MMM. yyyy", + dateFormatLocale: "en_us", +); diff --git a/dart/manga/multisrc/nepnep/nepnep.dart b/dart/manga/multisrc/nepnep/nepnep.dart index 12138b07..5c1822d0 100644 --- a/dart/manga/multisrc/nepnep/nepnep.dart +++ b/dart/manga/multisrc/nepnep/nepnep.dart @@ -35,10 +35,11 @@ class NepNep extends MProvider { final directory = directoryFromDocument(res); final resSort = sortMapList(json.decode(directory), "lt", 1); final datas = json.decode(resSort) as List; - queryRes = datas.where((e) { - String name = getMapValue(json.encode(e), 's'); - return name.toLowerCase().contains(query.toLowerCase()); - }).toList(); + queryRes = + datas.where((e) { + String name = getMapValue(json.encode(e), 's'); + return name.toLowerCase().contains(query.toLowerCase()); + }).toList(); for (var filter in filters) { if (filter.type == "SortFilter") { @@ -57,78 +58,91 @@ class NepNep extends MProvider { } if (filter.type == "ScanStatusFilter") { if (filter.state != 0) { - queryRes = queryRes.where((e) { - final value = getMapValue(json.encode(e), 'ss'); - return value.toLowerCase().contains( - (filter.values[filter.state].value as String).toLowerCase()); - }).toList(); + queryRes = + queryRes.where((e) { + final value = getMapValue(json.encode(e), 'ss'); + return value.toLowerCase().contains( + (filter.values[filter.state].value as String).toLowerCase(), + ); + }).toList(); } } else if (filter.type == "PublishStatusFilter") { if (filter.state != 0) { - queryRes = queryRes.where((e) { - final value = getMapValue(json.encode(e), 'ps'); - return value.toLowerCase().contains( - (filter.values[filter.state].value as String).toLowerCase()); - }).toList(); + queryRes = + queryRes.where((e) { + final value = getMapValue(json.encode(e), 'ps'); + return value.toLowerCase().contains( + (filter.values[filter.state].value as String).toLowerCase(), + ); + }).toList(); } } else if (filter.type == "TypeFilter") { if (filter.state != 0) { - queryRes = queryRes.where((e) { - final value = getMapValue(json.encode(e), 't'); - return value.toLowerCase().contains( - (filter.values[filter.state].value as String).toLowerCase()); - }).toList(); + queryRes = + queryRes.where((e) { + final value = getMapValue(json.encode(e), 't'); + return value.toLowerCase().contains( + (filter.values[filter.state].value as String).toLowerCase(), + ); + }).toList(); } } else if (filter.type == "TranslationFilter") { if (filter.state != 0) { - queryRes = queryRes.where((e) { - final value = getMapValue(json.encode(e), 'o'); - return value.toLowerCase().contains("yes"); - }).toList(); + queryRes = + queryRes.where((e) { + final value = getMapValue(json.encode(e), 'o'); + return value.toLowerCase().contains("yes"); + }).toList(); } } else if (filter.type == "YearFilter") { if (filter.state.isNotEmpty) { - queryRes = queryRes.where((e) { - final value = getMapValue(json.encode(e), 'y'); - return value - .toLowerCase() - .contains((filter.name as String).toLowerCase()); - }).toList(); + queryRes = + queryRes.where((e) { + final value = getMapValue(json.encode(e), 'y'); + return value.toLowerCase().contains( + (filter.name as String).toLowerCase(), + ); + }).toList(); } } else if (filter.type == "AuthorFilter") { if (filter.state.isNotEmpty) { - queryRes = queryRes.where((e) { - final value = getMapValue(json.encode(e), 'a'); - return value - .toLowerCase() - .contains((filter.name as String).toLowerCase()); - }).toList(); + queryRes = + queryRes.where((e) { + final value = getMapValue(json.encode(e), 'a'); + return value.toLowerCase().contains( + (filter.name as String).toLowerCase(), + ); + }).toList(); } } else if (filter.type == "GenresFilter") { - final included = (filter.state as List) - .where((e) => e.state == 1 ? true : false) - .toList(); - final excluded = (filter.state as List) - .where((e) => e.state == 2 ? true : false) - .toList(); + final included = + (filter.state as List) + .where((e) => e.state == 1 ? true : false) + .toList(); + final excluded = + (filter.state as List) + .where((e) => e.state == 2 ? true : false) + .toList(); if (included.isNotEmpty) { for (var val in included) { - queryRes = queryRes.where((e) { - final value = getMapValue(json.encode(e), 'g'); - return value - .toLowerCase() - .contains((val.value as String).toLowerCase()); - }).toList(); + queryRes = + queryRes.where((e) { + final value = getMapValue(json.encode(e), 'g'); + return value.toLowerCase().contains( + (val.value as String).toLowerCase(), + ); + }).toList(); } } if (excluded.isNotEmpty) { for (var val in excluded) { - queryRes = queryRes.where((e) { - final value = getMapValue(json.encode(e), 'g'); - return !(value - .toLowerCase() - .contains((val.value as String).toLowerCase())); - }).toList(); + queryRes = + queryRes.where((e) { + final value = getMapValue(json.encode(e), 'g'); + return !(value.toLowerCase().contains( + (val.value as String).toLowerCase(), + )); + }).toList(); } } } @@ -140,31 +154,43 @@ class NepNep extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"Ongoing": 0, "Completed": 1, "Cancelled": 3, "Hiatus": 2} + {"Ongoing": 0, "Completed": 1, "Cancelled": 3, "Hiatus": 2}, ]; final headers = getHeader(source.baseUrl); - final res = (await client.get(Uri.parse('${source.baseUrl}/manga/$url'), - headers: headers)) - .body; + final res = + (await client.get( + Uri.parse('${source.baseUrl}/manga/$url'), + headers: headers, + )).body; MManga manga = MManga(); - manga.author = xpath(res, - '//li[contains(@class,"list-group-item") and contains(text(),"Author")]/a/text()') - .first; - manga.description = xpath(res, - '//li[contains(@class,"list-group-item") and contains(text(),"Description:")]/div/text()') - .first; - final status = xpath(res, - '//li[contains(@class,"list-group-item") and contains(text(),"Status")]/a/text()') - .first; + manga.author = + xpath( + res, + '//li[contains(@class,"list-group-item") and contains(text(),"Author")]/a/text()', + ).first; + manga.description = + xpath( + res, + '//li[contains(@class,"list-group-item") and contains(text(),"Description:")]/div/text()', + ).first; + final status = + xpath( + res, + '//li[contains(@class,"list-group-item") and contains(text(),"Status")]/a/text()', + ).first; manga.status = parseStatus(toStatus(status), statusList); - manga.genre = xpath(res, - '//li[contains(@class,"list-group-item") and contains(text(),"Genre(s)")]/a/text()'); + manga.genre = xpath( + res, + '//li[contains(@class,"list-group-item") and contains(text(),"Genre(s)")]/a/text()', + ); final script = xpath(res, '//script[contains(text(), "MainFunction")]/text()').first; - final vmChapters = - substringBefore(substringAfter(script, "vm.Chapters = "), ";"); + final vmChapters = substringBefore( + substringAfter(script, "vm.Chapters = "), + ";", + ); final chapters = json.decode(vmChapters) as List; List chaptersList = []; @@ -180,9 +206,12 @@ class NepNep extends MProvider { chapter.name = name == "null" ? "" : name; chapter.url = '/read-online/${substringAfter(url, "/manga/")}${chapterURLEncode(getMapValue(c, 'Chapter'))}'; - chapter.dateUpload = parseDates([getMapValue(c, 'Date')], - source.dateFormat, source.dateFormatLocale) - .first; + chapter.dateUpload = + parseDates( + [getMapValue(c, 'Date')], + source.dateFormat, + source.dateFormatLocale, + ).first; chaptersList.add(chapter); } manga.chapters = chaptersList; @@ -194,22 +223,31 @@ class NepNep extends MProvider { final headers = getHeader(source.baseUrl); List pages = []; final res = - (await client.get(Uri.parse('${source.baseUrl}$url'), headers: headers)) - .body; + (await client.get( + Uri.parse('${source.baseUrl}$url'), + headers: headers, + )).body; final script = xpath(res, '//script[contains(text(), "MainFunction")]/text()').first; - final chapScript = - substringBefore(substringAfter(script, "vm.CurChapter = "), ";"); + final chapScript = substringBefore( + substringAfter(script, "vm.CurChapter = "), + ";", + ); final pathName = substringBefore( - substringAfter(script, "vm.CurPathName = \"", ""), "\""); - var directory = getMapValue(chapScript, 'Directory') == 'null' - ? '' - : getMapValue(chapScript, 'Directory'); + substringAfter(script, "vm.CurPathName = \"", ""), + "\"", + ); + var directory = + getMapValue(chapScript, 'Directory') == 'null' + ? '' + : getMapValue(chapScript, 'Directory'); if (directory.length > 0) { directory += '/'; } - final mangaName = - substringBefore(substringAfter(url, "/read-online/"), "-chapter"); + final mangaName = substringBefore( + substringAfter(url, "/read-online/"), + "-chapter", + ); var chNum = chapterImage(getMapValue(chapScript, 'Chapter'), false); var totalPages = int.parse(getMapValue(chapScript, 'Page')); for (int page = 1; page <= totalPages; page++) { @@ -226,8 +264,9 @@ class NepNep extends MProvider { final script = xpath(res, '//script[contains(text(), "MainFunction")]/text()').first; return substringBefore( - substringAfter(script, "vm.Directory = "), "vm.GetIntValue") - .replaceAll(";", " "); + substringAfter(script, "vm.Directory = "), + "vm.GetIntValue", + ).replaceAll(";", " "); } MPages parseDirectory(String res) { @@ -401,7 +440,7 @@ Map getHeader(String url) { final headers = { 'Referer': '$url/', "User-Agent": - "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/77.0" + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/77.0", }; return headers; } diff --git a/dart/manga/multisrc/nepnep/sources.dart b/dart/manga/multisrc/nepnep/sources.dart index f71f1929..0d50fd34 100644 --- a/dart/manga/multisrc/nepnep/sources.dart +++ b/dart/manga/multisrc/nepnep/sources.dart @@ -8,14 +8,18 @@ const nepnepSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/nepnep/nepnep.dart"; List get nepnepSourcesList => _nepnepSourcesList; -List _nepnepSourcesList = [ -//MangaSee (EN) - mangaseeSource, -//MangaLife (EN) - mangalifeSource, -] - .map((e) => e - ..itemType = ItemType.manga - ..sourceCodeUrl = nepnepSourceCodeUrl - ..version = nepnepVersion) - .toList(); +List _nepnepSourcesList = + [ + //MangaSee (EN) + mangaseeSource, + //MangaLife (EN) + mangalifeSource, + ] + .map( + (e) => + e + ..itemType = ItemType.manga + ..sourceCodeUrl = nepnepSourceCodeUrl + ..version = nepnepVersion, + ) + .toList(); diff --git a/dart/manga/src/en/mangahere/mangahere.dart b/dart/manga/src/en/mangahere/mangahere.dart index 5f8dd5b2..9e30b163 100644 --- a/dart/manga/src/en/mangahere/mangahere.dart +++ b/dart/manga/src/en/mangahere/mangahere.dart @@ -10,18 +10,25 @@ class MangaHere extends MProvider { @override Future getPopular(int page) async { - final res = (await client.get( - Uri.parse("${source.baseUrl}/directory/$page.htm"), - headers: getHeader(source.baseUrl))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/directory/$page.htm"), + headers: getHeader(source.baseUrl), + )).body; List mangaList = []; - final names = - xpath(res, '//*[ contains(@class, "manga-list-1-list")]/li/a/@title'); - final images = xpath(res, - '//*[ contains(@class, "manga-list-1-list")]/li/a/img[@class="manga-list-1-cover"]/@src'); - final urls = - xpath(res, '//*[ contains(@class, "manga-list-1-list")]/li/a/@href'); + final names = xpath( + res, + '//*[ contains(@class, "manga-list-1-list")]/li/a/@title', + ); + final images = xpath( + res, + '//*[ contains(@class, "manga-list-1-list")]/li/a/img[@class="manga-list-1-cover"]/@src', + ); + final urls = xpath( + res, + '//*[ contains(@class, "manga-list-1-list")]/li/a/@href', + ); for (var i = 0; i < names.length; i++) { MManga manga = MManga(); @@ -36,18 +43,25 @@ class MangaHere extends MProvider { @override Future getLatestUpdates(int page) async { - final res = (await client.get( - Uri.parse("${source.baseUrl}/directory/$page.htm?latest"), - headers: getHeader(source.baseUrl))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/directory/$page.htm?latest"), + headers: getHeader(source.baseUrl), + )).body; List mangaList = []; - final names = - xpath(res, '//*[ contains(@class, "manga-list-1-list")]/li/a/@title'); - final images = xpath(res, - '//*[ contains(@class, "manga-list-1-list")]/li/a/img[@class="manga-list-1-cover"]/@src'); - final urls = - xpath(res, '//*[ contains(@class, "manga-list-1-list")]/li/a/@href'); + final names = xpath( + res, + '//*[ contains(@class, "manga-list-1-list")]/li/a/@title', + ); + final images = xpath( + res, + '//*[ contains(@class, "manga-list-1-list")]/li/a/img[@class="manga-list-1-cover"]/@src', + ); + final urls = xpath( + res, + '//*[ contains(@class, "manga-list-1-list")]/li/a/@href', + ); for (var i = 0; i < names.length; i++) { MManga manga = MManga(); @@ -77,12 +91,14 @@ class MangaHere extends MProvider { final rt = filter.values[filter.state].value; url += "${ll(url)}rating=$rt"; } else if (filter.type == "GenreList") { - final included = (filter.state as List) - .where((e) => e.state == 1 ? true : false) - .toList(); - final excluded = (filter.state as List) - .where((e) => e.state == 2 ? true : false) - .toList(); + final included = + (filter.state as List) + .where((e) => e.state == 1 ? true : false) + .toList(); + final excluded = + (filter.state as List) + .where((e) => e.state == 2 ? true : false) + .toList(); if (included.isNotEmpty) { url += "${ll(url)}genres="; for (var val in included) { @@ -108,16 +124,24 @@ class MangaHere extends MProvider { } url += "${ll(url)}title=$query&page=$page"; final res = - (await client.get(Uri.parse(url), headers: getHeader(source.baseUrl))) - .body; + (await client.get( + Uri.parse(url), + headers: getHeader(source.baseUrl), + )).body; List mangaList = []; - final names = - xpath(res, '//*[contains(@class, "manga-list-4-list")]/li/a/@title'); - final images = xpath(res, - '//*[contains(@class, "manga-list-4-list")]/li/a/img[@class="manga-list-4-cover"]/@src'); - final urls = - xpath(res, '//*[contains(@class, "manga-list-4-list")]/li/a/@href'); + final names = xpath( + res, + '//*[contains(@class, "manga-list-4-list")]/li/a/@title', + ); + final images = xpath( + res, + '//*[contains(@class, "manga-list-4-list")]/li/a/img[@class="manga-list-4-cover"]/@src', + ); + final urls = xpath( + res, + '//*[contains(@class, "manga-list-4-list")]/li/a/@href', + ); for (var i = 0; i < names.length; i++) { MManga manga = MManga(); @@ -133,11 +157,13 @@ class MangaHere extends MProvider { @override Future getDetail(String url) async { final statusList = [ - {"Ongoing": 0, "Completed": 1} + {"Ongoing": 0, "Completed": 1}, ]; - final res = (await client.get(Uri.parse("${source.baseUrl}/$url"), - headers: getHeader(source.baseUrl))) - .body; + final res = + (await client.get( + Uri.parse("${source.baseUrl}/$url"), + headers: getHeader(source.baseUrl), + )).body; MManga manga = MManga(); manga.author = xpath(res, '//*[@class="detail-info-right-say"]/a/text()').first; @@ -145,16 +171,25 @@ class MangaHere extends MProvider { final status = xpath(res, '//*[@class="detail-info-right-title-tip"]/text()').first; manga.status = parseStatus(status, statusList); - manga.genre = - xpath(res, '//*[@class="detail-info-right-tag-list"]/a/text()'); + manga.genre = xpath( + res, + '//*[@class="detail-info-right-tag-list"]/a/text()', + ); var chapUrls = xpath(res, '//*[@class="detail-main-list"]/li/a/@href'); - var chaptersNames = xpath(res, - '//*[@class="detail-main-list"]/li/a/div/p[@class="title3"]/text()'); - final chapterDates = xpath(res, - '//*[@class="detail-main-list"]/li/a/div/p[@class="title2"]/text()'); - var dateUploads = - parseDates(chapterDates, source.dateFormat, source.dateFormatLocale); + var chaptersNames = xpath( + res, + '//*[@class="detail-main-list"]/li/a/div/p[@class="title3"]/text()', + ); + final chapterDates = xpath( + res, + '//*[@class="detail-main-list"]/li/a/div/p[@class="title2"]/text()', + ); + var dateUploads = parseDates( + chapterDates, + source.dateFormat, + source.dateFormatLocale, + ); List? chaptersList = []; for (var i = 0; i < chaptersNames.length; i++) { @@ -177,9 +212,9 @@ class MangaHere extends MProvider { List pageUrls = []; if (pages.isEmpty) { final script = xpath( - res, "//script[contains(text(),'function(p,a,c,k,e,d)')]/text()") - .first - .replaceAll("eval", ""); + res, + "//script[contains(text(),'function(p,a,c,k,e,d)')]/text()", + ).first.replaceAll("eval", ""); String deobfuscatedScript = unpackJs(script); int a = deobfuscatedScript.indexOf("newImgs=['") + 10; int b = deobfuscatedScript.indexOf("'];"); @@ -191,8 +226,10 @@ class MangaHere extends MProvider { final pagesNumberList = pages; int pagesNumber = int.parse(pagesNumberList[pagesNumberList.length - 2]); int secretKeyScriptLocation = res.indexOf("eval(function(p,a,c,k,e,d)"); - int secretKeyScriptEndLocation = - res.indexOf("", secretKeyScriptLocation); + int secretKeyScriptEndLocation = res.indexOf( + "", + secretKeyScriptLocation, + ); String secretKeyScript = res .substring(secretKeyScriptLocation, secretKeyScriptEndLocation) .replaceAll("eval", ""); @@ -201,10 +238,14 @@ class MangaHere extends MProvider { int secretKeyEndLoc = secretKeyDeobfuscatedScript.indexOf(";"); String secretKey = secretKeyDeobfuscatedScript.substring( - secretKeyStartLoc, secretKeyEndLoc); + secretKeyStartLoc, + secretKeyEndLoc, + ); int chapterIdStartLoc = res.indexOf("chapterid"); String chapterId = res.substring( - chapterIdStartLoc + 11, res.indexOf(";", chapterIdStartLoc)); + chapterIdStartLoc + 11, + res.indexOf(";", chapterIdStartLoc), + ); String pageBase = urll.substring(0, urll.lastIndexOf("/")); for (int i = 1; i <= pagesNumber; i++) { String pageLink = @@ -218,7 +259,7 @@ class MangaHere extends MProvider { "Accept-Language": "en-US,en;q=0.9", "Connection": "keep-alive", "Host": "www.mangahere.cc", - "X-Requested-With": "XMLHttpRequest" + "X-Requested-With": "XMLHttpRequest", }; final ress = @@ -231,20 +272,27 @@ class MangaHere extends MProvider { } } } - String deobfuscatedScript = - unpackJs(responseText.replaceAll("eval", "")); + String deobfuscatedScript = unpackJs( + responseText.replaceAll("eval", ""), + ); int baseLinkStartPos = deobfuscatedScript.indexOf("pix=") + 5; int baseLinkEndPos = deobfuscatedScript.indexOf(";", baseLinkStartPos) - 1; - String baseLink = - deobfuscatedScript.substring(baseLinkStartPos, baseLinkEndPos); + String baseLink = deobfuscatedScript.substring( + baseLinkStartPos, + baseLinkEndPos, + ); int imageLinkStartPos = deobfuscatedScript.indexOf("pvalue=") + 9; - int imageLinkEndPos = - deobfuscatedScript.indexOf("\"", imageLinkStartPos); - String imageLink = - deobfuscatedScript.substring(imageLinkStartPos, imageLinkEndPos); + int imageLinkEndPos = deobfuscatedScript.indexOf( + "\"", + imageLinkStartPos, + ); + String imageLink = deobfuscatedScript.substring( + imageLinkStartPos, + imageLinkEndPos, + ); pageUrls.add("https:$baseLink$imageLink"); } } diff --git a/dart/novel/novel_source_list.dart b/dart/novel/novel_source_list.dart index 51a1594a..dc72a12d 100644 --- a/dart/novel/novel_source_list.dart +++ b/dart/novel/novel_source_list.dart @@ -1,4 +1,3 @@ import '../../model/source.dart'; -List dartNovelSourceList = [ -]; +List dartNovelSourceList = []; diff --git a/model/source.dart b/model/source.dart index c68f9ee1..7c6b27e3 100644 --- a/model/source.dart +++ b/model/source.dart @@ -37,26 +37,27 @@ class Source { int? sourceCodeLanguage; - Source( - {this.id = null, - this.name = "", - this.baseUrl = "", - this.lang = "", - this.typeSource = "", - this.iconUrl = "", - this.dateFormat = "", - this.dateFormatLocale = "", - this.isNsfw = false, - this.hasCloudflare = false, - this.sourceCodeUrl = "", - this.apiUrl = "", - this.version = "", - this.isManga, - this.itemType = ItemType.manga, - this.isFullData = false, - this.appMinVerReq = "0.5.0", - this.additionalParams = "", - this.sourceCodeLanguage = 0}); + Source({ + this.id = null, + this.name = "", + this.baseUrl = "", + this.lang = "", + this.typeSource = "", + this.iconUrl = "", + this.dateFormat = "", + this.dateFormatLocale = "", + this.isNsfw = false, + this.hasCloudflare = false, + this.sourceCodeUrl = "", + this.apiUrl = "", + this.version = "", + this.isManga, + this.itemType = ItemType.manga, + this.isFullData = false, + this.appMinVerReq = "0.5.0", + this.additionalParams = "", + this.sourceCodeLanguage = 0, + }); Source.fromJson(Map json) { final sourceCodeLang = json['sourceCodeLanguage'] ?? 0; apiUrl = json['apiUrl'] ?? ""; @@ -66,11 +67,12 @@ class Source { dateFormatLocale = json['dateFormatLocale'] ?? ""; hasCloudflare = json['hasCloudflare'] ?? false; iconUrl = json['iconUrl'] ?? ""; - id = (json['id'] ?? - (sourceCodeLang == 0 - ? 'mangayomi-"${json['lang'] ?? ""}"."${json['name'] ?? ""}"' - : 'mangayomi-js-"${json['lang'] ?? ""}"."${json['name'] ?? ""}"')) - .hashCode; + id = + (json['id'] ?? + (sourceCodeLang == 0 + ? 'mangayomi-"${json['lang'] ?? ""}"."${json['name'] ?? ""}"' + : 'mangayomi-js-"${json['lang'] ?? ""}"."${json['name'] ?? ""}"')) + .hashCode; isFullData = json['isFullData'] ?? false; itemType = ItemType.values[json['itemType'] ?? 0]; isNsfw = json['isNsfw'] ?? false; @@ -104,7 +106,7 @@ class Source { "isFullData": isFullData, "appMinVerReq": appMinVerReq, "additionalParams": additionalParams, - "sourceCodeLanguage": sourceCodeLanguage + "sourceCodeLanguage": sourceCodeLanguage, }; } } diff --git a/source_generator.dart b/source_generator.dart index e55ac4af..e67edf3d 100644 --- a/source_generator.dart +++ b/source_generator.dart @@ -9,11 +9,14 @@ import 'model/source.dart'; void main() { final jsSources = _searchJsSources(Directory("javascript")); genManga( - jsSources.where((element) => element.itemType!.name == "manga").toList()); + jsSources.where((element) => element.itemType!.name == "manga").toList(), + ); genAnime( - jsSources.where((element) => element.itemType!.name == "anime").toList()); + jsSources.where((element) => element.itemType!.name == "anime").toList(), + ); genNovel( - jsSources.where((element) => element.itemType!.name == "novel").toList()); + jsSources.where((element) => element.itemType!.name == "novel").toList(), + ); } void genManga(List jsMangasourceList) { @@ -68,29 +71,35 @@ List _searchJsSources(Directory dir) { if (entity is Directory) { sourceList.addAll(_searchJsSources(entity)); } else if (entity is File && entity.path.endsWith('.js')) { - final regex = RegExp(r'const\s+mangayomiSources\s*=\s*(\[.*?\]);', - dotAll: true); + final regex = RegExp( + r'const\s+mangayomiSources\s*=\s*(\[.*?\]);', + dotAll: true, + ); final defaultSource = Source(); final match = regex.firstMatch(entity.readAsStringSync()); if (match != null) { for (var sourceJson in jsonDecode(match.group(1)!) as List) { final langs = sourceJson["langs"] as List?; - Source source = Source.fromJson(sourceJson) - ..sourceCodeLanguage = 1 - ..appMinVerReq = - sourceJson["appMinVerReq"] ?? defaultSource.appMinVerReq - ..sourceCodeUrl = - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/javascript/${sourceJson["pkgPath"] ?? sourceJson["pkgName"]}"; + Source source = + Source.fromJson(sourceJson) + ..sourceCodeLanguage = 1 + ..appMinVerReq = + sourceJson["appMinVerReq"] ?? defaultSource.appMinVerReq + ..sourceCodeUrl = + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/javascript/${sourceJson["pkgPath"] ?? sourceJson["pkgName"]}"; if (sourceJson["id"] != null) { source = source..id = int.tryParse("${sourceJson["id"]}"); } if (langs?.isNotEmpty ?? false) { for (var lang in langs!) { final id = sourceJson["ids"]?[lang] as int?; - sourceList.add(Source.fromJson(source.toJson()) - ..lang = lang - ..id = - id ?? 'mangayomi-js-"$lang"."${source.name}"'.hashCode); + sourceList.add( + Source.fromJson(source.toJson()) + ..lang = lang + ..id = + id ?? + 'mangayomi-js-"$lang"."${source.name}"'.hashCode, + ); } } else { sourceList.add(source);