[kemonoparty:discord] provide a 'channel_name'

pull/1971/head
Mike Fährmann 3 years ago
parent 28bdd58e6d
commit 003f25931d
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -200,7 +200,8 @@ class KemonopartyPostExtractor(KemonopartyExtractor):
class KemonopartyDiscordExtractor(KemonopartyExtractor):
"""Extractor for kemono.party discord servers"""
subcategory = "discord"
directory_fmt = ("{category}", "discord", "{server}", "{channel}")
directory_fmt = ("{category}", "discord", "{server}",
"{channel_name|channel}")
filename_fmt = "{id}_{num:>02}_{filename}.{extension}"
archive_fmt = "discord_{server}_{id}_{num}"
pattern = r"(?:https?://)?kemono\.party/discord/server/(\d+)"
@ -240,13 +241,17 @@ class KemonopartyDiscordExtractor(KemonopartyExtractor):
for channel in self.request(url).json():
url = "{}/api/discord/channel/{}".format(self.root, channel["id"])
params = {"skip": 0}
channel_name = channel["name"]
while True:
posts = self.request(url, params=params).json()
yield from posts
for post in posts:
post["channel_name"] = channel_name
yield post
if len(posts) < 25:
return
break
params["skip"] += 25

Loading…
Cancel
Save