diff --git a/utils/feedparser.py b/utils/feedparser.py index 92419bc4d..0d86db851 100644 --- a/utils/feedparser.py +++ b/utils/feedparser.py @@ -2390,7 +2390,7 @@ class _HTMLSanitizer(_BaseHTMLProcessor): 'template', 'title', 'toppadding', 'type', 'unselectable', 'usemap', 'urn', 'valign', 'value', 'variable', 'volume', 'vspace', 'vrml', 'width', 'wrap', 'xml:lang', - 'allowfullscreen']) + 'allowfullscreen', 'autoplay', 'muted', 'playsinline']) unacceptable_elements_with_end_tag = set(['script', 'applet', 'style']) diff --git a/utils/twitter_fetcher.py b/utils/twitter_fetcher.py index c00e03eb4..6137f66c2 100644 --- a/utils/twitter_fetcher.py +++ b/utils/twitter_fetcher.py @@ -227,6 +227,26 @@ class TwitterFetcher: entities += "
" % media['media_url_https'] if 'photo' not in categories: categories.add('photo') + if media['type'] == 'video': + if media.get('url') and media['url'] in tweet_text: + tweet_title = tweet_title.replace(media['url'], media['display_url']) + replacement = "%s" % (media['expanded_url'], media['display_url']) + if not replaced.get(media['url']): + tweet_text = tweet_text.replace(media['url'], replacement) + replaced[media['url']] = True + bitrate = 0 + chosen_variant = None + for variant in media['video_info']['variants']: + if not chosen_variant: + chosen_variant = variant + if variant.get('bitrate', 0) > bitrate: + bitrate = variant['bitrate'] + chosen_variant = variant + if chosen_variant: + entities += "