[twitter] add extractor for direct image links (closes #1417)

pull/1431/head
Mike Fährmann 4 years ago
parent ec3d5d58a8
commit 105f3c9666
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -676,7 +676,7 @@ Consider all sites to be NSFW unless otherwise known.
<tr> <tr>
<td>Twitter</td> <td>Twitter</td>
<td>https://twitter.com/</td> <td>https://twitter.com/</td>
<td>Bookmarks, Likes, Lists, List Members, Media Timelines, Search Results, Timelines, Tweets</td> <td>Bookmarks, individual Images, Likes, Lists, List Members, Media Timelines, Search Results, Timelines, Tweets</td>
<td>Supported</td> <td>Supported</td>
</tr> </tr>
<tr> <tr>

@ -499,6 +499,34 @@ class TwitterTweetExtractor(TwitterExtractor):
return TwitterAPI(self).tweet(self.tweet_id) return TwitterAPI(self).tweet(self.tweet_id)
class TwitterImageExtractor(Extractor):
category = "twitter"
subcategory = "image"
pattern = r"https?://pbs\.twimg\.com/media/([\w-]+)(?:\?format=|\.)(\w+)"
test = (
("https://pbs.twimg.com/media/EqcpviCVoAAG-QG?format=jpg%name=orig"),
("https://pbs.twimg.com/media/EqcpviCVoAAG-QG.jpg:orig"),
)
def __init__(self, match):
Extractor.__init__(self, match)
self.id, self.fmt = match.groups()
def items(self):
base = "https://pbs.twimg.com/media/" + self.id
url = base + "." + self.fmt
base += "?format=" + self.fmt + "&name="
data = {
"filename": self.id,
"extension": self.fmt,
"_fallback": TwitterExtractor._image_fallback(base, url),
}
yield Message.Directory, data
yield Message.Url, base + "orig", data
class TwitterAPI(): class TwitterAPI():
def __init__(self, extractor): def __init__(self, extractor):

Loading…
Cancel
Save