[twitter] allow specifying a custom format for user results

(#1337)
This commit is contained in:
Mike Fährmann
2021-03-20 01:31:12 +01:00
parent bf241811dd
commit 2846235669
2 changed files with 26 additions and 10 deletions

View File

@@ -225,16 +225,20 @@ class TwitterExtractor(Extractor):
return cache[uid]
def _users_result(self, users):
if self.config("users") == "media":
cls = TwitterMediaExtractor
fmt = "{}/id:{}/media".format
else:
userfmt = self.config("users")
if not userfmt or userfmt == "timeline":
cls = TwitterTimelineExtractor
fmt = "{}/i/user/{}".format
fmt = (self.root + "/i/user/{rest_id}").format_map
elif userfmt == "media":
cls = TwitterMediaExtractor
fmt = (self.root + "/id:{rest_id}/media").format_map
else:
cls = None
fmt = userfmt.format_map
for user in users:
user["_extractor"] = cls
yield Message.Queue, fmt(self.root, user["rest_id"]), user
yield Message.Queue, fmt(user), user
def metadata(self):
"""Return general metadata"""