[hentaifoundry] add 'include' option

pull/1038/head
Mike Fährmann 4 years ago
parent ebb7737b9b
commit 0d43456323
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -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
-------------------------
=========== =====

@ -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):

Loading…
Cancel
Save