From c67756e187d3635342b1da454cb4a19b287b5db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Sat, 20 Nov 2021 23:36:16 +0100 Subject: [PATCH] [kemonoparty] add 'dms' option (#2008) --- docs/configuration.rst | 10 +++++++++ gallery_dl/extractor/kemonoparty.py | 35 +++++++++++++++++++++++++++-- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/docs/configuration.rst b/docs/configuration.rst index 9355cefd..06a5fac4 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -1338,6 +1338,16 @@ Description Extract ``comments`` metadata. +extractor.kemonoparty.dms +------------------------- +Type + ``bool`` +Default + ``false`` +Description + Extract a user's direct messages as ``dms`` metadata. + + extractor.kemonoparty.files --------------------------- Type diff --git a/gallery_dl/extractor/kemonoparty.py b/gallery_dl/extractor/kemonoparty.py index 35c53512..8ab2ab10 100644 --- a/gallery_dl/extractor/kemonoparty.py +++ b/gallery_dl/extractor/kemonoparty.py @@ -36,13 +36,14 @@ class KemonopartyExtractor(Extractor): find_hash = re.compile("/[0-9a-f]{2}/[0-9a-f]{2}/([0-9a-f]{64})").match generators = self._build_file_generators(self.config("files")) comments = self.config("comments") + username = dms = None if self.config("metadata"): username = text.unescape(text.extract( self.request(self.user_url).text, '"): + dms.append({ + "body": text.unescape(text.extract( + dm, '
', '
', + )[0].strip()), + "date": text.extract(dm, 'datetime="', '"')[0], + }) + return dms + class KemonopartyUserExtractor(KemonopartyExtractor): """Extractor for all posts from a kemono.party user listing""" @@ -241,6 +261,17 @@ class KemonopartyPostExtractor(KemonopartyExtractor): ("https://kemono.party/patreon/user/4158582/post/32099982", { "count": 2, }), + # DMs (#2008) + ("https://kemono.party/patreon/user/34134344/post/52245464", { + "options": (("dms", True),), + "keyword": {"dms": [{ + "body": r"re:Hi! Thank you very much for supporting the work I" + r" did in May. Here's your reward pack! I hope you fin" + r"d something you enjoy in it. :)\n\nhttps://www.media" + r"fire.com/file/\w+/Set13_tier_2.zip/file", + "date": "2021-07-31 02:47:51.327865", + }]}, + }), ("https://kemono.party/subscribestar/user/alcorart/post/184330"), )