aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/twitter.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/twitter.py')
-rw-r--r--gallery_dl/extractor/twitter.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/gallery_dl/extractor/twitter.py b/gallery_dl/extractor/twitter.py
index 4a3f6cd..568ee2e 100644
--- a/gallery_dl/extractor/twitter.py
+++ b/gallery_dl/extractor/twitter.py
@@ -41,6 +41,16 @@ class TwitterExtractor(Extractor):
self.cards = self.config("cards", False)
self._user_cache = {}
+ size = self.config("size")
+ if size is None:
+ self._size_image = "orig"
+ self._size_fallback = ("large", "medium", "small")
+ else:
+ if isinstance(size, str):
+ size = size.split(",")
+ self._size_image = size[0]
+ self._size_fallback = size[1:]
+
def items(self):
self.login()
metadata = self.metadata()
@@ -115,7 +125,7 @@ class TwitterExtractor(Extractor):
base, _, fmt = url.rpartition(".")
base += "?format=" + fmt + "&name="
files.append(text.nameext_from_url(url, {
- "url" : base + "orig",
+ "url" : base + self._size_image,
"width" : width,
"height" : height,
"_fallback": self._image_fallback(base),
@@ -123,11 +133,9 @@ class TwitterExtractor(Extractor):
else:
files.append({"url": media["media_url"]})
- @staticmethod
- def _image_fallback(base):
- yield base + "large"
- yield base + "medium"
- yield base + "small"
+ def _image_fallback(self, base):
+ for fmt in self._size_fallback:
+ yield base + fmt
def _extract_card(self, tweet, files):
card = tweet["card"]