diff --git a/gallery_dl/extractor/batoto.py b/gallery_dl/extractor/batoto.py index 92cb1726..6d54f63d 100644 --- a/gallery_dl/extractor/batoto.py +++ b/gallery_dl/extractor/batoto.py @@ -113,8 +113,11 @@ class BatotoMangaExtractor(BatotoExtractor, MangaExtractor): class BatotoChapterExtractor(BatotoExtractor, AsynchronousExtractor): """Extractor for manga-chapters from bato.to""" subcategory = "chapter" - directory_fmt = ["{category}", "{manga}", "c{chapter:>03} - {title}"] - filename_fmt = "{manga}_c{chapter:>03}_{page:>03}.{extension}" + directory_fmt = [ + "{category}", "{manga}", + "{volume:?v/ />02}c{chapter:>03}{chapter_minor}{title:?: //}"] + filename_fmt = ( + "{manga}_c{chapter:>03}{chapter_minor}_{page:>03}.{extension}") pattern = [r"(?:https?://)?(?:www\.)?bato\.to/reader#([0-9a-f]+)"] test = [ ("http://bato.to/reader#459878c8fda07502", { diff --git a/gallery_dl/extractor/fallenangels.py b/gallery_dl/extractor/fallenangels.py index 00fa2834..c6683c96 100644 --- a/gallery_dl/extractor/fallenangels.py +++ b/gallery_dl/extractor/fallenangels.py @@ -18,9 +18,9 @@ class FallenangelsChapterExtractor(Extractor): category = "fallenangels" subcategory = "chapter" directory_fmt = ["{category}", "{manga}", - "c{chapter:>03}{chapter_minor} - {title}"] - filename_fmt = ("{manga}_c{chapter:>03}{chapter_minor}_" - "{page:>03}.{extension}") + "c{chapter:>03}{chapter_minor}{title:?: //}"] + filename_fmt = ( + "{manga}_c{chapter:>03}{chapter_minor}_{page:>03}.{extension}") pattern = [(r"(?:https?://)?(manga|truyen)\.fascans\.com/" r"manga/([^/]+)/(\d+)(\.[^/?&#]+)?")] test = [ diff --git a/gallery_dl/extractor/foolslide.py b/gallery_dl/extractor/foolslide.py index 71ca837d..20799a61 100644 --- a/gallery_dl/extractor/foolslide.py +++ b/gallery_dl/extractor/foolslide.py @@ -58,7 +58,8 @@ class FoolslideChapterExtractor(FoolslideExtractor): """Base class for chapter extractors for FoOlSlide based sites""" subcategory = "chapter" directory_fmt = ["{category}", "{manga}", "{chapter_string}"] - filename_fmt = "{manga}_{chapter:>03}_{page:>03}.{extension}" + filename_fmt = ( + "{manga}_c{chapter:>03}{chapter_minor}_{page:>03}.{extension}") single = True def __init__(self, match, url=None): diff --git a/gallery_dl/extractor/kissmanga.py b/gallery_dl/extractor/kissmanga.py index 761a3bff..66209ff5 100644 --- a/gallery_dl/extractor/kissmanga.py +++ b/gallery_dl/extractor/kissmanga.py @@ -24,10 +24,11 @@ IV = [ class KissmangaExtractor(Extractor): """Base class for kissmanga extractors""" category = "kissmanga" - directory_fmt = ["{category}", "{manga}", - "c{chapter:>03}{chapter_minor} - {title}"] - filename_fmt = ("{manga}_c{chapter:>03}{chapter_minor}_" - "{page:>03}.{extension}") + directory_fmt = [ + "{category}", "{manga}", + "{volume:?v/ />02}c{chapter:>03}{chapter_minor}{title:?: //}"] + filename_fmt = ( + "{manga}_c{chapter:>03}{chapter_minor}_{page:>03}.{extension}") root = "http://kissmanga.com" def __init__(self, match): diff --git a/gallery_dl/extractor/mangafox.py b/gallery_dl/extractor/mangafox.py index 386f2e8b..ab681e74 100644 --- a/gallery_dl/extractor/mangafox.py +++ b/gallery_dl/extractor/mangafox.py @@ -17,9 +17,11 @@ class MangafoxChapterExtractor(AsynchronousExtractor): """Extractor for manga-chapters from mangafox.me""" category = "mangafox" subcategory = "chapter" - directory_fmt = ["{category}", "{manga}", "c{chapter:>03}{chapter_minor}"] - filename_fmt = ("{manga}_c{chapter:>03}{chapter_minor}_" - "{page:>03}.{extension}") + directory_fmt = [ + "{category}", "{manga}", + "{volume:?v/ />02}c{chapter:>03}{chapter_minor}"] + filename_fmt = ( + "{manga}_c{chapter:>03}{chapter_minor}_{page:>03}.{extension}") pattern = [(r"(?:https?://)?(?:www\.)?(mangafox\.me/manga/" r"[^/]+/(v\d+/)?c\d+[^/]*)")] test = [(("http://mangafox.me/manga/kidou_keisatsu_patlabor/" diff --git a/gallery_dl/extractor/mangahere.py b/gallery_dl/extractor/mangahere.py index 0a2937f3..2e6d1fa3 100644 --- a/gallery_dl/extractor/mangahere.py +++ b/gallery_dl/extractor/mangahere.py @@ -58,9 +58,11 @@ class MangahereChapterExtractor(AsynchronousExtractor): """Extractor for manga-chapters from mangahere.co""" category = "mangahere" subcategory = "chapter" - directory_fmt = ["{category}", "{manga}", "c{chapter:>03}{chapter_minor}"] - filename_fmt = ("{manga}_c{chapter:>03}{chapter_minor}_" - "{page:>03}.{extension}") + directory_fmt = [ + "{category}", "{manga}", + "{volume:?v/ />02}c{chapter:>03}{chapter_minor}"] + filename_fmt = ( + "{manga}_c{chapter:>03}{chapter_minor}_{page:>03}.{extension}") pattern = [(r"(?:https?://)?(?:www\.)?mangahere\.co/manga/" r"([^/]+(?:/v0*(\d+))?/c0*(\d+)(\.\d+)?)")] test = [("http://www.mangahere.co/manga/dongguo_xiaojie/c003.2/", { diff --git a/gallery_dl/extractor/mangapanda.py b/gallery_dl/extractor/mangapanda.py index 9f12f557..ef778cc7 100644 --- a/gallery_dl/extractor/mangapanda.py +++ b/gallery_dl/extractor/mangapanda.py @@ -28,7 +28,6 @@ class MangapandaMangaExtractor(MangapandaBase, MangareaderMangaExtractor): class MangapandaChapterExtractor(MangapandaBase, MangareaderChapterExtractor): """Extractor for manga-chapters from mangapanda.com""" - subcategory = "chapter" pattern = [ (r"(?:https?://)?(?:www\.)?mangapanda\.com((/[^/]+)/(\d+))"), (r"(?:https?://)?(?:www\.)?mangapanda\.com" diff --git a/gallery_dl/extractor/mangapark.py b/gallery_dl/extractor/mangapark.py index 7bb70e8b..92f2b895 100644 --- a/gallery_dl/extractor/mangapark.py +++ b/gallery_dl/extractor/mangapark.py @@ -70,10 +70,11 @@ class MangaparkMangaExtractor(MangaparkExtractor, MangaExtractor): class MangaparkChapterExtractor(MangaparkExtractor): """Extractor for manga-chapters from mangapark.me""" subcategory = "chapter" - directory_fmt = ["{category}", "{manga}", - "c{chapter:>03}{chapter_minor} - {title}"] - filename_fmt = ("{manga}_c{chapter:>03}{chapter_minor}_" - "{page:>03}.{extension}") + directory_fmt = [ + "{category}", "{manga}", + "{volume:?v/ />02}c{chapter:>03}{chapter_minor}{title:?: //}"] + filename_fmt = ( + "{manga}_c{chapter:>03}{chapter_minor}_{page:>03}.{extension}") pattern = [(r"(?:https?://)?(?:www\.)?mangapark\.me(/manga/[^/]+" r"/s\d+(?:/v\d+)?/c\d+[^/]*(?:/e\d+)?)")] test = [ diff --git a/gallery_dl/extractor/mangareader.py b/gallery_dl/extractor/mangareader.py index 350b62ac..b0d990c5 100644 --- a/gallery_dl/extractor/mangareader.py +++ b/gallery_dl/extractor/mangareader.py @@ -15,8 +15,6 @@ from .. import text, util class MangareaderBase(): """Base class for mangareader extractors""" category = "mangareader" - directory_fmt = ["{category}", "{manga}", "c{chapter:>03} - {title}"] - filename_fmt = "{manga}_c{chapter:>03}_{page:>03}.{extension}" root = "http://www.mangareader.net" @staticmethod @@ -62,6 +60,8 @@ class MangareaderMangaExtractor(MangareaderBase, MangaExtractor): class MangareaderChapterExtractor(MangareaderBase, AsynchronousExtractor): """Extractor for manga-chapters from mangareader.net""" subcategory = "chapter" + directory_fmt = ["{category}", "{manga}", "c{chapter:>03}{title:?: //}"] + filename_fmt = "{manga}_c{chapter:>03}_{page:>03}.{extension}" pattern = [ (r"(?:https?://)?(?:www\.)?mangareader\.net((/[^/]+)/(\d+))"), (r"(?:https?://)?(?:www\.)?mangareader\.net(/\d+-\d+-\d+(/[^/]+)/" diff --git a/gallery_dl/extractor/mangastream.py b/gallery_dl/extractor/mangastream.py index 48d0a5f1..30d229c5 100644 --- a/gallery_dl/extractor/mangastream.py +++ b/gallery_dl/extractor/mangastream.py @@ -17,7 +17,7 @@ class MangastreamChapterExtractor(AsynchronousExtractor): """Extractor for manga-chapters from mangastream.com""" category = "mangastream" subcategory = "chapter" - directory_fmt = ["{category}", "{manga}", "c{chapter} - {title}"] + directory_fmt = ["{category}", "{manga}", "c{chapter}{title:?: //}"] filename_fmt = "{manga}_c{chapter}_{page:>03}.{extension}" pattern = [(r"(?:https?://)?(?:www\.)?(?:readms|mangastream)\.(?:com|net)/" r"r(?:ead)?/([^/]*/([^/]+)/(\d+))")]