Skip to content

Commit

Permalink
[hentaifoundry] add 'include' option
Browse files Browse the repository at this point in the history
  • Loading branch information
mikf committed Sep 25, 2020
1 parent ebb7737 commit 0d43456
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 4 deletions.
16 changes: 16 additions & 0 deletions docs/configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -890,6 +890,22 @@ Description The name of the preferred animation format, which can be one of
=========== =====


extractor.hentaifoundry.include
-------------------------------
=========== =====
Type ``string`` or ``list`` of ``strings``
Default ``"gallery"``
Example ``"scraps,favorite"`` or ``["scraps", "favorite"]``
Description A (comma-separated) list of subcategories to include
when processing a user profile.

Possible values are
``"gallery"``, ``"scraps"``, ``"favorite"``.

You can use ``"all"`` instead of listing all values separately.
=========== =====


extractor.hitomi.metadata
-------------------------
=========== =====
Expand Down
27 changes: 23 additions & 4 deletions gallery_dl/extractor/hentaifoundry.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,19 +127,38 @@ class HentaifoundryUserExtractor(HentaifoundryExtractor):
"""Extractor for all images of a hentai-foundry-user"""
subcategory = "user"
pattern = (r"(?:https?://)?(?:www\.)?hentai-foundry\.com"
r"/(?:pictures/user/([^/]+)(?:/page/(\d+))?/?$"
r"|user/([^/]+)/profile)")
r"/user/([^/]+)/profile")
test = ("https://www.hentai-foundry.com/user/Tenpura/profile",)

def __init__(self, match):
HentaifoundryExtractor.__init__(self, match, match.group(1))

def items(self):
user = "/user/" + self.user + "/"
return self._dispatch_extractors((
(HentaifoundryGalleryExtractor ,
self.root + "/pictures" + user),
(HentaifoundryScrapsExtractor ,
self.root + "/pictures" + user + "scraps"),
(HentaifoundryFavoriteExtractor,
self.root + user + "faves/pictures"),
), ("gallery",))


class HentaifoundryGalleryExtractor(HentaifoundryExtractor):
subcategory = "gallery"
pattern = (r"(?:https?://)?(?:www\.)?hentai-foundry\.com"
r"/pictures/user/([^/]+)(?:/page/(\d+))?/?$")
test = (
("https://www.hentai-foundry.com/pictures/user/Tenpura", {
"url": "ebbc981a85073745e3ca64a0f2ab31fab967fc28",
}),
("https://www.hentai-foundry.com/pictures/user/Tenpura/page/3"),
("https://www.hentai-foundry.com/user/Tenpura/profile"),
)

def __init__(self, match):
HentaifoundryExtractor.__init__(
self, match, match.group(1) or match.group(3), match.group(2))
self, match, match.group(1), match.group(2))
self.page_url = "{}/pictures/user/{}".format(self.root, self.user)

def get_job_metadata(self):
Expand Down

0 comments on commit 0d43456

Please sign in to comment.