From 65143121266a0f32b55da933efbe32c49007397f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Thu, 24 Sep 2020 23:26:33 +0200 Subject: [PATCH] [nijie] add 'include' option (closes #1018) --- docs/configuration.rst | 15 +++++++++++++++ gallery_dl/extractor/nijie.py | 23 +++++++++++++++++++---- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/docs/configuration.rst b/docs/configuration.rst index ae8f1d632f..d72f1d8b8e 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -1005,6 +1005,21 @@ Description A (comma-separated) list of subcategories to include =========== ===== +extractor.nijie.include +---------------------------- +=========== ===== +Type ``string`` or ``list`` of ``strings`` +Default ``"illustration,doujin"`` +Description A (comma-separated) list of subcategories to include + when processing a user profile. + + Possible values are + ``"illustration"``, ``"doujin"``, ``"favorite"``. + + You can use ``"all"`` instead of listing all values separately. +=========== ===== + + extractor.oauth.browser ----------------------- =========== ===== diff --git a/gallery_dl/extractor/nijie.py b/gallery_dl/extractor/nijie.py index aae17a384c..2394acff2e 100644 --- a/gallery_dl/extractor/nijie.py +++ b/gallery_dl/extractor/nijie.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2015-2019 Mike Fährmann +# Copyright 2015-2020 Mike Fährmann # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -127,9 +127,25 @@ def _pagination(self, path): class NijieUserExtractor(NijieExtractor): - """Extractor for works of a nijie-user""" + """Extractor for nijie user profiles""" subcategory = "user" - pattern = BASE_PATTERN + r"/members(?:_illust)?\.php\?id=(\d+)" + cookiedomain = None + pattern = BASE_PATTERN + r"/members\.php\?id=(\d+)" + test = ("https://nijie.info/members.php?id=44",) + + def items(self): + base = "{}/{{}}.php?id={}".format(self.root, self.user_id) + return self._dispatch_extractors(( + (NijieIllustrationExtractor, base.format("members_illust")), + (NijieDoujinExtractor , base.format("members_dojin")), + (NijieFavoriteExtractor , base.format("user_like_illust_view")), + ), ("illustration", "doujin")) + + +class NijieIllustrationExtractor(NijieExtractor): + """Extractor for all illustrations of a nijie-user""" + subcategory = "illustration" + pattern = BASE_PATTERN + r"/members_illust\.php\?id=(\d+)" test = ( ("https://nijie.info/members_illust.php?id=44", { "url": "66c4ff94c6e77c0765dd88f2d8c663055fda573e", @@ -152,7 +168,6 @@ class NijieUserExtractor(NijieExtractor): ("https://nijie.info/members_illust.php?id=43", { "exception": exception.NotFoundError, }), - ("https://nijie.info/members.php?id=44"), ) def image_ids(self):