summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/dynastyscans.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/dynastyscans.py')
-rw-r--r--gallery_dl/extractor/dynastyscans.py25
1 files changed, 21 insertions, 4 deletions
diff --git a/gallery_dl/extractor/dynastyscans.py b/gallery_dl/extractor/dynastyscans.py
index 4541d25..ab1044f 100644
--- a/gallery_dl/extractor/dynastyscans.py
+++ b/gallery_dl/extractor/dynastyscans.py
@@ -8,7 +8,7 @@
"""Extractors for https://dynasty-scans.com/"""
-from .common import ChapterExtractor, Extractor, Message
+from .common import ChapterExtractor, MangaExtractor, Extractor, Message
from .. import text
import json
import re
@@ -48,12 +48,12 @@ class DynastyscansChapterExtractor(DynastyscansBase, ChapterExtractor):
(("http://dynasty-scans.com/chapters/"
"hitoribocchi_no_oo_seikatsu_ch33"), {
"url": "dce64e8c504118f1ab4135c00245ea12413896cb",
- "keyword": "1564965671ac69bb7fbc340538397f6bd0aa269b",
+ "keyword": "b67599703c27316a2fe4f11c3232130a1904e032",
}),
(("http://dynasty-scans.com/chapters/"
"new_game_the_spinoff_special_13"), {
"url": "dbe5bbb74da2edcfb1832895a484e2a40bc8b538",
- "keyword": "22b35029bc65d6d95db2e2c147b0a37f2d290f29",
+ "keyword": "6b674eb3a274999153f6be044973b195008ced2f",
}),
)
@@ -76,7 +76,8 @@ class DynastyscansChapterExtractor(DynastyscansBase, ChapterExtractor):
"author" : text.remove_html(author),
"group" : (text.remove_html(group) or
text.extract(group, ' alt="', '"')[0] or ""),
- "date" : extr('"icon-calendar"></i> ', '<'),
+ "date" : text.parse_datetime(extr(
+ '"icon-calendar"></i> ', '<'), "%b %d, %Y"),
"lang" : "en",
"language": "English",
}
@@ -89,6 +90,22 @@ class DynastyscansChapterExtractor(DynastyscansBase, ChapterExtractor):
]
+class DynastyscansMangaExtractor(DynastyscansBase, MangaExtractor):
+ chapterclass = DynastyscansChapterExtractor
+ reverse = False
+ pattern = BASE_PATTERN + r"(/series/[^/?#]+)"
+ test = ("https://dynasty-scans.com/series/hitoribocchi_no_oo_seikatsu", {
+ "pattern": DynastyscansChapterExtractor.pattern,
+ "count": ">= 100",
+ })
+
+ def chapters(self, page):
+ return [
+ (self.root + path, {})
+ for path in text.extract_iter(page, '<dd>\n<a href="', '"')
+ ]
+
+
class DynastyscansSearchExtractor(DynastyscansBase, Extractor):
"""Extrator for image search results on dynasty-scans.com"""
subcategory = "search"