Skip to content

Commit

Permalink
[twitter] improve '"replies": "self"' (#2665)
Browse files Browse the repository at this point in the history
If a username is given in the input URL,
only download from replies by that user.
  • Loading branch information
mikf committed Jun 13, 2022
1 parent 9c8d895 commit d6c6c8a
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions gallery_dl/extractor/twitter.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ def __init__(self, match):
self.quoted = self.config("quoted", False)
self.videos = self.config("videos", True)
self.cards = self.config("cards", False)
self._user_id = None
self._user_cache = {}
self._init_sizes()

Expand Down Expand Up @@ -79,7 +80,8 @@ def items(self):
if "in_reply_to_user_id_str" in data and (
not self.replies or (
self.replies == "self" and
data["in_reply_to_user_id_str"] != data["user_id_str"]
(self._user_id or data["in_reply_to_user_id_str"]) !=
data["user_id_str"]
)
):
self.log.debug("Skipping %s (reply)", data["id_str"])
Expand Down Expand Up @@ -1031,19 +1033,23 @@ def user_by_screen_name(self, screen_name):
def _user_id_by_screen_name(self, screen_name):
if screen_name.startswith("id:"):
self._user = util.SENTINEL
return screen_name[3:]
user_id = screen_name[3:]

user = ()
try:
user = self._user = self.user_by_screen_name(screen_name)
return user["rest_id"]
except KeyError:
if "unavailable_message" in user:
raise exception.NotFoundError("{} ({})".format(
user["unavailable_message"].get("text"),
user.get("reason")), False)
else:
raise exception.NotFoundError("user")
else:
user = ()
try:
user = self._user = self.user_by_screen_name(screen_name)
user_id = user["rest_id"]
except KeyError:
if "unavailable_message" in user:
raise exception.NotFoundError("{} ({})".format(
user["unavailable_message"].get("text"),
user.get("reason")), False)
else:
raise exception.NotFoundError("user")

self.extractor._user_id = user_id
return user_id

@cache(maxage=3600)
def _guest_token(self):
Expand Down

0 comments on commit d6c6c8a

Please sign in to comment.