From eeb74247832950f0caf548105aea04d98f8ed008 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Wed, 19 Sep 2018 21:04:50 +0200 Subject: [PATCH] [hentaifoundry] add support for "scraps" (#110) --- gallery_dl/extractor/hentaifoundry.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gallery_dl/extractor/hentaifoundry.py b/gallery_dl/extractor/hentaifoundry.py index 4d7407a9..44e06eb3 100644 --- a/gallery_dl/extractor/hentaifoundry.py +++ b/gallery_dl/extractor/hentaifoundry.py @@ -145,6 +145,32 @@ class HentaifoundryUserExtractor(HentaifoundryExtractor): method="post", data=formdata) +class HentaifoundryScrapsExtractor(HentaifoundryUserExtractor): + """ """ + subcategory = "scraps" + pattern = [r"(?:https?://)?(?:www\.)?hentai-foundry\.com" + r"/pictures/user/([^/]+)/scraps(?:/(?:page/(\d+))?)?$"] + test = [] + + def __init__(self, match): + HentaifoundryUserExtractor.__init__(self, match) + self.artist_url += "/scraps" + + def get_job_metadata(self): + url = self.artist_url + "?enterAgree=1" + response = self.request(url, expect=(404,)) + + if response.status_code == 404: + raise exception.NotFoundError("user") + count = text.parse_int(text.extract( + response.text, 'class="active" >Scraps (', ')')[0]) + if self._skipped >= count: + raise exception.StopExtraction() + + self.set_filters() + return {"artist": self.artist, "count": count} + + class HentaifoundryImageExtractor(HentaifoundryExtractor): """Extractor for a single image from hentaifoundry.com""" subcategory = "image"