diff --git a/gallery_dl/extractor/vsco.py b/gallery_dl/extractor/vsco.py index fa46d179..524bd81a 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""" diff --git a/test/results/vsco.py b/test/results/vsco.py index 5eaf6a8d..ef98c4d1 100644 --- a/test/results/vsco.py +++ b/test/results/vsco.py @@ -32,11 +32,33 @@ __tests__ = ( "#url" : "https://vsco.co/missuri/gallery", "#category": ("", "vsco", "gallery"), "#class" : vsco.VscoGalleryExtractor, - "#pattern" : r"https://image(-aws.+)?\.vsco\.co/[0-9a-f/]+/[\w-]+\.\w+", + "#pattern" : r"https://image(-aws.+)?\.vsco\.co/[0-9a-f/]+/[\w-]+\.\w+|^ytdl:https://stream\.mux\.com/.+", "#range" : "1-80", "#count" : 80, }, +{ + "#url" : "https://vsco.co/shavonec/gallery", + "#comment" : "meu8 video (#7113)", + "#category": ("", "vsco", "gallery"), + "#class" : vsco.VscoGalleryExtractor, + "#pattern" : r"^ytdl:https://stream\.mux\.com/3o01XbjqTI4rkeRwPzR17H9i7VSFdWX1h\.m3u8\?token=ey.+", + "#range" : "8", + + "date" : "dt:2020-02-04 15:11:52", + "description": "Big news: 🎥 YOU CAN NOW POST VIDEOS TO VSCO ⚡️⚡️💪🏾. ⁣\n⁣\n🔗BTS from my #FashionIsActivism panel with the California African American Arts museum ✊🏾", + "extension" : "mp4", + "filename" : "3o01XbjqTI4rkeRwPzR17H9i7VSFdWX1h", + "grid" : "", + "id" : "c5eb34bb-dd13-4d7a-a09c-2a7cd719c9fa", + "meta" : {}, + "tags" : [], + "user" : "shavonec", + "video" : True, + "width" : 624, + "height" : 1232, +}, + { "#url" : "https://vsco.co/missuri/images/1", "#category": ("", "vsco", "gallery"),