diff --git a/docs/supportedsites.md b/docs/supportedsites.md index c1acadd2..9dc174a8 100644 --- a/docs/supportedsites.md +++ b/docs/supportedsites.md @@ -98,7 +98,7 @@ Consider all listed sites to potentially be NSFW. - Bato + BATO.TO https://bato.to/ Chapters, Manga diff --git a/gallery_dl/extractor/__init__.py b/gallery_dl/extractor/__init__.py index 99de2169..4ab9db4d 100644 --- a/gallery_dl/extractor/__init__.py +++ b/gallery_dl/extractor/__init__.py @@ -24,7 +24,7 @@ modules = [ "architizer", "artstation", "aryion", - "bato", + "batoto", "bbc", "behance", "blogger", diff --git a/gallery_dl/extractor/bato.py b/gallery_dl/extractor/batoto.py similarity index 93% rename from gallery_dl/extractor/bato.py rename to gallery_dl/extractor/batoto.py index 83404a75..cd6302e6 100644 --- a/gallery_dl/extractor/bato.py +++ b/gallery_dl/extractor/batoto.py @@ -14,9 +14,9 @@ BASE_PATTERN = (r"(?:https?://)?" r"(?:(?:ba|d|w)to\.to|\.to|(?:batotoo|mangatoto)\.com)") -class BatoBase(): - """Base class for bato extractors""" - category = "bato" +class BatotoBase(): + """Base class for batoto extractors""" + category = "batoto" root = "https://bato.to" def request(self, url, **kwargs): @@ -24,7 +24,7 @@ class BatoBase(): return Extractor.request(self, url, **kwargs) -class BatoChapterExtractor(BatoBase, ChapterExtractor): +class BatotoChapterExtractor(BatotoBase, ChapterExtractor): """Extractor for bato.to manga chapters""" pattern = BASE_PATTERN + r"/(?:title/[^/?#]+|chapter)/(\d+)" example = "https://bato.to/title/12345-MANGA/54321" @@ -72,10 +72,10 @@ class BatoChapterExtractor(BatoBase, ChapterExtractor): ] -class BatoMangaExtractor(BatoBase, MangaExtractor): +class BatotoMangaExtractor(BatotoBase, MangaExtractor): """Extractor for bato.to manga""" reverse = False - chapterclass = BatoChapterExtractor + chapterclass = BatotoChapterExtractor pattern = BASE_PATTERN + r"/(?:title|series)/(\d+)[^/?#]*/?$" example = "https://bato.to/title/12345-MANGA/" diff --git a/scripts/supportedsites.py b/scripts/supportedsites.py index e3738b8b..ea6c2597 100755 --- a/scripts/supportedsites.py +++ b/scripts/supportedsites.py @@ -32,7 +32,7 @@ CATEGORY_MAP = { "atfbooru" : "ATFBooru", "b4k" : "arch.b4k.co", "baraag" : "baraag", - "bato" : "Bato", + "batoto" : "BATO.TO", "bbc" : "BBC", "comicvine" : "Comic Vine", "coomerparty" : "Coomer", diff --git a/test/results/bato.py b/test/results/batoto.py similarity index 73% rename from test/results/bato.py rename to test/results/batoto.py index 672362f5..f3853247 100644 --- a/test/results/bato.py +++ b/test/results/batoto.py @@ -4,14 +4,14 @@ # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. -from gallery_dl.extractor import bato +from gallery_dl.extractor import batoto from gallery_dl import exception __tests__ = ( { "#url" : "https://bato.to/title/86408-i-shall-master-this-family-official/1681030-ch_8", - "#category": ("", "bato", "chapter"), - "#class" : bato.BatoChapterExtractor, + "#category": ("", "batoto", "chapter"), + "#class" : batoto.BatotoChapterExtractor, "#count" : 66, "manga" : "I Shall Master this Family! [Official]", @@ -21,8 +21,8 @@ __tests__ = ( { "#url" : "https://bato.to/title/104929-86-eighty-six-official/1943513-vol_1-ch_5", "#comment" : "volume (vol) in url", - "#category": ("", "bato", "chapter"), - "#class" : bato.BatoChapterExtractor, + "#category": ("", "batoto", "chapter"), + "#class" : batoto.BatotoChapterExtractor, "#count" : 7, "manga" : "86--EIGHTY-SIX (Official)", @@ -32,8 +32,8 @@ __tests__ = ( }, { "#url" : "https://bato.to/title/113742-futsutsuka-na-akujo-de-wa-gozaimasu-ga-suuguu-chouso-torikae-den-official", - "#category": ("", "bato", "manga"), - "#class" : bato.BatoMangaExtractor, + "#category": ("", "batoto", "manga"), + "#class" : batoto.BatotoMangaExtractor, "#count" : ">= 21", "manga" : "Futsutsuka na Akujo de wa Gozaimasu ga - Suuguu Chouso Torikae Den (Official)", @@ -41,8 +41,8 @@ __tests__ = ( { "#url" : "https://bato.to/title/104929-86-eighty-six-official", "#comment" : "Manga with number in name", - "#category": ("", "bato", "manga"), - "#class" : bato.BatoMangaExtractor, + "#category": ("", "batoto", "manga"), + "#class" : batoto.BatotoMangaExtractor, "#count" : ">= 18", "manga" : "86--EIGHTY-SIX (Official)", @@ -50,16 +50,16 @@ __tests__ = ( { "#url" : "https://bato.to/title/140046-the-grand-duke-s-fox-princess-mgchan", "#comment" : "Non-English translation (Indonesian)", - "#category": ("", "bato", "manga"), - "#class" : bato.BatoMangaExtractor, + "#category": ("", "batoto", "manga"), + "#class" : batoto.BatotoMangaExtractor, "#count" : ">= 29", "manga" : "The Grand Duke’s Fox Princess ⎝⎝MGCHAN⎠⎠", }, { "#url" : "https://bato.to/title/134270-removed", - "#category": ("", "bato", "manga"), - "#class" : bato.BatoMangaExtractor, + "#category": ("", "batoto", "manga"), + "#class" : batoto.BatotoMangaExtractor, "#exception": exception.StopExtraction, } )