From 93a945062dce5fbbd47bd76a977fc53e29aee3c9 Mon Sep 17 00:00:00 2001 From: jeancf Date: Mon, 17 Jul 2023 16:39:19 +0200 Subject: [PATCH] Add video download fix --- twoot.py | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/twoot.py b/twoot.py index c9c97b3..1c85829 100755 --- a/twoot.py +++ b/twoot.py @@ -668,29 +668,32 @@ def process_attachments(nitter_url, attachments_container, status_id, author_acc # Download twitter video vid_in_tweet = False - vid_class = attachments_container.find('div', class_='video-container') - if vid_class is not None: + vid_container = attachments_container.find('div', class_='video-container') + if vid_container is not None: if TOML['options']['upload_videos']: logging.debug("downloading video from twitter") import youtube_dl - video_path = f"{author_account}/status/{status_id}" - video_file = urljoin('https://twitter.com', video_path) - ydl_opts = { - 'outtmpl': "output/" + TOML['config']['twitter_account'] + "/" + status_id + "/%(id)s.%(ext)s", - 'format': "best[width<=500]", - 'socket_timeout': 60, - 'quiet': True, - } + video_path = vid_container.source['src'] + if video_path is not None: + video_file = urljoin(nitter_url, video_path) + ydl_opts = { + 'outtmpl': "output/" + TOML['config']['twitter_account'] + "/" + status_id + "/%(id)s.%(ext)s", + # 'format': "best[width<=500]", + 'socket_timeout': 60, + 'quiet': True, + } - with youtube_dl.YoutubeDL(ydl_opts) as ydl: - try: - ydl.download([video_file]) - except Exception as e: - logging.warning('Error downloading twitter video: ' + str(e)) - vid_in_tweet = True - else: - logging.debug('downloaded twitter video from attachments') + with youtube_dl.YoutubeDL(ydl_opts) as ydl: + try: + ydl.download([video_file]) + except Exception as e: + logging.warning('Error downloading twitter video: ' + str(e)) + vid_in_tweet = True + else: + logging.debug('downloaded twitter video from attachments') + else: + vid_in_tweet = True return pics, vid_in_tweet