summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/vsco.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-03-10 03:44:57 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2025-03-10 03:44:57 -0400
commit243d1f1beb4e4eb75a524f1aff948c47761a4f1d (patch)
tree54f7ada7698d946f410500ad14f62798ca646956 /gallery_dl/extractor/vsco.py
parent889c7b8caec8fc0b9c7a583ed1d9cfa43518fc42 (diff)
New upstream version 1.29.1.upstream/1.29.1
Diffstat (limited to 'gallery_dl/extractor/vsco.py')
-rw-r--r--gallery_dl/extractor/vsco.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/gallery_dl/extractor/vsco.py b/gallery_dl/extractor/vsco.py
index a53409c..524bd81 100644
--- a/gallery_dl/extractor/vsco.py
+++ b/gallery_dl/extractor/vsco.py
@@ -32,7 +32,11 @@ class VscoExtractor(Extractor):
yield Message.Directory, {"user": self.user}
for img in self.images():
- if not img or "responsive_url" not in img:
+ if not img:
+ continue
+ elif "playback_url" in img:
+ img = self._transform_video(img)
+ elif "responsive_url" not in img:
continue
if img["is_video"]:
@@ -118,6 +122,15 @@ class VscoExtractor(Extractor):
media["image_meta"] = media.get("imageMeta")
return media
+ @staticmethod
+ def _transform_video(media):
+ media["is_video"] = True
+ media["grid_name"] = ""
+ media["video_url"] = media["playback_url"]
+ media["responsive_url"] = media["poster_url"]
+ media["upload_date"] = media["created_date"]
+ return media
+
class VscoUserExtractor(VscoExtractor):
"""Extractor for a vsco user profile"""
@@ -322,7 +335,7 @@ class VscoVideoExtractor(VscoExtractor):
"grid_name" : "",
"upload_date" : media["createdDate"],
"responsive_url": media["posterUrl"],
- "video_url" : "ytdl:" + media.get("playbackUrl"),
+ "video_url" : media.get("playbackUrl"),
"image_meta" : None,
"width" : media["width"],
"height" : media["height"],