diff --git a/utils/Sync/kazimir/YoutubeToken.py b/utils/Sync/kazimir/YoutubeToken.py index bb381a75..c6133d52 100644 --- a/utils/Sync/kazimir/YoutubeToken.py +++ b/utils/Sync/kazimir/YoutubeToken.py @@ -1,9 +1,6 @@ -import re -from urllib.parse import urlparse +from urllib.parse import urlparse, parse_qs from kazimir.Token import UrlToken, is_url -pattr = re.compile(r'([^(]|^)https?://www\.youtube\.com/watch\?\S*v=(?P[A-Za-z0-9_&=-]+)\S*') - class YoutubeToken(UrlToken): @staticmethod @@ -21,12 +18,15 @@ class YoutubeToken(UrlToken): """ - match = pattr.match(self.data) - if match: - video_id = match.group(2) - url = f'//www.youtube.com/embed/{video_id}' - return f''' -
- '''.strip() - else: + url = urlparse(self.data) + query = parse_qs(url.query) + + if 'v' not in query: return '' + + video_id = query['v'][0] + + url = f'//www.youtube.com/embed/{video_id}' + return f''' +
+ '''.strip()