1
0
mirror of https://code.hackerspace.pl/q3k/youtube-dl synced 2025-03-15 22:47:18 +00:00

Fix "invalid escape sequences" error on Python 3.6

This commit is contained in:
Yen Chi Hsuan 2017-01-02 20:08:07 +08:00
parent 24d8a75982
commit ec85ded83c
No known key found for this signature in database
GPG Key ID: 7F902A182457CA23
283 changed files with 538 additions and 538 deletions

View File

@ -961,7 +961,7 @@ After you have ensured this site is distributing its content legally, you can fo
'id': '42', 'id': '42',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Video title goes here', 'title': 'Video title goes here',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
# TODO more properties, either as: # TODO more properties, either as:
# * A value # * A value
# * MD5 checksum; start the string with md5: # * MD5 checksum; start the string with md5:

View File

@ -1339,7 +1339,7 @@ class YoutubeDL(object):
format['format_id'] = compat_str(i) format['format_id'] = compat_str(i)
else: else:
# Sanitize format_id from characters used in format selector expression # Sanitize format_id from characters used in format selector expression
format['format_id'] = re.sub('[\s,/+\[\]()]', '_', format['format_id']) format['format_id'] = re.sub(r'[\s,/+\[\]()]', '_', format['format_id'])
format_id = format['format_id'] format_id = format['format_id']
if format_id not in formats_dict: if format_id not in formats_dict:
formats_dict[format_id] = [] formats_dict[format_id] = []

View File

@ -2344,7 +2344,7 @@ try:
from urllib.parse import unquote_plus as compat_urllib_parse_unquote_plus from urllib.parse import unquote_plus as compat_urllib_parse_unquote_plus
except ImportError: # Python 2 except ImportError: # Python 2
_asciire = (compat_urllib_parse._asciire if hasattr(compat_urllib_parse, '_asciire') _asciire = (compat_urllib_parse._asciire if hasattr(compat_urllib_parse, '_asciire')
else re.compile('([\x00-\x7f]+)')) else re.compile(r'([\x00-\x7f]+)'))
# HACK: The following are the correct unquote_to_bytes, unquote and unquote_plus # HACK: The following are the correct unquote_to_bytes, unquote and unquote_plus
# implementations from cpython 3.4.3's stdlib. Python 2's version # implementations from cpython 3.4.3's stdlib. Python 2's version

View File

@ -23,7 +23,7 @@ class AbcNewsVideoIE(AMPIE):
'title': '\'This Week\' Exclusive: Iran\'s Foreign Minister Zarif', 'title': '\'This Week\' Exclusive: Iran\'s Foreign Minister Zarif',
'description': 'George Stephanopoulos goes one-on-one with Iranian Foreign Minister Dr. Javad Zarif.', 'description': 'George Stephanopoulos goes one-on-one with Iranian Foreign Minister Dr. Javad Zarif.',
'duration': 180, 'duration': 180,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'params': { 'params': {
# m3u8 download # m3u8 download
@ -59,7 +59,7 @@ class AbcNewsIE(InfoExtractor):
'display_id': 'dramatic-video-rare-death-job-america', 'display_id': 'dramatic-video-rare-death-job-america',
'title': 'Occupational Hazards', 'title': 'Occupational Hazards',
'description': 'Nightline investigates the dangers that lurk at various jobs.', 'description': 'Nightline investigates the dangers that lurk at various jobs.',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20100428', 'upload_date': '20100428',
'timestamp': 1272412800, 'timestamp': 1272412800,
}, },

View File

@ -23,7 +23,7 @@ class ABCOTVSIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'East Bay museum celebrates vintage synthesizers', 'title': 'East Bay museum celebrates vintage synthesizers',
'description': 'md5:a4f10fb2f2a02565c1749d4adbab4b10', 'description': 'md5:a4f10fb2f2a02565c1749d4adbab4b10',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1421123075, 'timestamp': 1421123075,
'upload_date': '20150113', 'upload_date': '20150113',
'uploader': 'Jonathan Bloom', 'uploader': 'Jonathan Bloom',

View File

@ -30,7 +30,7 @@ class AdobeTVIE(AdobeTVBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Quick Tip - How to Draw a Circle Around an Object in Photoshop', 'title': 'Quick Tip - How to Draw a Circle Around an Object in Photoshop',
'description': 'md5:99ec318dc909d7ba2a1f2b038f7d2311', 'description': 'md5:99ec318dc909d7ba2a1f2b038f7d2311',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'upload_date': '20110914', 'upload_date': '20110914',
'duration': 60, 'duration': 60,
'view_count': int, 'view_count': int,

View File

@ -20,7 +20,7 @@ class AirMozillaIE(InfoExtractor):
'id': '6x4q2w', 'id': '6x4q2w',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Privacy Lab - a meetup for privacy minded people in San Francisco', 'title': 'Privacy Lab - a meetup for privacy minded people in San Francisco',
'thumbnail': 're:https?://vid\.ly/(?P<id>[0-9a-z-]+)/poster', 'thumbnail': r're:https?://vid\.ly/(?P<id>[0-9a-z-]+)/poster',
'description': 'Brings together privacy professionals and others interested in privacy at for-profits, non-profits, and NGOs in an effort to contribute to the state of the ecosystem...', 'description': 'Brings together privacy professionals and others interested in privacy at for-profits, non-profits, and NGOs in an effort to contribute to the state of the ecosystem...',
'timestamp': 1422487800, 'timestamp': 1422487800,
'upload_date': '20150128', 'upload_date': '20150128',

View File

@ -21,7 +21,7 @@ class AllocineIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Astérix - Le Domaine des Dieux Teaser VF', 'title': 'Astérix - Le Domaine des Dieux Teaser VF',
'description': 'md5:4a754271d9c6f16c72629a8a993ee884', 'description': 'md5:4a754271d9c6f16c72629a8a993ee884',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
}, { }, {
'url': 'http://www.allocine.fr/video/player_gen_cmedia=19540403&cfilm=222257.html', 'url': 'http://www.allocine.fr/video/player_gen_cmedia=19540403&cfilm=222257.html',
@ -32,7 +32,7 @@ class AllocineIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Planes 2 Bande-annonce VF', 'title': 'Planes 2 Bande-annonce VF',
'description': 'Regardez la bande annonce du film Planes 2 (Planes 2 Bande-annonce VF). Planes 2, un film de Roberts Gannaway', 'description': 'Regardez la bande annonce du film Planes 2 (Planes 2 Bande-annonce VF). Planes 2, un film de Roberts Gannaway',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
}, { }, {
'url': 'http://www.allocine.fr/video/player_gen_cmedia=19544709&cfilm=181290.html', 'url': 'http://www.allocine.fr/video/player_gen_cmedia=19544709&cfilm=181290.html',
@ -43,7 +43,7 @@ class AllocineIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Dragons 2 - Bande annonce finale VF', 'title': 'Dragons 2 - Bande annonce finale VF',
'description': 'md5:6cdd2d7c2687d4c6aafe80a35e17267a', 'description': 'md5:6cdd2d7c2687d4c6aafe80a35e17267a',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
}, { }, {
'url': 'http://www.allocine.fr/video/video-19550147/', 'url': 'http://www.allocine.fr/video/video-19550147/',
@ -53,7 +53,7 @@ class AllocineIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Faux Raccord N°123 - Les gaffes de Cliffhanger', 'title': 'Faux Raccord N°123 - Les gaffes de Cliffhanger',
'description': 'md5:bc734b83ffa2d8a12188d9eb48bb6354', 'description': 'md5:bc734b83ffa2d8a12188d9eb48bb6354',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
}] }]

View File

@ -19,7 +19,7 @@ class AlphaPornoIE(InfoExtractor):
'display_id': 'sensual-striptease-porn-with-samantha-alexandra', 'display_id': 'sensual-striptease-porn-with-samantha-alexandra',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Sensual striptease porn with Samantha Alexandra', 'title': 'Sensual striptease porn with Samantha Alexandra',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'timestamp': 1418694611, 'timestamp': 1418694611,
'upload_date': '20141216', 'upload_date': '20141216',
'duration': 387, 'duration': 387,

View File

@ -253,7 +253,7 @@ class ARDIE(InfoExtractor):
'duration': 2600, 'duration': 2600,
'title': 'Die Story im Ersten: Mission unter falscher Flagge', 'title': 'Die Story im Ersten: Mission unter falscher Flagge',
'upload_date': '20140804', 'upload_date': '20140804',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'skip': 'HTTP Error 404: Not Found', 'skip': 'HTTP Error 404: Not Found',
} }

View File

@ -30,7 +30,7 @@ class AtresPlayerIE(InfoExtractor):
'title': 'Especial Solidario de Nochebuena', 'title': 'Especial Solidario de Nochebuena',
'description': 'md5:e2d52ff12214fa937107d21064075bf1', 'description': 'md5:e2d52ff12214fa937107d21064075bf1',
'duration': 5527.6, 'duration': 5527.6,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'skip': 'This video is only available for registered users' 'skip': 'This video is only available for registered users'
}, },
@ -43,7 +43,7 @@ class AtresPlayerIE(InfoExtractor):
'title': 'David Bustamante', 'title': 'David Bustamante',
'description': 'md5:f33f1c0a05be57f6708d4dd83a3b81c6', 'description': 'md5:f33f1c0a05be57f6708d4dd83a3b81c6',
'duration': 1439.0, 'duration': 1439.0,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {

View File

@ -14,7 +14,7 @@ class ATTTechChannelIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 'AT&T Archives : The UNIX System: Making Computers Easier to Use', 'title': 'AT&T Archives : The UNIX System: Making Computers Easier to Use',
'description': 'A 1982 film about UNIX is the foundation for software in use around Bell Labs and AT&T.', 'description': 'A 1982 film about UNIX is the foundation for software in use around Bell Labs and AT&T.',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20140127', 'upload_date': '20140127',
}, },
'params': { 'params': {

View File

@ -17,7 +17,7 @@ class AudioBoomIE(InfoExtractor):
'description': 'Guest: Nate Davis - NFL free agency, Guest: Stan Gans', 'description': 'Guest: Nate Davis - NFL free agency, Guest: Stan Gans',
'duration': 2245.72, 'duration': 2245.72,
'uploader': 'Steve Czaban', 'uploader': 'Steve Czaban',
'uploader_url': 're:https?://(?:www\.)?audioboom\.com/channel/steveczabanyahoosportsradio', 'uploader_url': r're:https?://(?:www\.)?audioboom\.com/channel/steveczabanyahoosportsradio',
} }
}, { }, {
'url': 'https://audioboom.com/posts/4279833-3-09-2016-czaban-hour-3?t=0', 'url': 'https://audioboom.com/posts/4279833-3-09-2016-czaban-hour-3?t=0',

View File

@ -21,7 +21,7 @@ class AzubuIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '2014 HOT6 CUP LAST BIG MATCH Ro8 Day 1', 'title': '2014 HOT6 CUP LAST BIG MATCH Ro8 Day 1',
'description': 'md5:d06bdea27b8cc4388a90ad35b5c66c01', 'description': 'md5:d06bdea27b8cc4388a90ad35b5c66c01',
'thumbnail': 're:^https?://.*\.jpe?g', 'thumbnail': r're:^https?://.*\.jpe?g',
'timestamp': 1417523507.334, 'timestamp': 1417523507.334,
'upload_date': '20141202', 'upload_date': '20141202',
'duration': 9988.7, 'duration': 9988.7,
@ -38,7 +38,7 @@ class AzubuIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Fnatic at Worlds 2014: Toyz - "I love Rekkles, he has amazing mechanics"', 'title': 'Fnatic at Worlds 2014: Toyz - "I love Rekkles, he has amazing mechanics"',
'description': 'md5:4a649737b5f6c8b5c5be543e88dc62af', 'description': 'md5:4a649737b5f6c8b5c5be543e88dc62af',
'thumbnail': 're:^https?://.*\.jpe?g', 'thumbnail': r're:^https?://.*\.jpe?g',
'timestamp': 1410530893.320, 'timestamp': 1410530893.320,
'upload_date': '20140912', 'upload_date': '20140912',
'duration': 172.385, 'duration': 172.385,

View File

@ -17,7 +17,7 @@ class BetIE(MTVServicesInfoExtractor):
'description': 'President Obama urges persistence in confronting racism and bias.', 'description': 'President Obama urges persistence in confronting racism and bias.',
'duration': 1534, 'duration': 1534,
'upload_date': '20141208', 'upload_date': '20141208',
'thumbnail': 're:(?i)^https?://.*\.jpg$', 'thumbnail': r're:(?i)^https?://.*\.jpg$',
'subtitles': { 'subtitles': {
'en': 'mincount:2', 'en': 'mincount:2',
} }
@ -37,7 +37,7 @@ class BetIE(MTVServicesInfoExtractor):
'description': 'A BET News special.', 'description': 'A BET News special.',
'duration': 1696, 'duration': 1696,
'upload_date': '20141125', 'upload_date': '20141125',
'thumbnail': 're:(?i)^https?://.*\.jpg$', 'thumbnail': r're:(?i)^https?://.*\.jpg$',
'subtitles': { 'subtitles': {
'en': 'mincount:2', 'en': 'mincount:2',
} }

View File

@ -19,7 +19,7 @@ class BildIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Das können die neuen iPads', 'title': 'Das können die neuen iPads',
'description': 'md5:a4058c4fa2a804ab59c00d7244bbf62f', 'description': 'md5:a4058c4fa2a804ab59c00d7244bbf62f',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 196, 'duration': 196,
} }
} }

View File

@ -28,7 +28,7 @@ class BiliBiliIE(InfoExtractor):
'duration': 308.315, 'duration': 308.315,
'timestamp': 1398012660, 'timestamp': 1398012660,
'upload_date': '20140420', 'upload_date': '20140420',
'thumbnail': 're:^https?://.+\.jpg', 'thumbnail': r're:^https?://.+\.jpg',
'uploader': '菊子桑', 'uploader': '菊子桑',
'uploader_id': '156160', 'uploader_id': '156160',
}, },

View File

@ -19,7 +19,7 @@ class BioBioChileTVIE(InfoExtractor):
'id': 'sobre-camaras-y-camarillas-parlamentarias', 'id': 'sobre-camaras-y-camarillas-parlamentarias',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Sobre Cámaras y camarillas parlamentarias', 'title': 'Sobre Cámaras y camarillas parlamentarias',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'Fernando Atria', 'uploader': 'Fernando Atria',
}, },
'skip': 'URL expired and redirected to http://www.biobiochile.cl/portada/bbtv/index.html', 'skip': 'URL expired and redirected to http://www.biobiochile.cl/portada/bbtv/index.html',
@ -31,7 +31,7 @@ class BioBioChileTVIE(InfoExtractor):
'id': 'natalia-valdebenito-repasa-a-diputado-hasbun-paso-a-la-categoria-de-hablar-brutalidades', 'id': 'natalia-valdebenito-repasa-a-diputado-hasbun-paso-a-la-categoria-de-hablar-brutalidades',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Natalia Valdebenito repasa a diputado Hasbún: Pasó a la categoría de hablar brutalidades', 'title': 'Natalia Valdebenito repasa a diputado Hasbún: Pasó a la categoría de hablar brutalidades',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'Piangella Obrador', 'uploader': 'Piangella Obrador',
}, },
'params': { 'params': {

View File

@ -16,7 +16,7 @@ class BYUtvIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Season 5 Episode 5', 'title': 'Season 5 Episode 5',
'description': 'md5:e07269172baff037f8e8bf9956bc9747', 'description': 'md5:e07269172baff037f8e8bf9956bc9747',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 1486.486, 'duration': 1486.486,
}, },
'params': { 'params': {

View File

@ -26,7 +26,7 @@ class CamdemyIE(InfoExtractor):
'id': '5181', 'id': '5181',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Ch1-1 Introduction, Signals (02-23-2012)', 'title': 'Ch1-1 Introduction, Signals (02-23-2012)',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'creator': 'ss11spring', 'creator': 'ss11spring',
'duration': 1591, 'duration': 1591,
'upload_date': '20130114', 'upload_date': '20130114',
@ -41,7 +41,7 @@ class CamdemyIE(InfoExtractor):
'id': '13885', 'id': '13885',
'ext': 'mp4', 'ext': 'mp4',
'title': 'EverCam + Camdemy QuickStart', 'title': 'EverCam + Camdemy QuickStart',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'md5:2a9f989c2b153a2342acee579c6e7db6', 'description': 'md5:2a9f989c2b153a2342acee579c6e7db6',
'creator': 'evercam', 'creator': 'evercam',
'duration': 318, 'duration': 318,

View File

@ -17,7 +17,7 @@ class CanvasIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'De afspraak veilt voor de Warmste Week', 'title': 'De afspraak veilt voor de Warmste Week',
'description': 'md5:24cb860c320dc2be7358e0e5aa317ba6', 'description': 'md5:24cb860c320dc2be7358e0e5aa317ba6',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 49.02, 'duration': 49.02,
} }
}, { }, {
@ -29,7 +29,7 @@ class CanvasIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Pieter 0167', 'title': 'Pieter 0167',
'description': 'md5:943cd30f48a5d29ba02c3a104dc4ec4e', 'description': 'md5:943cd30f48a5d29ba02c3a104dc4ec4e',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 2553.08, 'duration': 2553.08,
'subtitles': { 'subtitles': {
'nl': [{ 'nl': [{
@ -48,7 +48,7 @@ class CanvasIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Herbekijk Sorry voor alles', 'title': 'Herbekijk Sorry voor alles',
'description': 'md5:8bb2805df8164e5eb95d6a7a29dc0dd3', 'description': 'md5:8bb2805df8164e5eb95d6a7a29dc0dd3',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 3788.06, 'duration': 3788.06,
}, },
'params': { 'params': {

View File

@ -21,7 +21,7 @@ class CarambaTVIE(InfoExtractor):
'id': '191910501', 'id': '191910501',
'ext': 'mp4', 'ext': 'mp4',
'title': '[BadComedian] - Разборка в Маниле (Абсолютный обзор)', 'title': '[BadComedian] - Разборка в Маниле (Абсолютный обзор)',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 2678.31, 'duration': 2678.31,
}, },
}, { }, {
@ -69,7 +69,7 @@ class CarambaTVPageIE(InfoExtractor):
'id': '475222', 'id': '475222',
'ext': 'flv', 'ext': 'flv',
'title': '[BadComedian] - Разборка в Маниле (Абсолютный обзор)', 'title': '[BadComedian] - Разборка в Маниле (Абсолютный обзор)',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
# duration reported by videomore is incorrect # duration reported by videomore is incorrect
'duration': int, 'duration': int,
}, },

View File

@ -39,7 +39,7 @@ class CBSNewsIE(CBSIE):
'upload_date': '20140404', 'upload_date': '20140404',
'timestamp': 1396650660, 'timestamp': 1396650660,
'uploader': 'CBSI-NEW', 'uploader': 'CBSI-NEW',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 205, 'duration': 205,
'subtitles': { 'subtitles': {
'en': [{ 'en': [{

View File

@ -19,7 +19,7 @@ class CCCIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Introduction to Processor Design', 'title': 'Introduction to Processor Design',
'description': 'md5:df55f6d073d4ceae55aae6f2fd98a0ac', 'description': 'md5:df55f6d073d4ceae55aae6f2fd98a0ac',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20131228', 'upload_date': '20131228',
'timestamp': 1388188800, 'timestamp': 1388188800,
'duration': 3710, 'duration': 3710,
@ -32,7 +32,7 @@ class CCCIE(InfoExtractor):
def _real_extract(self, url): def _real_extract(self, url):
display_id = self._match_id(url) display_id = self._match_id(url)
webpage = self._download_webpage(url, display_id) webpage = self._download_webpage(url, display_id)
event_id = self._search_regex("data-id='(\d+)'", webpage, 'event id') event_id = self._search_regex(r"data-id='(\d+)'", webpage, 'event id')
event_data = self._download_json('https://media.ccc.de/public/events/%s' % event_id, event_id) event_data = self._download_json('https://media.ccc.de/public/events/%s' % event_id, event_id)
formats = [] formats = []

View File

@ -24,7 +24,7 @@ class CDAIE(InfoExtractor):
'height': 720, 'height': 720,
'title': 'Oto dlaczego przed zakrętem należy zwolnić.', 'title': 'Oto dlaczego przed zakrętem należy zwolnić.',
'description': 'md5:269ccd135d550da90d1662651fcb9772', 'description': 'md5:269ccd135d550da90d1662651fcb9772',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'average_rating': float, 'average_rating': float,
'duration': 39 'duration': 39
} }
@ -36,7 +36,7 @@ class CDAIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Lądowanie na lotnisku na Maderze', 'title': 'Lądowanie na lotnisku na Maderze',
'description': 'md5:60d76b71186dcce4e0ba6d4bbdb13e1a', 'description': 'md5:60d76b71186dcce4e0ba6d4bbdb13e1a',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'crash404', 'uploader': 'crash404',
'view_count': int, 'view_count': int,
'average_rating': float, 'average_rating': float,

View File

@ -25,7 +25,7 @@ class CeskaTelevizeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Hyde Park Civilizace', 'title': 'Hyde Park Civilizace',
'description': 'md5:fe93f6eda372d150759d11644ebbfb4a', 'description': 'md5:fe93f6eda372d150759d11644ebbfb4a',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 3350, 'duration': 3350,
}, },
'params': { 'params': {
@ -39,7 +39,7 @@ class CeskaTelevizeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Hyde Park Civilizace: Bonus 01 - En', 'title': 'Hyde Park Civilizace: Bonus 01 - En',
'description': 'English Subtittles', 'description': 'English Subtittles',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 81.3, 'duration': 81.3,
}, },
'params': { 'params': {
@ -52,7 +52,7 @@ class CeskaTelevizeIE(InfoExtractor):
'info_dict': { 'info_dict': {
'id': 402, 'id': 402,
'ext': 'mp4', 'ext': 'mp4',
'title': 're:^ČT Sport \d{4}-\d{2}-\d{2} \d{2}:\d{2}$', 'title': r're:^ČT Sport \d{4}-\d{2}-\d{2} \d{2}:\d{2}$',
'is_live': True, 'is_live': True,
}, },
'params': { 'params': {
@ -80,7 +80,7 @@ class CeskaTelevizeIE(InfoExtractor):
'id': '61924494877068022', 'id': '61924494877068022',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Queer: Bogotart (Queer)', 'title': 'Queer: Bogotart (Queer)',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 1558.3, 'duration': 1558.3,
}, },
}], }],

View File

@ -31,7 +31,7 @@ class Channel9IE(InfoExtractor):
'title': 'Developer Kick-Off Session: Stuff We Love', 'title': 'Developer Kick-Off Session: Stuff We Love',
'description': 'md5:c08d72240b7c87fcecafe2692f80e35f', 'description': 'md5:c08d72240b7c87fcecafe2692f80e35f',
'duration': 4576, 'duration': 4576,
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'session_code': 'KOS002', 'session_code': 'KOS002',
'session_day': 'Day 1', 'session_day': 'Day 1',
'session_room': 'Arena 1A', 'session_room': 'Arena 1A',
@ -47,7 +47,7 @@ class Channel9IE(InfoExtractor):
'title': 'Self-service BI with Power BI - nuclear testing', 'title': 'Self-service BI with Power BI - nuclear testing',
'description': 'md5:d1e6ecaafa7fb52a2cacdf9599829f5b', 'description': 'md5:d1e6ecaafa7fb52a2cacdf9599829f5b',
'duration': 1540, 'duration': 1540,
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'authors': ['Mike Wilmot'], 'authors': ['Mike Wilmot'],
}, },
}, { }, {
@ -59,7 +59,7 @@ class Channel9IE(InfoExtractor):
'title': 'Ranges for the Standard Library', 'title': 'Ranges for the Standard Library',
'description': 'md5:2e6b4917677af3728c5f6d63784c4c5d', 'description': 'md5:2e6b4917677af3728c5f6d63784c4c5d',
'duration': 5646, 'duration': 5646,
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
'params': { 'params': {
'skip_download': True, 'skip_download': True,

View File

@ -13,7 +13,7 @@ class CharlieRoseIE(InfoExtractor):
'id': '27996', 'id': '27996',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Remembering Zaha Hadid', 'title': 'Remembering Zaha Hadid',
'thumbnail': 're:^https?://.*\.jpg\?\d+', 'thumbnail': r're:^https?://.*\.jpg\?\d+',
'description': 'We revisit past conversations with Zaha Hadid, in memory of the world renowned Iraqi architect.', 'description': 'We revisit past conversations with Zaha Hadid, in memory of the world renowned Iraqi architect.',
'subtitles': { 'subtitles': {
'en': [{ 'en': [{

View File

@ -30,7 +30,7 @@ class CliphunterIE(InfoExtractor):
'id': '1012420', 'id': '1012420',
'ext': 'flv', 'ext': 'flv',
'title': 'Fun Jynx Maze solo', 'title': 'Fun Jynx Maze solo',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'age_limit': 18, 'age_limit': 18,
}, },
'skip': 'Video gone', 'skip': 'Video gone',
@ -41,7 +41,7 @@ class CliphunterIE(InfoExtractor):
'id': '2019449', 'id': '2019449',
'ext': 'mp4', 'ext': 'mp4',
'title': 'ShesNew - My booty girlfriend, Victoria Paradice\'s pussy filled with jizz', 'title': 'ShesNew - My booty girlfriend, Victoria Paradice\'s pussy filled with jizz',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'age_limit': 18, 'age_limit': 18,
}, },
}] }]

View File

@ -18,7 +18,7 @@ class ClipsyndicateIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Brick Briscoe', 'title': 'Brick Briscoe',
'duration': 612, 'duration': 612,
'thumbnail': 're:^https?://.+\.jpg', 'thumbnail': r're:^https?://.+\.jpg',
}, },
}, { }, {
'url': 'http://chic.clipsyndicate.com/video/play/5844117/shark_attack', 'url': 'http://chic.clipsyndicate.com/video/play/5844117/shark_attack',

View File

@ -19,7 +19,7 @@ class ClubicIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Clubic Week 2.0 : le FBI se lance dans la photo d\u0092identité', 'title': 'Clubic Week 2.0 : le FBI se lance dans la photo d\u0092identité',
'description': 're:Gueule de bois chez Nokia. Le constructeur a indiqué cette.*', 'description': 're:Gueule de bois chez Nokia. Le constructeur a indiqué cette.*',
'thumbnail': 're:^http://img\.clubic\.com/.*\.jpg$', 'thumbnail': r're:^http://img\.clubic\.com/.*\.jpg$',
} }
}, { }, {
'url': 'http://www.clubic.com/video/video-clubic-week-2-0-apple-iphone-6s-et-plus-mais-surtout-le-pencil-469792.html', 'url': 'http://www.clubic.com/video/video-clubic-week-2-0-apple-iphone-6s-et-plus-mais-surtout-le-pencil-469792.html',

View File

@ -21,7 +21,7 @@ class CollegeRamaIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Een nieuwe wereld: waarden, bewustzijn en techniek van de mensheid 2.0.', 'title': 'Een nieuwe wereld: waarden, bewustzijn en techniek van de mensheid 2.0.',
'description': '', 'description': '',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 7713.088, 'duration': 7713.088,
'timestamp': 1413309600, 'timestamp': 1413309600,
'upload_date': '20141014', 'upload_date': '20141014',

View File

@ -79,7 +79,7 @@ class ToshIE(MTVServicesInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Tosh.0|June 9, 2077|2|211|Twitter Users Share Summer Plans', 'title': 'Tosh.0|June 9, 2077|2|211|Twitter Users Share Summer Plans',
'description': 'Tosh asked fans to share their summer plans.', 'description': 'Tosh asked fans to share their summer plans.',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
# It's really reported to be published on year 2077 # It's really reported to be published on year 2077
'upload_date': '20770610', 'upload_date': '20770610',
'timestamp': 3390510600, 'timestamp': 3390510600,

View File

@ -20,7 +20,7 @@ class CoubIE(InfoExtractor):
'id': '5u5n1', 'id': '5u5n1',
'ext': 'mp4', 'ext': 'mp4',
'title': 'The Matrix Moonwalk', 'title': 'The Matrix Moonwalk',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 4.6, 'duration': 4.6,
'timestamp': 1428527772, 'timestamp': 1428527772,
'upload_date': '20150408', 'upload_date': '20150408',

View File

@ -14,7 +14,7 @@ class CrackleIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Everybody Respects A Bloody Nose', 'title': 'Everybody Respects A Bloody Nose',
'description': 'Jerry is kaffeeklatsching in L.A. with funnyman J.B. Smoove (Saturday Night Live, Real Husbands of Hollywood). Theyre headed for brew at 10 Speed Coffee in a 1964 Studebaker Avanti.', 'description': 'Jerry is kaffeeklatsching in L.A. with funnyman J.B. Smoove (Saturday Night Live, Real Husbands of Hollywood). Theyre headed for brew at 10 Speed Coffee in a 1964 Studebaker Avanti.',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 906, 'duration': 906,
'series': 'Comedians In Cars Getting Coffee', 'series': 'Comedians In Cars Getting Coffee',
'season_number': 8, 'season_number': 8,

View File

@ -14,7 +14,7 @@ class CriterionIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Le Samouraï', 'title': 'Le Samouraï',
'description': 'md5:a2b4b116326558149bef81f76dcbb93f', 'description': 'md5:a2b4b116326558149bef81f76dcbb93f',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
} }

View File

@ -16,7 +16,7 @@ class CrooksAndLiarsIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Fox & Friends Says Protecting Atheists From Discrimination Is Anti-Christian!', 'title': 'Fox & Friends Says Protecting Atheists From Discrimination Is Anti-Christian!',
'description': 'md5:e1a46ad1650e3a5ec7196d432799127f', 'description': 'md5:e1a46ad1650e3a5ec7196d432799127f',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1428207000, 'timestamp': 1428207000,
'upload_date': '20150405', 'upload_date': '20150405',
'uploader': 'Heather', 'uploader': 'Heather',

View File

@ -142,7 +142,7 @@ class CrunchyrollIE(CrunchyrollBaseIE):
'ext': 'flv', 'ext': 'flv',
'title': 'Culture Japan Episode 1 Rebuilding Japan after the 3.11', 'title': 'Culture Japan Episode 1 Rebuilding Japan after the 3.11',
'description': 'md5:2fbc01f90b87e8e9137296f37b461c12', 'description': 'md5:2fbc01f90b87e8e9137296f37b461c12',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'Danny Choo Network', 'uploader': 'Danny Choo Network',
'upload_date': '20120213', 'upload_date': '20120213',
}, },
@ -158,7 +158,7 @@ class CrunchyrollIE(CrunchyrollBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Re:ZERO -Starting Life in Another World- Episode 5 The Morning of Our Promise Is Still Distant', 'title': 'Re:ZERO -Starting Life in Another World- Episode 5 The Morning of Our Promise Is Still Distant',
'description': 'md5:97664de1ab24bbf77a9c01918cb7dca9', 'description': 'md5:97664de1ab24bbf77a9c01918cb7dca9',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'TV TOKYO', 'uploader': 'TV TOKYO',
'upload_date': '20160508', 'upload_date': '20160508',
}, },

View File

@ -28,7 +28,7 @@ class CtsNewsIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '韓國31歲童顏男 貌如十多歲小孩', 'title': '韓國31歲童顏男 貌如十多歲小孩',
'description': '越有年紀的人越希望看起來年輕一點而南韓卻有一位31歲的男子看起來像是11、12歲的小孩身...', 'description': '越有年紀的人越希望看起來年輕一點而南韓卻有一位31歲的男子看起來像是11、12歲的小孩身...',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1378205880, 'timestamp': 1378205880,
'upload_date': '20130903', 'upload_date': '20130903',
} }
@ -41,7 +41,7 @@ class CtsNewsIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'iPhone6熱銷 蘋果財報亮眼', 'title': 'iPhone6熱銷 蘋果財報亮眼',
'description': 'md5:f395d4f485487bb0f992ed2c4b07aa7d', 'description': 'md5:f395d4f485487bb0f992ed2c4b07aa7d',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20150128', 'upload_date': '20150128',
'uploader_id': 'TBSCTS', 'uploader_id': 'TBSCTS',
'uploader': '中華電視公司', 'uploader': '中華電視公司',

View File

@ -21,7 +21,7 @@ class CultureUnpluggedIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'The Next, Best West', 'title': 'The Next, Best West',
'description': 'md5:0423cd00833dea1519cf014e9d0903b1', 'description': 'md5:0423cd00833dea1519cf014e9d0903b1',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'creator': 'Coldstream Creative', 'creator': 'Coldstream Creative',
'duration': 2203, 'duration': 2203,
'view_count': int, 'view_count': int,

View File

@ -58,7 +58,7 @@ class DailymotionIE(DailymotionBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Steam Machine Models, Pricing Listed on Steam Store - IGN News', 'title': 'Steam Machine Models, Pricing Listed on Steam Store - IGN News',
'description': 'Several come bundled with the Steam Controller.', 'description': 'Several come bundled with the Steam Controller.',
'thumbnail': 're:^https?:.*\.(?:jpg|png)$', 'thumbnail': r're:^https?:.*\.(?:jpg|png)$',
'duration': 74, 'duration': 74,
'timestamp': 1425657362, 'timestamp': 1425657362,
'upload_date': '20150306', 'upload_date': '20150306',

View File

@ -32,7 +32,7 @@ class DaumIE(InfoExtractor):
'title': '마크 헌트 vs 안토니오 실바', 'title': '마크 헌트 vs 안토니오 실바',
'description': 'Mark Hunt vs Antonio Silva', 'description': 'Mark Hunt vs Antonio Silva',
'upload_date': '20131217', 'upload_date': '20131217',
'thumbnail': 're:^https?://.*\.(?:jpg|png)', 'thumbnail': r're:^https?://.*\.(?:jpg|png)',
'duration': 2117, 'duration': 2117,
'view_count': int, 'view_count': int,
'comment_count': int, 'comment_count': int,
@ -45,7 +45,7 @@ class DaumIE(InfoExtractor):
'title': '1297회, \'아빠 아들로 태어나길 잘 했어\' 민수, 감동의 눈물[아빠 어디가] 20150118', 'title': '1297회, \'아빠 아들로 태어나길 잘 했어\' 민수, 감동의 눈물[아빠 어디가] 20150118',
'description': 'md5:79794514261164ff27e36a21ad229fc5', 'description': 'md5:79794514261164ff27e36a21ad229fc5',
'upload_date': '20150604', 'upload_date': '20150604',
'thumbnail': 're:^https?://.*\.(?:jpg|png)', 'thumbnail': r're:^https?://.*\.(?:jpg|png)',
'duration': 154, 'duration': 154,
'view_count': int, 'view_count': int,
'comment_count': int, 'comment_count': int,
@ -61,7 +61,7 @@ class DaumIE(InfoExtractor):
'title': '01-Korean War ( Trouble on the horizon )', 'title': '01-Korean War ( Trouble on the horizon )',
'description': '\nKorean War 01\nTrouble on the horizon\n전쟁의 먹구름', 'description': '\nKorean War 01\nTrouble on the horizon\n전쟁의 먹구름',
'upload_date': '20080223', 'upload_date': '20080223',
'thumbnail': 're:^https?://.*\.(?:jpg|png)', 'thumbnail': r're:^https?://.*\.(?:jpg|png)',
'duration': 249, 'duration': 249,
'view_count': int, 'view_count': int,
'comment_count': int, 'comment_count': int,
@ -139,7 +139,7 @@ class DaumClipIE(InfoExtractor):
'title': 'DOTA 2GETHER 시즌2 6회 - 2부', 'title': 'DOTA 2GETHER 시즌2 6회 - 2부',
'description': 'DOTA 2GETHER 시즌2 6회 - 2부', 'description': 'DOTA 2GETHER 시즌2 6회 - 2부',
'upload_date': '20130831', 'upload_date': '20130831',
'thumbnail': 're:^https?://.*\.(?:jpg|png)', 'thumbnail': r're:^https?://.*\.(?:jpg|png)',
'duration': 3868, 'duration': 3868,
'view_count': int, 'view_count': int,
}, },

View File

@ -17,7 +17,7 @@ class DBTVIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Skulle teste ut fornøyelsespark, men kollegaen var bare opptatt av bikinikroppen', 'title': 'Skulle teste ut fornøyelsespark, men kollegaen var bare opptatt av bikinikroppen',
'description': 'md5:1504a54606c4dde3e4e61fc97aa857e0', 'description': 'md5:1504a54606c4dde3e4e61fc97aa857e0',
'thumbnail': 're:https?://.*\.jpg', 'thumbnail': r're:https?://.*\.jpg',
'timestamp': 1404039863, 'timestamp': 1404039863,
'upload_date': '20140629', 'upload_date': '20140629',
'duration': 69.544, 'duration': 69.544,

View File

@ -17,7 +17,7 @@ class DctpTvIE(InfoExtractor):
'title': 'Videoinstallation für eine Kaufhausfassade', 'title': 'Videoinstallation für eine Kaufhausfassade',
'description': 'Kurzfilm', 'description': 'Kurzfilm',
'upload_date': '20110407', 'upload_date': '20110407',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
} }

View File

@ -19,7 +19,7 @@ class DeezerPlaylistIE(InfoExtractor):
'id': '176747451', 'id': '176747451',
'title': 'Best!', 'title': 'Best!',
'uploader': 'Anonymous', 'uploader': 'Anonymous',
'thumbnail': 're:^https?://cdn-images.deezer.com/images/cover/.*\.jpg$', 'thumbnail': r're:^https?://cdn-images.deezer.com/images/cover/.*\.jpg$',
}, },
'playlist_count': 30, 'playlist_count': 30,
'skip': 'Only available in .de', 'skip': 'Only available in .de',

View File

@ -17,7 +17,7 @@ class DHMIE(InfoExtractor):
'title': 'MARSHALL PLAN AT WORK IN WESTERN GERMANY, THE', 'title': 'MARSHALL PLAN AT WORK IN WESTERN GERMANY, THE',
'description': 'md5:1fabd480c153f97b07add61c44407c82', 'description': 'md5:1fabd480c153f97b07add61c44407c82',
'duration': 660, 'duration': 660,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, { }, {
'url': 'http://www.dhm.de/filmarchiv/02-mapping-the-wall/peter-g/rolle-1/', 'url': 'http://www.dhm.de/filmarchiv/02-mapping-the-wall/peter-g/rolle-1/',
@ -26,7 +26,7 @@ class DHMIE(InfoExtractor):
'id': 'rolle-1', 'id': 'rolle-1',
'ext': 'flv', 'ext': 'flv',
'title': 'ROLLE 1', 'title': 'ROLLE 1',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}] }]

View File

@ -36,7 +36,7 @@ class DigitekaIE(InfoExtractor):
'id': 's8uk0r', 'id': 's8uk0r',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Loi sur la fin de vie: le texte prévoit un renforcement des directives anticipées', 'title': 'Loi sur la fin de vie: le texte prévoit un renforcement des directives anticipées',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 74, 'duration': 74,
'upload_date': '20150317', 'upload_date': '20150317',
'timestamp': 1426604939, 'timestamp': 1426604939,
@ -50,7 +50,7 @@ class DigitekaIE(InfoExtractor):
'id': 'xvpfp8', 'id': 'xvpfp8',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Two - C\'est La Vie (clip)', 'title': 'Two - C\'est La Vie (clip)',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 233, 'duration': 233,
'upload_date': '20150224', 'upload_date': '20150224',
'timestamp': 1424760500, 'timestamp': 1424760500,

View File

@ -26,8 +26,8 @@ class DouyuTVIE(InfoExtractor):
'display_id': 'iseven', 'display_id': 'iseven',
'ext': 'flv', 'ext': 'flv',
'title': 're:^清晨醒脑T-ara根本停不下来 [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$', 'title': 're:^清晨醒脑T-ara根本停不下来 [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$',
'description': 're:.*m7show@163\.com.*', 'description': r're:.*m7show@163\.com.*',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': '7师傅', 'uploader': '7师傅',
'is_live': True, 'is_live': True,
}, },
@ -42,7 +42,7 @@ class DouyuTVIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 're:^小漠从零单排记——CSOL2躲猫猫 [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$', 'title': 're:^小漠从零单排记——CSOL2躲猫猫 [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$',
'description': 'md5:746a2f7a253966a06755a912f0acc0d2', 'description': 'md5:746a2f7a253966a06755a912f0acc0d2',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'douyu小漠', 'uploader': 'douyu小漠',
'is_live': True, 'is_live': True,
}, },
@ -57,8 +57,8 @@ class DouyuTVIE(InfoExtractor):
'display_id': '17732', 'display_id': '17732',
'ext': 'flv', 'ext': 'flv',
'title': 're:^清晨醒脑T-ara根本停不下来 [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$', 'title': 're:^清晨醒脑T-ara根本停不下来 [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$',
'description': 're:.*m7show@163\.com.*', 'description': r're:.*m7show@163\.com.*',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': '7师傅', 'uploader': '7师傅',
'is_live': True, 'is_live': True,
}, },

View File

@ -76,7 +76,7 @@ class DramaFeverIE(DramaFeverBaseIE):
'description': 'md5:a8eec7942e1664a6896fcd5e1287bfd0', 'description': 'md5:a8eec7942e1664a6896fcd5e1287bfd0',
'episode': 'Episode 1', 'episode': 'Episode 1',
'episode_number': 1, 'episode_number': 1,
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1404336058, 'timestamp': 1404336058,
'upload_date': '20140702', 'upload_date': '20140702',
'duration': 343, 'duration': 343,
@ -94,7 +94,7 @@ class DramaFeverIE(DramaFeverBaseIE):
'description': 'md5:3ff2ee8fedaef86e076791c909cf2e91', 'description': 'md5:3ff2ee8fedaef86e076791c909cf2e91',
'episode': 'Mnet Asian Music Awards 2015 - Part 3', 'episode': 'Mnet Asian Music Awards 2015 - Part 3',
'episode_number': 4, 'episode_number': 4,
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1450213200, 'timestamp': 1450213200,
'upload_date': '20151215', 'upload_date': '20151215',
'duration': 5602, 'duration': 5602,

View File

@ -20,7 +20,7 @@ class DRBonanzaIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Talkshowet - Leonard Cohen', 'title': 'Talkshowet - Leonard Cohen',
'description': 'md5:8f34194fb30cd8c8a30ad8b27b70c0ca', 'description': 'md5:8f34194fb30cd8c8a30ad8b27b70c0ca',
'thumbnail': 're:^https?://.*\.(?:gif|jpg)$', 'thumbnail': r're:^https?://.*\.(?:gif|jpg)$',
'timestamp': 1295537932, 'timestamp': 1295537932,
'upload_date': '20110120', 'upload_date': '20110120',
'duration': 3664, 'duration': 3664,
@ -36,7 +36,7 @@ class DRBonanzaIE(InfoExtractor):
'ext': 'mp3', 'ext': 'mp3',
'title': 'EM fodbold 1992 Danmark - Tyskland finale Transmission', 'title': 'EM fodbold 1992 Danmark - Tyskland finale Transmission',
'description': 'md5:501e5a195749480552e214fbbed16c4e', 'description': 'md5:501e5a195749480552e214fbbed16c4e',
'thumbnail': 're:^https?://.*\.(?:gif|jpg)$', 'thumbnail': r're:^https?://.*\.(?:gif|jpg)$',
'timestamp': 1223274900, 'timestamp': 1223274900,
'upload_date': '20081006', 'upload_date': '20081006',
'duration': 7369, 'duration': 7369,

View File

@ -22,7 +22,7 @@ class DrTuberIE(InfoExtractor):
'like_count': int, 'like_count': int,
'comment_count': int, 'comment_count': int,
'categories': ['Babe', 'Blonde', 'Erotic', 'Outdoor', 'Softcore', 'Solo'], 'categories': ['Babe', 'Blonde', 'Erotic', 'Outdoor', 'Softcore', 'Solo'],
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'age_limit': 18, 'age_limit': 18,
} }
}, { }, {

View File

@ -21,7 +21,7 @@ class DumpertIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Ik heb nieuws voor je', 'title': 'Ik heb nieuws voor je',
'description': 'Niet schrikken hoor', 'description': 'Niet schrikken hoor',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}, { }, {
'url': 'http://www.dumpert.nl/embed/6675421/dc440fe7/', 'url': 'http://www.dumpert.nl/embed/6675421/dc440fe7/',

View File

@ -31,7 +31,7 @@ class EaglePlatformIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Навальный вышел на свободу', 'title': 'Навальный вышел на свободу',
'description': 'md5:d97861ac9ae77377f3f20eaf9d04b4f5', 'description': 'md5:d97861ac9ae77377f3f20eaf9d04b4f5',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 87, 'duration': 87,
'view_count': int, 'view_count': int,
'age_limit': 0, 'age_limit': 0,
@ -45,7 +45,7 @@ class EaglePlatformIE(InfoExtractor):
'id': '12820', 'id': '12820',
'ext': 'mp4', 'ext': 'mp4',
'title': "'O Sole Mio", 'title': "'O Sole Mio",
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 216, 'duration': 216,
'view_count': int, 'view_count': int,
}, },

View File

@ -19,7 +19,7 @@ class EinthusanIE(InfoExtractor):
'id': '2447', 'id': '2447',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Ek Villain', 'title': 'Ek Villain',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'md5:9d29fc91a7abadd4591fb862fa560d93', 'description': 'md5:9d29fc91a7abadd4591fb862fa560d93',
} }
}, },
@ -30,7 +30,7 @@ class EinthusanIE(InfoExtractor):
'id': '1671', 'id': '1671',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Soodhu Kavvuum', 'title': 'Soodhu Kavvuum',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'md5:b40f2bf7320b4f9414f3780817b2af8c', 'description': 'md5:b40f2bf7320b4f9414f3780817b2af8c',
} }
}, },

View File

@ -22,7 +22,7 @@ class EroProfileIE(InfoExtractor):
'display_id': 'sexy-babe-softcore', 'display_id': 'sexy-babe-softcore',
'ext': 'm4v', 'ext': 'm4v',
'title': 'sexy babe softcore', 'title': 'sexy babe softcore',
'thumbnail': 're:https?://.*\.jpg', 'thumbnail': r're:https?://.*\.jpg',
'age_limit': 18, 'age_limit': 18,
} }
}, { }, {
@ -32,7 +32,7 @@ class EroProfileIE(InfoExtractor):
'id': '1133519', 'id': '1133519',
'ext': 'm4v', 'ext': 'm4v',
'title': 'Try It On Pee_cut_2.wmv - 4shared.com - file sharing - download movie file', 'title': 'Try It On Pee_cut_2.wmv - 4shared.com - file sharing - download movie file',
'thumbnail': 're:https?://.*\.jpg', 'thumbnail': r're:https?://.*\.jpg',
'age_limit': 18, 'age_limit': 18,
}, },
'skip': 'Requires login', 'skip': 'Requires login',

View File

@ -45,7 +45,7 @@ class EscapistIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'description': "Baldur's Gate: Original, Modded or Enhanced Edition? I'll break down what you can expect from the new Baldur's Gate: Enhanced Edition.", 'description': "Baldur's Gate: Original, Modded or Enhanced Edition? I'll break down what you can expect from the new Baldur's Gate: Enhanced Edition.",
'title': "Breaking Down Baldur's Gate", 'title': "Breaking Down Baldur's Gate",
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 264, 'duration': 264,
'uploader': 'The Escapist', 'uploader': 'The Escapist',
} }
@ -57,7 +57,7 @@ class EscapistIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'description': 'This week, Zero Punctuation reviews Evolve.', 'description': 'This week, Zero Punctuation reviews Evolve.',
'title': 'Evolve - One vs Multiplayer', 'title': 'Evolve - One vs Multiplayer',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 304, 'duration': 304,
'uploader': 'The Escapist', 'uploader': 'The Escapist',
} }

View File

@ -22,7 +22,7 @@ class EsriVideoIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'ArcGIS Online - Developing Applications', 'title': 'ArcGIS Online - Developing Applications',
'description': 'Jeremy Bartley demonstrates how to develop applications with ArcGIS Online.', 'description': 'Jeremy Bartley demonstrates how to develop applications with ArcGIS Online.',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 185, 'duration': 185,
'upload_date': '20120419', 'upload_date': '20120419',
} }

View File

@ -23,7 +23,7 @@ class EuropaIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'TRADE - Wikileaks on TTIP', 'title': 'TRADE - Wikileaks on TTIP',
'description': 'NEW LIVE EC Midday press briefing of 11/08/2015', 'description': 'NEW LIVE EC Midday press briefing of 11/08/2015',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20150811', 'upload_date': '20150811',
'duration': 34, 'duration': 34,
'view_count': int, 'view_count': int,

View File

@ -17,7 +17,7 @@ class ExpoTVIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'NYX Butter Lipstick Little Susie', 'title': 'NYX Butter Lipstick Little Susie',
'description': 'Goes on like butter, but looks better!', 'description': 'Goes on like butter, but looks better!',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'Stephanie S.', 'uploader': 'Stephanie S.',
'upload_date': '20150520', 'upload_date': '20150520',
'view_count': int, 'view_count': int,

View File

@ -133,7 +133,7 @@ class FC2EmbedIE(InfoExtractor):
'id': '201403223kCqB3Ez', 'id': '201403223kCqB3Ez',
'ext': 'flv', 'ext': 'flv',
'title': 'プリズン・ブレイク S1-01 マイケル 【吹替】', 'title': 'プリズン・ブレイク S1-01 マイケル 【吹替】',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
} }

View File

@ -26,7 +26,7 @@ class FirstTVIE(InfoExtractor):
'id': '40049', 'id': '40049',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Гость Людмила Сенчина. Наедине со всеми. Выпуск от 12.02.2015', 'title': 'Гость Людмила Сенчина. Наедине со всеми. Выпуск от 12.02.2015',
'thumbnail': 're:^https?://.*\.(?:jpg|JPG)$', 'thumbnail': r're:^https?://.*\.(?:jpg|JPG)$',
'upload_date': '20150212', 'upload_date': '20150212',
'duration': 2694, 'duration': 2694,
}, },
@ -37,7 +37,7 @@ class FirstTVIE(InfoExtractor):
'id': '364746', 'id': '364746',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Весенняя аллергия. Доброе утро. Фрагмент выпуска от 07.04.2016', 'title': 'Весенняя аллергия. Доброе утро. Фрагмент выпуска от 07.04.2016',
'thumbnail': 're:^https?://.*\.(?:jpg|JPG)$', 'thumbnail': r're:^https?://.*\.(?:jpg|JPG)$',
'upload_date': '20160407', 'upload_date': '20160407',
'duration': 179, 'duration': 179,
'formats': 'mincount:3', 'formats': 'mincount:3',

View File

@ -25,7 +25,7 @@ class FiveTVIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Россияне выбрали имя для общенациональной платежной системы', 'title': 'Россияне выбрали имя для общенациональной платежной системы',
'description': 'md5:a8aa13e2b7ad36789e9f77a74b6de660', 'description': 'md5:a8aa13e2b7ad36789e9f77a74b6de660',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 180, 'duration': 180,
}, },
}, { }, {
@ -35,7 +35,7 @@ class FiveTVIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '3D принтер', 'title': '3D принтер',
'description': 'md5:d76c736d29ef7ec5c0cf7d7c65ffcb41', 'description': 'md5:d76c736d29ef7ec5c0cf7d7c65ffcb41',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 180, 'duration': 180,
}, },
}, { }, {
@ -44,7 +44,7 @@ class FiveTVIE(InfoExtractor):
'id': 'glavnoe', 'id': 'glavnoe',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Итоги недели с 8 по 14 июня 2015 года', 'title': 'Итоги недели с 8 по 14 июня 2015 года',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, { }, {
'url': 'http://www.5-tv.ru/glavnoe/broadcasts/508645/', 'url': 'http://www.5-tv.ru/glavnoe/broadcasts/508645/',

View File

@ -19,7 +19,7 @@ class FKTVIE(InfoExtractor):
'id': '1', 'id': '1',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Folge 1 vom 10. April 2007', 'title': 'Folge 1 vom 10. April 2007',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
} }

View File

@ -20,7 +20,7 @@ class FoxgayIE(InfoExtractor):
'title': 'Fuck Turkish-style', 'title': 'Fuck Turkish-style',
'description': 'md5:6ae2d9486921891efe89231ace13ffdf', 'description': 'md5:6ae2d9486921891efe89231ace13ffdf',
'age_limit': 18, 'age_limit': 18,
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
}, },
} }

View File

@ -22,7 +22,7 @@ class FoxNewsIE(AMPIE):
'duration': 265, 'duration': 265,
'timestamp': 1304411491, 'timestamp': 1304411491,
'upload_date': '20110503', 'upload_date': '20110503',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {
@ -36,7 +36,7 @@ class FoxNewsIE(AMPIE):
'duration': 292, 'duration': 292,
'timestamp': 1417662047, 'timestamp': 1417662047,
'upload_date': '20141204', 'upload_date': '20141204',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'params': { 'params': {
# m3u8 download # m3u8 download
@ -111,7 +111,7 @@ class FoxNewsInsiderIE(InfoExtractor):
'description': 'Is campus censorship getting out of control?', 'description': 'Is campus censorship getting out of control?',
'timestamp': 1472168725, 'timestamp': 1472168725,
'upload_date': '20160825', 'upload_date': '20160825',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'params': { 'params': {
# m3u8 download # m3u8 download

View File

@ -17,7 +17,7 @@ class FranceCultureIE(InfoExtractor):
'display_id': 'rendez-vous-au-pays-des-geeks', 'display_id': 'rendez-vous-au-pays-des-geeks',
'ext': 'mp3', 'ext': 'mp3',
'title': 'Rendez-vous au pays des geeks', 'title': 'Rendez-vous au pays des geeks',
'thumbnail': 're:^https?://.*\\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20140301', 'upload_date': '20140301',
'vcodec': 'none', 'vcodec': 'none',
} }

View File

@ -168,7 +168,7 @@ class FranceTvInfoIE(FranceTVBaseInfoExtractor):
'id': 'NI_173343', 'id': 'NI_173343',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Les entreprises familiales : le secret de la réussite', 'title': 'Les entreprises familiales : le secret de la réussite',
'thumbnail': 're:^https?://.*\.jpe?g$', 'thumbnail': r're:^https?://.*\.jpe?g$',
'timestamp': 1433273139, 'timestamp': 1433273139,
'upload_date': '20150602', 'upload_date': '20150602',
}, },
@ -184,7 +184,7 @@ class FranceTvInfoIE(FranceTVBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Olivier Monthus, réalisateur de "Bretagne, le choix de lArmor"', 'title': 'Olivier Monthus, réalisateur de "Bretagne, le choix de lArmor"',
'description': 'md5:a3264114c9d29aeca11ced113c37b16c', 'description': 'md5:a3264114c9d29aeca11ced113c37b16c',
'thumbnail': 're:^https?://.*\.jpe?g$', 'thumbnail': r're:^https?://.*\.jpe?g$',
'timestamp': 1458300695, 'timestamp': 1458300695,
'upload_date': '20160318', 'upload_date': '20160318',
}, },

View File

@ -29,7 +29,7 @@ class FunimationIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Air - 1 - Breeze', 'title': 'Air - 1 - Breeze',
'description': 'md5:1769f43cd5fc130ace8fd87232207892', 'description': 'md5:1769f43cd5fc130ace8fd87232207892',
'thumbnail': 're:https?://.*\.jpg', 'thumbnail': r're:https?://.*\.jpg',
}, },
'skip': 'Access without user interaction is forbidden by CloudFlare, and video removed', 'skip': 'Access without user interaction is forbidden by CloudFlare, and video removed',
}, { }, {
@ -40,7 +40,7 @@ class FunimationIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '.hack//SIGN - 1 - Role Play', 'title': '.hack//SIGN - 1 - Role Play',
'description': 'md5:b602bdc15eef4c9bbb201bb6e6a4a2dd', 'description': 'md5:b602bdc15eef4c9bbb201bb6e6a4a2dd',
'thumbnail': 're:https?://.*\.jpg', 'thumbnail': r're:https?://.*\.jpg',
}, },
'skip': 'Access without user interaction is forbidden by CloudFlare', 'skip': 'Access without user interaction is forbidden by CloudFlare',
}, { }, {
@ -51,7 +51,7 @@ class FunimationIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Attack on Titan: Junior High - Broadcast Dub Preview', 'title': 'Attack on Titan: Junior High - Broadcast Dub Preview',
'description': 'md5:f8ec49c0aff702a7832cd81b8a44f803', 'description': 'md5:f8ec49c0aff702a7832cd81b8a44f803',
'thumbnail': 're:https?://.*\.(?:jpg|png)', 'thumbnail': r're:https?://.*\.(?:jpg|png)',
}, },
'skip': 'Access without user interaction is forbidden by CloudFlare', 'skip': 'Access without user interaction is forbidden by CloudFlare',
}] }]

View File

@ -17,7 +17,7 @@ class FunnyOrDieIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Heart-Shaped Box: Literal Video Version', 'title': 'Heart-Shaped Box: Literal Video Version',
'description': 'md5:ea09a01bc9a1c46d9ab696c01747c338', 'description': 'md5:ea09a01bc9a1c46d9ab696c01747c338',
'thumbnail': 're:^http:.*\.jpg$', 'thumbnail': r're:^http:.*\.jpg$',
}, },
}, { }, {
'url': 'http://www.funnyordie.com/embed/e402820827', 'url': 'http://www.funnyordie.com/embed/e402820827',
@ -26,7 +26,7 @@ class FunnyOrDieIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Please Use This Song (Jon Lajoie)', 'title': 'Please Use This Song (Jon Lajoie)',
'description': 'Please use this to sell something. www.jonlajoie.com', 'description': 'Please use this to sell something. www.jonlajoie.com',
'thumbnail': 're:^http:.*\.jpg$', 'thumbnail': r're:^http:.*\.jpg$',
}, },
'params': { 'params': {
'skip_download': True, 'skip_download': True,

View File

@ -20,7 +20,7 @@ class GamersydeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'duration': 372, 'duration': 372,
'title': 'Bloodborne - Birth of a hero', 'title': 'Bloodborne - Birth of a hero',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
} }

View File

@ -63,7 +63,7 @@ class GameSpotIE(OnceIE):
streams, ('progressive_hd', 'progressive_high', 'progressive_low')) streams, ('progressive_hd', 'progressive_high', 'progressive_low'))
if progressive_url and manifest_url: if progressive_url and manifest_url:
qualities_basename = self._search_regex( qualities_basename = self._search_regex(
'/([^/]+)\.csmil/', r'/([^/]+)\.csmil/',
manifest_url, 'qualities basename', default=None) manifest_url, 'qualities basename', default=None)
if qualities_basename: if qualities_basename:
QUALITIES_RE = r'((,\d+)+,?)' QUALITIES_RE = r'((,\d+)+,?)'

View File

@ -18,7 +18,7 @@ class GameStarIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Hobbit 3: Die Schlacht der Fünf Heere - Teaser-Trailer zum dritten Teil', 'title': 'Hobbit 3: Die Schlacht der Fünf Heere - Teaser-Trailer zum dritten Teil',
'description': 'Der Teaser-Trailer zu Hobbit 3: Die Schlacht der Fünf Heere zeigt einige Szenen aus dem dritten Teil der Saga und kündigt den...', 'description': 'Der Teaser-Trailer zu Hobbit 3: Die Schlacht der Fünf Heere zeigt einige Szenen aus dem dritten Teil der Saga und kündigt den...',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1406542020, 'timestamp': 1406542020,
'upload_date': '20140728', 'upload_date': '20140728',
'duration': 17 'duration': 17

View File

@ -16,7 +16,7 @@ class GazetaIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '«7080 процентов гражданских в Донецке на грани голода»', 'title': '«7080 процентов гражданских в Донецке на грани голода»',
'description': 'md5:38617526050bd17b234728e7f9620a71', 'description': 'md5:38617526050bd17b234728e7f9620a71',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
}, },
'skip': 'video not found', 'skip': 'video not found',
}, { }, {

View File

@ -239,7 +239,7 @@ class GenericIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Tikibad ontruimd wegens brand', 'title': 'Tikibad ontruimd wegens brand',
'description': 'md5:05ca046ff47b931f9b04855015e163a4', 'description': 'md5:05ca046ff47b931f9b04855015e163a4',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 33, 'duration': 33,
}, },
'params': { 'params': {
@ -300,7 +300,7 @@ class GenericIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'upload_date': '20130224', 'upload_date': '20130224',
'uploader_id': 'TheVerge', 'uploader_id': 'TheVerge',
'description': 're:^Chris Ziegler takes a look at the\.*', 'description': r're:^Chris Ziegler takes a look at the\.*',
'uploader': 'The Verge', 'uploader': 'The Verge',
'title': 'First Firefox OS phones side-by-side', 'title': 'First Firefox OS phones side-by-side',
}, },
@ -539,7 +539,7 @@ class GenericIE(InfoExtractor):
'id': 'f4dafcad-ff21-423d-89b5-146cfd89fa1e', 'id': 'f4dafcad-ff21-423d-89b5-146cfd89fa1e',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Ужастики, русский трейлер (2015)', 'title': 'Ужастики, русский трейлер (2015)',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 153, 'duration': 153,
} }
}, },
@ -759,7 +759,7 @@ class GenericIE(InfoExtractor):
'duration': 48, 'duration': 48,
'timestamp': 1401537900, 'timestamp': 1401537900,
'upload_date': '20140531', 'upload_date': '20140531',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
# Wistia embed # Wistia embed
@ -1031,7 +1031,7 @@ class GenericIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Навальный вышел на свободу', 'title': 'Навальный вышел на свободу',
'description': 'md5:d97861ac9ae77377f3f20eaf9d04b4f5', 'description': 'md5:d97861ac9ae77377f3f20eaf9d04b4f5',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 87, 'duration': 87,
'view_count': int, 'view_count': int,
'age_limit': 0, 'age_limit': 0,
@ -1045,7 +1045,7 @@ class GenericIE(InfoExtractor):
'id': '12820', 'id': '12820',
'ext': 'mp4', 'ext': 'mp4',
'title': "'O Sole Mio", 'title': "'O Sole Mio",
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 216, 'duration': 216,
'view_count': int, 'view_count': int,
}, },
@ -1058,7 +1058,7 @@ class GenericIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Тайны перевала Дятлова • 1 серия 2 часть', 'title': 'Тайны перевала Дятлова • 1 серия 2 часть',
'description': 'Документальный сериал-расследование одной из самых жутких тайн ХХ века', 'description': 'Документальный сериал-расследование одной из самых жутких тайн ХХ века',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 694, 'duration': 694,
'age_limit': 0, 'age_limit': 0,
}, },
@ -1070,7 +1070,7 @@ class GenericIE(InfoExtractor):
'id': '3519514', 'id': '3519514',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Joe Dirt 2 Beautiful Loser Teaser Trailer', 'title': 'Joe Dirt 2 Beautiful Loser Teaser Trailer',
'thumbnail': 're:^https?://.*\.png$', 'thumbnail': r're:^https?://.*\.png$',
'duration': 45.115, 'duration': 45.115,
}, },
}, },
@ -1153,7 +1153,7 @@ class GenericIE(InfoExtractor):
'id': '300346', 'id': '300346',
'ext': 'mp4', 'ext': 'mp4',
'title': '中一中男師變性 全校師生力挺', 'title': '中一中男師變性 全校師生力挺',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'params': { 'params': {
# m3u8 download # m3u8 download
@ -1199,7 +1199,7 @@ class GenericIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Sauvons les abeilles ! - Le débat', 'title': 'Sauvons les abeilles ! - Le débat',
'description': 'md5:d9082128b1c5277987825d684939ca26', 'description': 'md5:d9082128b1c5277987825d684939ca26',
'thumbnail': 're:^https?://.*\.jpe?g$', 'thumbnail': r're:^https?://.*\.jpe?g$',
'timestamp': 1434970506, 'timestamp': 1434970506,
'upload_date': '20150622', 'upload_date': '20150622',
'uploader': 'Public Sénat', 'uploader': 'Public Sénat',
@ -1213,7 +1213,7 @@ class GenericIE(InfoExtractor):
'id': '2855', 'id': '2855',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Dont Understand Bitcoin? This Man Will Mumble An Explanation At You', 'title': 'Dont Understand Bitcoin? This Man Will Mumble An Explanation At You',
'thumbnail': 're:^https?://.*\.jpe?g$', 'thumbnail': r're:^https?://.*\.jpe?g$',
'uploader': 'ClickHole', 'uploader': 'ClickHole',
'uploader_id': 'clickhole', 'uploader_id': 'clickhole',
} }

View File

@ -23,7 +23,7 @@ class GiantBombIE(InfoExtractor):
'title': 'Quick Look: Destiny: The Dark Below', 'title': 'Quick Look: Destiny: The Dark Below',
'description': 'md5:0aa3aaf2772a41b91d44c63f30dfad24', 'description': 'md5:0aa3aaf2772a41b91d44c63f30dfad24',
'duration': 2399, 'duration': 2399,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
} }

View File

@ -24,7 +24,7 @@ class GigaIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Anime Awesome: Chihiros Reise ins Zauberland Das Beste kommt zum Schluss', 'title': 'Anime Awesome: Chihiros Reise ins Zauberland Das Beste kommt zum Schluss',
'description': 'md5:afdf5862241aded4718a30dff6a57baf', 'description': 'md5:afdf5862241aded4718a30dff6a57baf',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 578, 'duration': 578,
'timestamp': 1414749706, 'timestamp': 1414749706,
'upload_date': '20141031', 'upload_date': '20141031',

View File

@ -14,7 +14,7 @@ class GlideIE(InfoExtractor):
'id': 'UZF8zlmuQbe4mr+7dCiQ0w==', 'id': 'UZF8zlmuQbe4mr+7dCiQ0w==',
'ext': 'mp4', 'ext': 'mp4',
'title': "Damon's Glide message", 'title': "Damon's Glide message",
'thumbnail': 're:^https?://.*?\.cloudfront\.net/.*\.jpg$', 'thumbnail': r're:^https?://.*?\.cloudfront\.net/.*\.jpg$',
} }
} }

View File

@ -23,7 +23,7 @@ class GodTubeIE(InfoExtractor):
'timestamp': 1205712000, 'timestamp': 1205712000,
'uploader': 'beverlybmusic', 'uploader': 'beverlybmusic',
'upload_date': '20080317', 'upload_date': '20080317',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
] ]

View File

@ -19,7 +19,7 @@ class GoshgayIE(InfoExtractor):
'id': '299069', 'id': '299069',
'ext': 'flv', 'ext': 'flv',
'title': 'DIESEL SFW XXX Video', 'title': 'DIESEL SFW XXX Video',
'thumbnail': 're:^http://.*\.jpg$', 'thumbnail': r're:^http://.*\.jpg$',
'duration': 80, 'duration': 80,
'age_limit': 18, 'age_limit': 18,
} }

View File

@ -120,7 +120,7 @@ class HBOIE(HBOBaseIE):
'id': '1437839', 'id': '1437839',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Ep. 64 Clip: Encryption', 'title': 'Ep. 64 Clip: Encryption',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'duration': 1072, 'duration': 1072,
} }
} }
@ -141,7 +141,7 @@ class HBOEpisodeIE(HBOBaseIE):
'display_id': 'ep-52-inside-the-episode', 'display_id': 'ep-52-inside-the-episode',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Ep. 52: Inside the Episode', 'title': 'Ep. 52: Inside the Episode',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'duration': 240, 'duration': 240,
}, },
}, { }, {

View File

@ -25,7 +25,7 @@ class HearThisAtIE(InfoExtractor):
'id': '150939', 'id': '150939',
'ext': 'wav', 'ext': 'wav',
'title': 'Moofi - Dr. Kreep', 'title': 'Moofi - Dr. Kreep',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1421564134, 'timestamp': 1421564134,
'description': 'Listen to Dr. Kreep by Moofi on hearthis.at - Modular, Eurorack, Mutable Intruments Braids, Valhalla-DSP', 'description': 'Listen to Dr. Kreep by Moofi on hearthis.at - Modular, Eurorack, Mutable Intruments Braids, Valhalla-DSP',
'upload_date': '20150118', 'upload_date': '20150118',
@ -46,7 +46,7 @@ class HearThisAtIE(InfoExtractor):
'description': 'Listen to DJ Jim Hopkins - Totally Bitchin\' 80\'s Dance Mix! by TwitchSF on hearthis.at - Dance', 'description': 'Listen to DJ Jim Hopkins - Totally Bitchin\' 80\'s Dance Mix! by TwitchSF on hearthis.at - Dance',
'upload_date': '20160328', 'upload_date': '20160328',
'timestamp': 1459186146, 'timestamp': 1459186146,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'comment_count': int, 'comment_count': int,
'view_count': int, 'view_count': int,
'like_count': int, 'like_count': int,

View File

@ -29,7 +29,7 @@ class HeiseIE(InfoExtractor):
'timestamp': 1411812600, 'timestamp': 1411812600,
'upload_date': '20140927', 'upload_date': '20140927',
'description': 'In uplink-Episode 3.3 geht es darum, wie man sich von Cloud-Anbietern emanzipieren kann, worauf man beim Kauf einer Tastatur achten sollte und was Smartphones über uns verraten.', 'description': 'In uplink-Episode 3.3 geht es darum, wie man sich von Cloud-Anbietern emanzipieren kann, worauf man beim Kauf einer Tastatur achten sollte und was Smartphones über uns verraten.',
'thumbnail': 're:^https?://.*\.jpe?g$', 'thumbnail': r're:^https?://.*\.jpe?g$',
} }
} }

View File

@ -20,7 +20,7 @@ class HellPornoIE(InfoExtractor):
'display_id': 'dixie-is-posing-with-naked-ass-very-erotic', 'display_id': 'dixie-is-posing-with-naked-ass-very-erotic',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Dixie is posing with naked ass very erotic', 'title': 'Dixie is posing with naked ass very erotic',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'age_limit': 18, 'age_limit': 18,
} }
}, { }, {

View File

@ -14,7 +14,7 @@ class HistoricFilmsIE(InfoExtractor):
'ext': 'mov', 'ext': 'mov',
'title': 'Historic Films: GP-7', 'title': 'Historic Films: GP-7',
'description': 'md5:1a86a0f3ac54024e419aba97210d959a', 'description': 'md5:1a86a0f3ac54024e419aba97210d959a',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 2096, 'duration': 2096,
}, },
} }

View File

@ -25,7 +25,7 @@ class HitboxIE(InfoExtractor):
'alt_title': 'hitboxlive - Aug 9th #6', 'alt_title': 'hitboxlive - Aug 9th #6',
'description': '', 'description': '',
'ext': 'mp4', 'ext': 'mp4',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 215.1666, 'duration': 215.1666,
'resolution': 'HD 720p', 'resolution': 'HD 720p',
'uploader': 'hitboxlive', 'uploader': 'hitboxlive',
@ -163,7 +163,7 @@ class HitboxLiveIE(HitboxIE):
if cdn.get('rtmpSubscribe') is True: if cdn.get('rtmpSubscribe') is True:
continue continue
base_url = cdn.get('netConnectionUrl') base_url = cdn.get('netConnectionUrl')
host = re.search('.+\.([^\.]+\.[^\./]+)/.+', base_url).group(1) host = re.search(r'.+\.([^\.]+\.[^\./]+)/.+', base_url).group(1)
if base_url not in servers: if base_url not in servers:
servers.append(base_url) servers.append(base_url)
for stream in cdn.get('bitrates'): for stream in cdn.get('bitrates'):

View File

@ -20,7 +20,7 @@ class HornBunnyIE(InfoExtractor):
'duration': 550, 'duration': 550,
'age_limit': 18, 'age_limit': 18,
'view_count': int, 'view_count': int,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
} }

View File

@ -21,7 +21,7 @@ class HowStuffWorksIE(InfoExtractor):
'title': 'Cool Jobs - Iditarod Musher', 'title': 'Cool Jobs - Iditarod Musher',
'description': 'Cold sleds, freezing temps and warm dog breath... an Iditarod musher\'s dream. Kasey-Dee Gardner jumps on a sled to find out what the big deal is.', 'description': 'Cold sleds, freezing temps and warm dog breath... an Iditarod musher\'s dream. Kasey-Dee Gardner jumps on a sled to find out what the big deal is.',
'display_id': 'cool-jobs-iditarod-musher', 'display_id': 'cool-jobs-iditarod-musher',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 161, 'duration': 161,
}, },
'skip': 'Video broken', 'skip': 'Video broken',
@ -34,7 +34,7 @@ class HowStuffWorksIE(InfoExtractor):
'title': 'Survival Zone: Food and Water In the Savanna', 'title': 'Survival Zone: Food and Water In the Savanna',
'description': 'Learn how to find both food and water while trekking in the African savannah. In this video from the Discovery Channel.', 'description': 'Learn how to find both food and water while trekking in the African savannah. In this video from the Discovery Channel.',
'display_id': 'survival-zone-food-and-water-in-the-savanna', 'display_id': 'survival-zone-food-and-water-in-the-savanna',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {
@ -45,7 +45,7 @@ class HowStuffWorksIE(InfoExtractor):
'title': 'Sword Swallowing #1 by Dan Meyer', 'title': 'Sword Swallowing #1 by Dan Meyer',
'description': 'Video footage (1 of 3) used by permission of the owner Dan Meyer through Sword Swallowers Association International <www.swordswallow.org>', 'description': 'Video footage (1 of 3) used by permission of the owner Dan Meyer through Sword Swallowers Association International <www.swordswallow.org>',
'display_id': 'sword-swallowing-1-by-dan-meyer', 'display_id': 'sword-swallowing-1-by-dan-meyer',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {

View File

@ -20,7 +20,7 @@ class HuajiaoIE(InfoExtractor):
'title': '#新人求关注#', 'title': '#新人求关注#',
'description': 're:.*', 'description': 're:.*',
'duration': 2424.0, 'duration': 2424.0,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1475866459, 'timestamp': 1475866459,
'upload_date': '20161007', 'upload_date': '20161007',
'uploader': 'Penny_余姿昀', 'uploader': 'Penny_余姿昀',

View File

@ -52,7 +52,7 @@ class HuffPostIE(InfoExtractor):
thumbnails = [] thumbnails = []
for url in filter(None, data['images'].values()): for url in filter(None, data['images'].values()):
m = re.match('.*-([0-9]+x[0-9]+)\.', url) m = re.match(r'.*-([0-9]+x[0-9]+)\.', url)
if not m: if not m:
continue continue
thumbnails.append({ thumbnails.append({

View File

@ -19,7 +19,7 @@ class IndavideoEmbedIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Cicatánc', 'title': 'Cicatánc',
'description': '', 'description': '',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'cukiajanlo', 'uploader': 'cukiajanlo',
'uploader_id': '83729', 'uploader_id': '83729',
'timestamp': 1439193826, 'timestamp': 1439193826,
@ -102,7 +102,7 @@ class IndavideoIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Vicces cica', 'title': 'Vicces cica',
'description': 'Játszik a tablettel. :D', 'description': 'Játszik a tablettel. :D',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'Jet_Pack', 'uploader': 'Jet_Pack',
'uploader_id': '491217', 'uploader_id': '491217',
'timestamp': 1390821212, 'timestamp': 1390821212,

View File

@ -22,7 +22,7 @@ class InstagramIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Video by naomipq', 'title': 'Video by naomipq',
'description': 'md5:1f17f0ab29bd6fe2bfad705f58de3cb8', 'description': 'md5:1f17f0ab29bd6fe2bfad705f58de3cb8',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1371748545, 'timestamp': 1371748545,
'upload_date': '20130620', 'upload_date': '20130620',
'uploader_id': 'naomipq', 'uploader_id': 'naomipq',
@ -38,7 +38,7 @@ class InstagramIE(InfoExtractor):
'id': 'BA-pQFBG8HZ', 'id': 'BA-pQFBG8HZ',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Video by britneyspears', 'title': 'Video by britneyspears',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1453760977, 'timestamp': 1453760977,
'upload_date': '20160125', 'upload_date': '20160125',
'uploader_id': 'britneyspears', 'uploader_id': 'britneyspears',
@ -169,7 +169,7 @@ class InstagramUserIE(InfoExtractor):
'id': '614605558512799803_462752227', 'id': '614605558512799803_462752227',
'ext': 'mp4', 'ext': 'mp4',
'title': '#Porsche Intelligent Performance.', 'title': '#Porsche Intelligent Performance.',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'uploader': 'Porsche', 'uploader': 'Porsche',
'uploader_id': 'porsche', 'uploader_id': 'porsche',
'timestamp': 1387486713, 'timestamp': 1387486713,

View File

@ -14,7 +14,7 @@ class Ir90TvIE(InfoExtractor):
'id': '95719', 'id': '95719',
'ext': 'mp4', 'ext': 'mp4',
'title': 'شایعات نقل و انتقالات مهم فوتبال اروپا 94/02/18', 'title': 'شایعات نقل و انتقالات مهم فوتبال اروپا 94/02/18',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}, { }, {
'url': 'http://www.90tv.ir/video/95719/%D8%B4%D8%A7%DB%8C%D8%B9%D8%A7%D8%AA-%D9%86%D9%82%D9%84-%D9%88-%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84%D8%A7%D8%AA-%D9%85%D9%87%D9%85-%D9%81%D9%88%D8%AA%D8%A8%D8%A7%D9%84-%D8%A7%D8%B1%D9%88%D9%BE%D8%A7-940218', 'url': 'http://www.90tv.ir/video/95719/%D8%B4%D8%A7%DB%8C%D8%B9%D8%A7%D8%AA-%D9%86%D9%82%D9%84-%D9%88-%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84%D8%A7%D8%AA-%D9%85%D9%87%D9%85-%D9%81%D9%88%D8%AA%D8%A8%D8%A7%D9%84-%D8%A7%D8%B1%D9%88%D9%BE%D8%A7-940218',

View File

@ -28,7 +28,7 @@ class IviIE(InfoExtractor):
'title': 'Иван Васильевич меняет профессию', 'title': 'Иван Васильевич меняет профессию',
'description': 'md5:b924063ea1677c8fe343d8a72ac2195f', 'description': 'md5:b924063ea1677c8fe343d8a72ac2195f',
'duration': 5498, 'duration': 5498,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'skip': 'Only works from Russia', 'skip': 'Only works from Russia',
}, },
@ -46,7 +46,7 @@ class IviIE(InfoExtractor):
'episode': 'Дело Гольдберга (1 часть)', 'episode': 'Дело Гольдберга (1 часть)',
'episode_number': 1, 'episode_number': 1,
'duration': 2655, 'duration': 2655,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'skip': 'Only works from Russia', 'skip': 'Only works from Russia',
}, },
@ -60,7 +60,7 @@ class IviIE(InfoExtractor):
'title': 'Кукла', 'title': 'Кукла',
'description': 'md5:ffca9372399976a2d260a407cc74cce6', 'description': 'md5:ffca9372399976a2d260a407cc74cce6',
'duration': 5599, 'duration': 5599,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'skip': 'Only works from Russia', 'skip': 'Only works from Russia',
} }

View File

@ -29,7 +29,7 @@ class IzleseneIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Sevinçten Çıldırtan Doğum Günü Hediyesi', 'title': 'Sevinçten Çıldırtan Doğum Günü Hediyesi',
'description': 'md5:253753e2655dde93f59f74b572454f6d', 'description': 'md5:253753e2655dde93f59f74b572454f6d',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'uploader_id': 'pelikzzle', 'uploader_id': 'pelikzzle',
'timestamp': int, 'timestamp': int,
'upload_date': '20140702', 'upload_date': '20140702',
@ -44,7 +44,7 @@ class IzleseneIE(InfoExtractor):
'id': '17997', 'id': '17997',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Tarkan Dortmund 2006 Konseri', 'title': 'Tarkan Dortmund 2006 Konseri',
'thumbnail': 're:^https://.*\.jpg', 'thumbnail': r're:^https://.*\.jpg',
'uploader_id': 'parlayankiz', 'uploader_id': 'parlayankiz',
'timestamp': int, 'timestamp': int,
'upload_date': '20061112', 'upload_date': '20061112',

View File

@ -17,7 +17,7 @@ class JamendoIE(InfoExtractor):
'display_id': 'stories-from-emona-i', 'display_id': 'stories-from-emona-i',
'ext': 'flac', 'ext': 'flac',
'title': 'Stories from Emona I', 'title': 'Stories from Emona I',
'thumbnail': 're:^https?://.*\.jpg' 'thumbnail': r're:^https?://.*\.jpg'
} }
} }

View File

@ -21,7 +21,7 @@ class JoveIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Electrode Positioning and Montage in Transcranial Direct Current Stimulation', 'title': 'Electrode Positioning and Montage in Transcranial Direct Current Stimulation',
'description': 'md5:015dd4509649c0908bc27f049e0262c6', 'description': 'md5:015dd4509649c0908bc27f049e0262c6',
'thumbnail': 're:^https?://.*\.png$', 'thumbnail': r're:^https?://.*\.png$',
'upload_date': '20110523', 'upload_date': '20110523',
} }
}, },
@ -33,7 +33,7 @@ class JoveIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Culturing Caenorhabditis elegans in Axenic Liquid Media and Creation of Transgenic Worms by Microparticle Bombardment', 'title': 'Culturing Caenorhabditis elegans in Axenic Liquid Media and Creation of Transgenic Worms by Microparticle Bombardment',
'description': 'md5:35ff029261900583970c4023b70f1dc9', 'description': 'md5:35ff029261900583970c4023b70f1dc9',
'thumbnail': 're:^https?://.*\.png$', 'thumbnail': r're:^https?://.*\.png$',
'upload_date': '20140802', 'upload_date': '20140802',
} }
}, },

View File

@ -20,7 +20,7 @@ class KarriereVideosIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 'AltenpflegerIn', 'title': 'AltenpflegerIn',
'description': 'md5:dbadd1259fde2159a9b28667cb664ae2', 'description': 'md5:dbadd1259fde2159a9b28667cb664ae2',
'thumbnail': 're:^http://.*\.png', 'thumbnail': r're:^http://.*\.png',
}, },
'params': { 'params': {
# rtmp download # rtmp download
@ -34,7 +34,7 @@ class KarriereVideosIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 'Väterkarenz und neue Chancen für Mütter - "Baby - was nun?"', 'title': 'Väterkarenz und neue Chancen für Mütter - "Baby - was nun?"',
'description': 'md5:97092c6ad1fd7d38e9d6a5fdeb2bcc33', 'description': 'md5:97092c6ad1fd7d38e9d6a5fdeb2bcc33',
'thumbnail': 're:^http://.*\.png', 'thumbnail': r're:^http://.*\.png',
}, },
'params': { 'params': {
# rtmp download # rtmp download

View File

@ -27,7 +27,7 @@ class KeezMoviesIE(InfoExtractor):
'display_id': 'petite-asian-lady-mai-playing-in-bathtub', 'display_id': 'petite-asian-lady-mai-playing-in-bathtub',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Petite Asian Lady Mai Playing In Bathtub', 'title': 'Petite Asian Lady Mai Playing In Bathtub',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'view_count': int, 'view_count': int,
'age_limit': 18, 'age_limit': 18,
} }

View File

@ -13,7 +13,7 @@ class KetnetIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Gluur mee op de filmset en op Pennenzakkenrock', 'title': 'Gluur mee op de filmset en op Pennenzakkenrock',
'description': 'Gluur mee met Ghost Rockers op de filmset', 'description': 'Gluur mee met Ghost Rockers op de filmset',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}, { }, {
'url': 'https://www.ketnet.be/kijken/karrewiet/uitzending-8-september-2016', 'url': 'https://www.ketnet.be/kijken/karrewiet/uitzending-8-september-2016',

View File

@ -23,7 +23,7 @@ class KrasViewIE(InfoExtractor):
'title': 'Снег, лёд, заносы', 'title': 'Снег, лёд, заносы',
'description': 'Снято в городе Нягань, в Ханты-Мансийском автономном округе.', 'description': 'Снято в городе Нягань, в Ханты-Мансийском автономном округе.',
'duration': 27, 'duration': 27,
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
}, },
'params': { 'params': {
'skip_download': 'Not accessible from Travis CI server', 'skip_download': 'Not accessible from Travis CI server',

View File

@ -27,7 +27,7 @@ class KUSIIE(InfoExtractor):
'duration': 223.586, 'duration': 223.586,
'upload_date': '20160826', 'upload_date': '20160826',
'timestamp': 1472233118, 'timestamp': 1472233118,
'thumbnail': 're:^https?://.*\.jpg$' 'thumbnail': r're:^https?://.*\.jpg$'
}, },
}, { }, {
'url': 'http://kusi.com/video?clipId=12203019', 'url': 'http://kusi.com/video?clipId=12203019',

View File

@ -386,8 +386,8 @@ class LetvCloudIE(InfoExtractor):
return formats return formats
def _real_extract(self, url): def _real_extract(self, url):
uu_mobj = re.search('uu=([\w]+)', url) uu_mobj = re.search(r'uu=([\w]+)', url)
vu_mobj = re.search('vu=([\w]+)', url) vu_mobj = re.search(r'vu=([\w]+)', url)
if not uu_mobj or not vu_mobj: if not uu_mobj or not vu_mobj:
raise ExtractorError('Invalid URL: %s' % url, expected=True) raise ExtractorError('Invalid URL: %s' % url, expected=True)

View File

@ -12,7 +12,7 @@ class LemondeIE(InfoExtractor):
'id': 'lqm3kl', 'id': 'lqm3kl',
'ext': 'mp4', 'ext': 'mp4',
'title': "Comprendre l'affaire Bygmalion en 5 minutes", 'title': "Comprendre l'affaire Bygmalion en 5 minutes",
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 320, 'duration': 320,
'upload_date': '20160119', 'upload_date': '20160119',
'timestamp': 1453194778, 'timestamp': 1453194778,

View File

@ -25,7 +25,7 @@ class LibraryOfCongressIE(InfoExtractor):
'id': '90716351', 'id': '90716351',
'ext': 'mp4', 'ext': 'mp4',
'title': "Pa's trip to Mars", 'title': "Pa's trip to Mars",
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 0, 'duration': 0,
'view_count': int, 'view_count': int,
}, },

View File

@ -41,7 +41,7 @@ class LibsynIE(InfoExtractor):
formats = [{ formats = [{
'url': media_url, 'url': media_url,
} for media_url in set(re.findall('var\s+mediaURL(?:Libsyn)?\s*=\s*"([^"]+)"', webpage))] } for media_url in set(re.findall(r'var\s+mediaURL(?:Libsyn)?\s*=\s*"([^"]+)"', webpage))]
podcast_title = self._search_regex( podcast_title = self._search_regex(
r'<h2>([^<]+)</h2>', webpage, 'podcast title', default=None) r'<h2>([^<]+)</h2>', webpage, 'podcast title', default=None)

View File

@ -176,7 +176,7 @@ class LifeEmbedIE(InfoExtractor):
'id': 'e50c2dec2867350528e2574c899b8291', 'id': 'e50c2dec2867350528e2574c899b8291',
'ext': 'mp4', 'ext': 'mp4',
'title': 'e50c2dec2867350528e2574c899b8291', 'title': 'e50c2dec2867350528e2574c899b8291',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
} }
}, { }, {
# with 1080p # with 1080p

View File

@ -164,7 +164,7 @@ class LimelightMediaIE(LimelightBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'HaP and the HB Prince Trailer', 'title': 'HaP and the HB Prince Trailer',
'description': 'md5:8005b944181778e313d95c1237ddb640', 'description': 'md5:8005b944181778e313d95c1237ddb640',
'thumbnail': 're:^https?://.*\.jpeg$', 'thumbnail': r're:^https?://.*\.jpeg$',
'duration': 144.23, 'duration': 144.23,
'timestamp': 1244136834, 'timestamp': 1244136834,
'upload_date': '20090604', 'upload_date': '20090604',
@ -181,7 +181,7 @@ class LimelightMediaIE(LimelightBaseIE):
'id': 'a3e00274d4564ec4a9b29b9466432335', 'id': 'a3e00274d4564ec4a9b29b9466432335',
'ext': 'mp4', 'ext': 'mp4',
'title': '3Play Media Overview Video', 'title': '3Play Media Overview Video',
'thumbnail': 're:^https?://.*\.jpeg$', 'thumbnail': r're:^https?://.*\.jpeg$',
'duration': 78.101, 'duration': 78.101,
'timestamp': 1338929955, 'timestamp': 1338929955,
'upload_date': '20120605', 'upload_date': '20120605',

View File

@ -31,7 +31,7 @@ class LiTVIE(InfoExtractor):
'id': 'VOD00041610', 'id': 'VOD00041610',
'ext': 'mp4', 'ext': 'mp4',
'title': '花千骨第1集', 'title': '花千骨第1集',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'description': 'md5:c7017aa144c87467c4fb2909c4b05d6f', 'description': 'md5:c7017aa144c87467c4fb2909c4b05d6f',
'episode_number': 1, 'episode_number': 1,
}, },
@ -80,7 +80,7 @@ class LiTVIE(InfoExtractor):
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
program_info = self._parse_json(self._search_regex( program_info = self._parse_json(self._search_regex(
'var\s+programInfo\s*=\s*([^;]+)', webpage, 'VOD data', default='{}'), r'var\s+programInfo\s*=\s*([^;]+)', webpage, 'VOD data', default='{}'),
video_id) video_id)
season_list = list(program_info.get('seasonList', {}).values()) season_list = list(program_info.get('seasonList', {}).values())

View File

@ -18,7 +18,7 @@ class LiveLeakIE(InfoExtractor):
'description': 'extremely bad day for this guy..!', 'description': 'extremely bad day for this guy..!',
'uploader': 'ljfriel2', 'uploader': 'ljfriel2',
'title': 'Most unlucky car accident', 'title': 'Most unlucky car accident',
'thumbnail': 're:^https?://.*\.jpg$' 'thumbnail': r're:^https?://.*\.jpg$'
} }
}, { }, {
'url': 'http://www.liveleak.com/view?i=f93_1390833151', 'url': 'http://www.liveleak.com/view?i=f93_1390833151',
@ -29,7 +29,7 @@ class LiveLeakIE(InfoExtractor):
'description': 'German Television Channel NDR does an exclusive interview with Edward Snowden.\r\nUploaded on LiveLeak cause German Television thinks the rest of the world isn\'t intereseted in Edward Snowden.', 'description': 'German Television Channel NDR does an exclusive interview with Edward Snowden.\r\nUploaded on LiveLeak cause German Television thinks the rest of the world isn\'t intereseted in Edward Snowden.',
'uploader': 'ARD_Stinkt', 'uploader': 'ARD_Stinkt',
'title': 'German Television does first Edward Snowden Interview (ENGLISH)', 'title': 'German Television does first Edward Snowden Interview (ENGLISH)',
'thumbnail': 're:^https?://.*\.jpg$' 'thumbnail': r're:^https?://.*\.jpg$'
} }
}, { }, {
'url': 'http://www.liveleak.com/view?i=4f7_1392687779', 'url': 'http://www.liveleak.com/view?i=4f7_1392687779',
@ -52,7 +52,7 @@ class LiveLeakIE(InfoExtractor):
'description': 'Happened on 27.7.2014. \r\nAt 0:53 you can see people still swimming at near beach.', 'description': 'Happened on 27.7.2014. \r\nAt 0:53 you can see people still swimming at near beach.',
'uploader': 'bony333', 'uploader': 'bony333',
'title': 'Crazy Hungarian tourist films close call waterspout in Croatia', 'title': 'Crazy Hungarian tourist films close call waterspout in Croatia',
'thumbnail': 're:^https?://.*\.jpg$' 'thumbnail': r're:^https?://.*\.jpg$'
} }
}, { }, {
# Covers https://github.com/rg3/youtube-dl/pull/10664#issuecomment-247439521 # Covers https://github.com/rg3/youtube-dl/pull/10664#issuecomment-247439521

View File

@ -37,7 +37,7 @@ class LivestreamIE(InfoExtractor):
'duration': 5968.0, 'duration': 5968.0,
'like_count': int, 'like_count': int,
'view_count': int, 'view_count': int,
'thumbnail': 're:^http://.*\.jpg$' 'thumbnail': r're:^http://.*\.jpg$'
} }
}, { }, {
'url': 'http://new.livestream.com/tedx/cityenglish', 'url': 'http://new.livestream.com/tedx/cityenglish',

View File

@ -22,7 +22,7 @@ class LnkGoIE(InfoExtractor):
'description': 'md5:d82a5e36b775b7048617f263a0e3475e', 'description': 'md5:d82a5e36b775b7048617f263a0e3475e',
'age_limit': 7, 'age_limit': 7,
'duration': 3019, 'duration': 3019,
'thumbnail': 're:^https?://.*\.jpg$' 'thumbnail': r're:^https?://.*\.jpg$'
}, },
'params': { 'params': {
'skip_download': True, # HLS download 'skip_download': True, # HLS download
@ -37,7 +37,7 @@ class LnkGoIE(InfoExtractor):
'description': 'md5:7352d113a242a808676ff17e69db6a69', 'description': 'md5:7352d113a242a808676ff17e69db6a69',
'age_limit': 18, 'age_limit': 18,
'duration': 346, 'duration': 346,
'thumbnail': 're:^https?://.*\.jpg$' 'thumbnail': r're:^https?://.*\.jpg$'
}, },
'params': { 'params': {
'skip_download': True, # HLS download 'skip_download': True, # HLS download

View File

@ -73,7 +73,7 @@ class LyndaBaseIE(InfoExtractor):
# Already logged in # Already logged in
if any(re.search(p, signin_page) for p in ( if any(re.search(p, signin_page) for p in (
'isLoggedIn\s*:\s*true', r'logout\.aspx', r'>Log out<')): r'isLoggedIn\s*:\s*true', r'logout\.aspx', r'>Log out<')):
return return
# Step 2: submit email # Step 2: submit email

View File

@ -14,7 +14,7 @@ class MatchTVIE(InfoExtractor):
'info_dict': { 'info_dict': {
'id': 'matchtv-live', 'id': 'matchtv-live',
'ext': 'flv', 'ext': 'flv',
'title': 're:^Матч ТВ - Прямой эфир \d{4}-\d{2}-\d{2} \d{2}:\d{2}$', 'title': r're:^Матч ТВ - Прямой эфир \d{4}-\d{2}-\d{2} \d{2}:\d{2}$',
'is_live': True, 'is_live': True,
}, },
'params': { 'params': {

View File

@ -72,7 +72,7 @@ class MDRIE(InfoExtractor):
data_url = self._search_regex( data_url = self._search_regex(
r'(?:dataURL|playerXml(?:["\'])?)\s*:\s*(["\'])(?P<url>.+/(?:video|audio)-?[0-9]+-avCustom\.xml)\1', r'(?:dataURL|playerXml(?:["\'])?)\s*:\s*(["\'])(?P<url>.+/(?:video|audio)-?[0-9]+-avCustom\.xml)\1',
webpage, 'data url', group='url').replace('\/', '/') webpage, 'data url', group='url').replace(r'\/', '/')
doc = self._download_xml( doc = self._download_xml(
compat_urlparse.urljoin(url, data_url), video_id) compat_urlparse.urljoin(url, data_url), video_id)

View File

@ -21,7 +21,7 @@ class MeipaiIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '#葉子##阿桑##余姿昀##超級女聲#', 'title': '#葉子##阿桑##余姿昀##超級女聲#',
'description': '#葉子##阿桑##余姿昀##超級女聲#', 'description': '#葉子##阿桑##余姿昀##超級女聲#',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 152, 'duration': 152,
'timestamp': 1465492420, 'timestamp': 1465492420,
'upload_date': '20160609', 'upload_date': '20160609',
@ -38,7 +38,7 @@ class MeipaiIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '姿昀和善願 練歌練琴啦😁😁😁', 'title': '姿昀和善願 練歌練琴啦😁😁😁',
'description': '姿昀和善願 練歌練琴啦😁😁😁', 'description': '姿昀和善願 練歌練琴啦😁😁😁',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 5975, 'duration': 5975,
'timestamp': 1474311799, 'timestamp': 1474311799,
'upload_date': '20160919', 'upload_date': '20160919',

View File

@ -16,7 +16,7 @@ class MelonVODIE(InfoExtractor):
'id': '50158734', 'id': '50158734',
'ext': 'mp4', 'ext': 'mp4',
'title': "Jessica 'Wonderland' MV Making Film", 'title': "Jessica 'Wonderland' MV Making Film",
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'artist': 'Jessica (제시카)', 'artist': 'Jessica (제시카)',
'upload_date': '20161212', 'upload_date': '20161212',
'duration': 203, 'duration': 203,

View File

@ -133,7 +133,7 @@ class MetacafeIE(InfoExtractor):
video_id, display_id = re.match(self._VALID_URL, url).groups() video_id, display_id = re.match(self._VALID_URL, url).groups()
# the video may come from an external site # the video may come from an external site
m_external = re.match('^(\w{2})-(.*)$', video_id) m_external = re.match(r'^(\w{2})-(.*)$', video_id)
if m_external is not None: if m_external is not None:
prefix, ext_id = m_external.groups() prefix, ext_id = m_external.groups()
# Check if video comes from YouTube # Check if video comes from YouTube

View File

@ -27,7 +27,7 @@ class MgoonIE(InfoExtractor):
'upload_date': '20131220', 'upload_date': '20131220',
'ext': 'mp4', 'ext': 'mp4',
'title': 'md5:543aa4c27a4931d371c3f433e8cebebc', 'title': 'md5:543aa4c27a4931d371c3f433e8cebebc',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}, },
{ {

View File

@ -18,7 +18,7 @@ class MGTVIE(InfoExtractor):
'title': '我是歌手第四季双年巅峰会:韩红李玟“双王”领军对抗', 'title': '我是歌手第四季双年巅峰会:韩红李玟“双王”领军对抗',
'description': '我是歌手第四季双年巅峰会', 'description': '我是歌手第四季双年巅峰会',
'duration': 7461, 'duration': 7461,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, { }, {
# no tbr extracted from stream_url # no tbr extracted from stream_url

View File

@ -19,7 +19,7 @@ class MinhatecaIE(InfoExtractor):
'id': '125848331', 'id': '125848331',
'ext': 'mp4', 'ext': 'mp4',
'title': 'youtube-dl test video', 'title': 'youtube-dl test video',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'filesize_approx': 1530000, 'filesize_approx': 1530000,
'duration': 9, 'duration': 9,
'view_count': int, 'view_count': int,

View File

@ -17,7 +17,7 @@ class MinistryGridIE(InfoExtractor):
'id': '3453494717001', 'id': '3453494717001',
'ext': 'mp4', 'ext': 'mp4',
'title': 'The Gospel by Numbers', 'title': 'The Gospel by Numbers',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'upload_date': '20140410', 'upload_date': '20140410',
'description': 'Coming soon from T4G 2014!', 'description': 'Coming soon from T4G 2014!',
'uploader_id': '2034960640001', 'uploader_id': '2034960640001',

View File

@ -90,7 +90,7 @@ class MiTeleIE(InfoExtractor):
'season_id': 'diario_de_t14_11981', 'season_id': 'diario_de_t14_11981',
'episode': 'Programa 144', 'episode': 'Programa 144',
'episode_number': 3, 'episode_number': 3,
'thumbnail': 're:(?i)^https?://.*\.jpg$', 'thumbnail': r're:(?i)^https?://.*\.jpg$',
'duration': 2913, 'duration': 2913,
}, },
'add_ie': ['Ooyala'], 'add_ie': ['Ooyala'],
@ -108,7 +108,7 @@ class MiTeleIE(InfoExtractor):
'season_id': 'cuarto_milenio_t06_12715', 'season_id': 'cuarto_milenio_t06_12715',
'episode': 'Programa 226', 'episode': 'Programa 226',
'episode_number': 24, 'episode_number': 24,
'thumbnail': 're:(?i)^https?://.*\.jpg$', 'thumbnail': r're:(?i)^https?://.*\.jpg$',
'duration': 7313, 'duration': 7313,
}, },
'params': { 'params': {

View File

@ -34,7 +34,7 @@ class MixcloudIE(InfoExtractor):
'description': 'After quite a long silence from myself, finally another Drum\'n\'Bass mix with my favourite current dance floor bangers.', 'description': 'After quite a long silence from myself, finally another Drum\'n\'Bass mix with my favourite current dance floor bangers.',
'uploader': 'Daniel Holbach', 'uploader': 'Daniel Holbach',
'uploader_id': 'dholbach', 'uploader_id': 'dholbach',
'thumbnail': 're:https?://.*\.jpg', 'thumbnail': r're:https?://.*\.jpg',
'view_count': int, 'view_count': int,
'like_count': int, 'like_count': int,
}, },

View File

@ -37,7 +37,7 @@ class MLBIE(InfoExtractor):
'duration': 66, 'duration': 66,
'timestamp': 1405980600, 'timestamp': 1405980600,
'upload_date': '20140721', 'upload_date': '20140721',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {
@ -51,7 +51,7 @@ class MLBIE(InfoExtractor):
'duration': 46, 'duration': 46,
'timestamp': 1405105800, 'timestamp': 1405105800,
'upload_date': '20140711', 'upload_date': '20140711',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {
@ -65,7 +65,7 @@ class MLBIE(InfoExtractor):
'duration': 488, 'duration': 488,
'timestamp': 1405399936, 'timestamp': 1405399936,
'upload_date': '20140715', 'upload_date': '20140715',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {
@ -79,7 +79,7 @@ class MLBIE(InfoExtractor):
'duration': 52, 'duration': 52,
'timestamp': 1405390722, 'timestamp': 1405390722,
'upload_date': '20140715', 'upload_date': '20140715',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {

View File

@ -22,7 +22,7 @@ class MnetIE(InfoExtractor):
'timestamp': 1451564040, 'timestamp': 1451564040,
'age_limit': 0, 'age_limit': 0,
'thumbnails': 'mincount:5', 'thumbnails': 'mincount:5',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'ext': 'flv', 'ext': 'flv',
}, },
'params': { 'params': {

View File

@ -30,7 +30,7 @@ class MoeVideoIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 'Sink cut out machine', 'title': 'Sink cut out machine',
'description': 'md5:f29ff97b663aefa760bf7ca63c8ca8a8', 'description': 'md5:f29ff97b663aefa760bf7ca63c8ca8a8',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'width': 540, 'width': 540,
'height': 360, 'height': 360,
'duration': 179, 'duration': 179,
@ -46,7 +46,7 @@ class MoeVideoIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 'Operacion Condor.', 'title': 'Operacion Condor.',
'description': 'md5:7e68cb2fcda66833d5081c542491a9a3', 'description': 'md5:7e68cb2fcda66833d5081c542491a9a3',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'width': 480, 'width': 480,
'height': 296, 'height': 296,
'duration': 6027, 'duration': 6027,

View File

@ -18,7 +18,7 @@ class MofosexIE(KeezMoviesIE):
'display_id': 'amateur-teen-playing-and-masturbating-318131', 'display_id': 'amateur-teen-playing-and-masturbating-318131',
'ext': 'mp4', 'ext': 'mp4',
'title': 'amateur teen playing and masturbating', 'title': 'amateur teen playing and masturbating',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20121114', 'upload_date': '20121114',
'view_count': int, 'view_count': int,
'like_count': int, 'like_count': int,

View File

@ -20,7 +20,7 @@ class MojvideoIE(InfoExtractor):
'display_id': 'v-avtu-pred-mano-rdecelaska-alfi-nipic', 'display_id': 'v-avtu-pred-mano-rdecelaska-alfi-nipic',
'ext': 'mp4', 'ext': 'mp4',
'title': 'V avtu pred mano rdečelaska - Alfi Nipič', 'title': 'V avtu pred mano rdečelaska - Alfi Nipič',
'thumbnail': 're:^http://.*\.jpg$', 'thumbnail': r're:^http://.*\.jpg$',
'duration': 242, 'duration': 242,
} }
} }

View File

@ -23,7 +23,7 @@ class MotherlessIE(InfoExtractor):
'categories': ['Gaming', 'anal', 'reluctant', 'rough', 'Wife'], 'categories': ['Gaming', 'anal', 'reluctant', 'rough', 'Wife'],
'upload_date': '20100913', 'upload_date': '20100913',
'uploader_id': 'famouslyfuckedup', 'uploader_id': 'famouslyfuckedup',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'age_limit': 18, 'age_limit': 18,
} }
}, { }, {
@ -37,7 +37,7 @@ class MotherlessIE(InfoExtractor):
'game', 'hairy'], 'game', 'hairy'],
'upload_date': '20140622', 'upload_date': '20140622',
'uploader_id': 'Sulivana7x', 'uploader_id': 'Sulivana7x',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'age_limit': 18, 'age_limit': 18,
}, },
'skip': '404', 'skip': '404',
@ -51,7 +51,7 @@ class MotherlessIE(InfoExtractor):
'categories': ['superheroine heroine superher'], 'categories': ['superheroine heroine superher'],
'upload_date': '20140827', 'upload_date': '20140827',
'uploader_id': 'shade0230', 'uploader_id': 'shade0230',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'age_limit': 18, 'age_limit': 18,
} }
}, { }, {

View File

@ -20,7 +20,7 @@ class MovieClipsIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Warcraft Trailer 1', 'title': 'Warcraft Trailer 1',
'description': 'Watch Trailer 1 from Warcraft (2016). Legendarys WARCRAFT is a 3D epic adventure of world-colliding conflict based.', 'description': 'Watch Trailer 1 from Warcraft (2016). Legendarys WARCRAFT is a 3D epic adventure of world-colliding conflict based.',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1446843055, 'timestamp': 1446843055,
'upload_date': '20151106', 'upload_date': '20151106',
'uploader': 'Movieclips', 'uploader': 'Movieclips',

View File

@ -16,7 +16,7 @@ class MoviezineIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Oculus - Trailer 1', 'title': 'Oculus - Trailer 1',
'description': 'md5:40cc6790fc81d931850ca9249b40e8a4', 'description': 'md5:40cc6790fc81d931850ca9249b40e8a4',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
} }

View File

@ -18,7 +18,7 @@ class MovingImageIE(InfoExtractor):
'title': 'SHETLAND WOOL', 'title': 'SHETLAND WOOL',
'description': 'md5:c5afca6871ad59b4271e7704fe50ab04', 'description': 'md5:c5afca6871ad59b4271e7704fe50ab04',
'duration': 900, 'duration': 900,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
} }

View File

@ -22,7 +22,7 @@ class MuenchenTVIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 're:^münchen.tv-Livestream [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$', 'title': 're:^münchen.tv-Livestream [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$',
'is_live': True, 'is_live': True,
'thumbnail': 're:^https?://.*\.jpg$' 'thumbnail': r're:^https?://.*\.jpg$'
}, },
'params': { 'params': {
'skip_download': True, 'skip_download': True,

View File

@ -18,7 +18,7 @@ class MwaveIE(InfoExtractor):
'id': '168859', 'id': '168859',
'ext': 'flv', 'ext': 'flv',
'title': '[M COUNTDOWN] SISTAR - SHAKE IT', 'title': '[M COUNTDOWN] SISTAR - SHAKE IT',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'M COUNTDOWN', 'uploader': 'M COUNTDOWN',
'duration': 206, 'duration': 206,
'view_count': int, 'view_count': int,
@ -70,7 +70,7 @@ class MwaveMeetGreetIE(InfoExtractor):
'id': '173294', 'id': '173294',
'ext': 'flv', 'ext': 'flv',
'title': '[MEET&GREET] Park BoRam', 'title': '[MEET&GREET] Park BoRam',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'Mwave', 'uploader': 'Mwave',
'duration': 3634, 'duration': 3634,
'view_count': int, 'view_count': int,

View File

@ -27,7 +27,7 @@ class MyviIE(SprutoBaseIE):
'id': 'f16b2bbd-cde8-481c-a981-7cd48605df43', 'id': 'f16b2bbd-cde8-481c-a981-7cd48605df43',
'ext': 'mp4', 'ext': 'mp4',
'title': 'хозяин жизни', 'title': 'хозяин жизни',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 25, 'duration': 25,
}, },
}, { }, {

View File

@ -160,7 +160,7 @@ class MyVideoIE(InfoExtractor):
else: else:
video_playpath = '' video_playpath = ''
video_swfobj = self._search_regex('swfobject.embedSWF\(\'(.+?)\'', webpage, 'swfobj') video_swfobj = self._search_regex(r'swfobject.embedSWF\(\'(.+?)\'', webpage, 'swfobj')
video_swfobj = compat_urllib_parse_unquote(video_swfobj) video_swfobj = compat_urllib_parse_unquote(video_swfobj)
video_title = self._html_search_regex("<h1(?: class='globalHd')?>(.*?)</h1>", video_title = self._html_search_regex("<h1(?: class='globalHd')?>(.*?)</h1>",

View File

@ -276,7 +276,7 @@ class NBCNewsIE(ThePlatformIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'The chaotic GOP immigration vote', 'title': 'The chaotic GOP immigration vote',
'description': 'The Republican House votes on a border bill that has no chance of getting through the Senate or signed by the President and is drawing criticism from all sides.', 'description': 'The Republican House votes on a border bill that has no chance of getting through the Senate or signed by the President and is drawing criticism from all sides.',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1406937606, 'timestamp': 1406937606,
'upload_date': '20140802', 'upload_date': '20140802',
'uploader': 'NBCU-NEWS', 'uploader': 'NBCU-NEWS',

View File

@ -302,7 +302,7 @@ class NDREmbedIE(NDREmbedBaseIE):
'info_dict': { 'info_dict': {
'id': 'livestream217', 'id': 'livestream217',
'ext': 'flv', 'ext': 'flv',
'title': 're:^NDR Fernsehen Niedersachsen \d{4}-\d{2}-\d{2} \d{2}:\d{2}$', 'title': r're:^NDR Fernsehen Niedersachsen \d{4}-\d{2}-\d{2} \d{2}:\d{2}$',
'is_live': True, 'is_live': True,
'upload_date': '20150910', 'upload_date': '20150910',
}, },
@ -367,7 +367,7 @@ class NJoyEmbedIE(NDREmbedBaseIE):
'info_dict': { 'info_dict': {
'id': 'webradioweltweit100', 'id': 'webradioweltweit100',
'ext': 'mp3', 'ext': 'mp3',
'title': 're:^N-JOY Weltweit \d{4}-\d{2}-\d{2} \d{2}:\d{2}$', 'title': r're:^N-JOY Weltweit \d{4}-\d{2}-\d{2} \d{2}:\d{2}$',
'is_live': True, 'is_live': True,
'uploader': 'njoy', 'uploader': 'njoy',
'upload_date': '20150810', 'upload_date': '20150810',

View File

@ -21,7 +21,7 @@ class NDTVIE(InfoExtractor):
'description': 'md5:ab2d4b4a6056c5cb4caa6d729deabf02', 'description': 'md5:ab2d4b4a6056c5cb4caa6d729deabf02',
'upload_date': '20131208', 'upload_date': '20131208',
'duration': 1327, 'duration': 1327,
'thumbnail': 're:https?://.*\.jpg', 'thumbnail': r're:https?://.*\.jpg',
}, },
} }

View File

@ -25,7 +25,7 @@ class NetzkinoIE(InfoExtractor):
'comments': 'mincount:3', 'comments': 'mincount:3',
'description': 'md5:1eddeacc7e62d5a25a2d1a7290c64a28', 'description': 'md5:1eddeacc7e62d5a25a2d1a7290c64a28',
'upload_date': '20120813', 'upload_date': '20120813',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'timestamp': 1344858571, 'timestamp': 1344858571,
'age_limit': 12, 'age_limit': 12,
}, },

View File

@ -15,7 +15,7 @@ class NextMediaIE(InfoExtractor):
'id': '53109199', 'id': '53109199',
'ext': 'mp4', 'ext': 'mp4',
'title': '【佔領金鐘】50外國領事議員撐場 讚學生勇敢香港有希望', 'title': '【佔領金鐘】50外國領事議員撐場 讚學生勇敢香港有希望',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'md5:28222b9912b6665a21011b034c70fcc7', 'description': 'md5:28222b9912b6665a21011b034c70fcc7',
'timestamp': 1415456273, 'timestamp': 1415456273,
'upload_date': '20141108', 'upload_date': '20141108',
@ -76,7 +76,7 @@ class NextMediaActionNewsIE(NextMediaIE):
'id': '19009428', 'id': '19009428',
'ext': 'mp4', 'ext': 'mp4',
'title': '【壹週刊】細10年男友偷食 50歲邵美琪再失戀', 'title': '【壹週刊】細10年男友偷食 50歲邵美琪再失戀',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'md5:cd802fad1f40fd9ea178c1e2af02d659', 'description': 'md5:cd802fad1f40fd9ea178c1e2af02d659',
'timestamp': 1421791200, 'timestamp': 1421791200,
'upload_date': '20150120', 'upload_date': '20150120',
@ -101,7 +101,7 @@ class AppleDailyIE(NextMediaIE):
'id': '36354694', 'id': '36354694',
'ext': 'mp4', 'ext': 'mp4',
'title': '周亭羽走過摩鐵陰霾2男陪吃 九把刀孤寒看醫生', 'title': '周亭羽走過摩鐵陰霾2男陪吃 九把刀孤寒看醫生',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'md5:2acd430e59956dc47cd7f67cb3c003f4', 'description': 'md5:2acd430e59956dc47cd7f67cb3c003f4',
'upload_date': '20150128', 'upload_date': '20150128',
} }
@ -112,7 +112,7 @@ class AppleDailyIE(NextMediaIE):
'id': '550549', 'id': '550549',
'ext': 'mp4', 'ext': 'mp4',
'title': '不滿被踩腳 山東兩大媽一路打下車', 'title': '不滿被踩腳 山東兩大媽一路打下車',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'md5:175b4260c1d7c085993474217e4ab1b4', 'description': 'md5:175b4260c1d7c085993474217e4ab1b4',
'upload_date': '20150128', 'upload_date': '20150128',
} }
@ -123,7 +123,7 @@ class AppleDailyIE(NextMediaIE):
'id': '5003671', 'id': '5003671',
'ext': 'mp4', 'ext': 'mp4',
'title': '20正妹熱舞 《刀龍傳說Online》火辣上市', 'title': '20正妹熱舞 《刀龍傳說Online》火辣上市',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'md5:23c0aac567dc08c9c16a3161a2c2e3cd', 'description': 'md5:23c0aac567dc08c9c16a3161a2c2e3cd',
'upload_date': '20150128', 'upload_date': '20150128',
}, },
@ -150,7 +150,7 @@ class AppleDailyIE(NextMediaIE):
'id': '35770334', 'id': '35770334',
'ext': 'mp4', 'ext': 'mp4',
'title': '咖啡占卜測 XU裝熟指數', 'title': '咖啡占卜測 XU裝熟指數',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'md5:7b859991a6a4fedbdf3dd3b66545c748', 'description': 'md5:7b859991a6a4fedbdf3dd3b66545c748',
'upload_date': '20140417', 'upload_date': '20140417',
}, },

View File

@ -72,7 +72,7 @@ class NFLIE(InfoExtractor):
'description': 'md5:56323bfb0ac4ee5ab24bd05fdf3bf478', 'description': 'md5:56323bfb0ac4ee5ab24bd05fdf3bf478',
'upload_date': '20140921', 'upload_date': '20140921',
'timestamp': 1411337580, 'timestamp': 1411337580,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}, { }, {
'url': 'http://prod.www.steelers.clubs.nfl.com/video-and-audio/videos/LIVE_Post_Game_vs_Browns/9d72f26a-9e2b-4718-84d3-09fb4046c266', 'url': 'http://prod.www.steelers.clubs.nfl.com/video-and-audio/videos/LIVE_Post_Game_vs_Browns/9d72f26a-9e2b-4718-84d3-09fb4046c266',
@ -84,7 +84,7 @@ class NFLIE(InfoExtractor):
'description': 'md5:6a97f7e5ebeb4c0e69a418a89e0636e8', 'description': 'md5:6a97f7e5ebeb4c0e69a418a89e0636e8',
'upload_date': '20131229', 'upload_date': '20131229',
'timestamp': 1388354455, 'timestamp': 1388354455,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}, { }, {
'url': 'http://www.nfl.com/news/story/0ap3000000467586/article/patriots-seahawks-involved-in-lategame-skirmish', 'url': 'http://www.nfl.com/news/story/0ap3000000467586/article/patriots-seahawks-involved-in-lategame-skirmish',

View File

@ -17,7 +17,7 @@ _x = lambda p: xpath_with_ns(p, {'xspf': 'http://xspf.org/ns/0/'})
class NosVideoIE(InfoExtractor): class NosVideoIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?nosvideo\.com/' + \ _VALID_URL = r'https?://(?:www\.)?nosvideo\.com/' + \
'(?:embed/|\?v=)(?P<id>[A-Za-z0-9]{12})/?' r'(?:embed/|\?v=)(?P<id>[A-Za-z0-9]{12})/?'
_PLAYLIST_URL = 'http://nosvideo.com/xml/{xml_id:s}.xml' _PLAYLIST_URL = 'http://nosvideo.com/xml/{xml_id:s}.xml'
_FILE_DELETED_REGEX = r'<b>File Not Found</b>' _FILE_DELETED_REGEX = r'<b>File Not Found</b>'
_TEST = { _TEST = {
@ -27,7 +27,7 @@ class NosVideoIE(InfoExtractor):
'id': 'mu8fle7g7rpq', 'id': 'mu8fle7g7rpq',
'ext': 'mp4', 'ext': 'mp4',
'title': 'big_buck_bunny_480p_surround-fix.avi.mp4', 'title': 'big_buck_bunny_480p_surround-fix.avi.mp4',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
} }

View File

@ -21,7 +21,7 @@ class NovaIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 'Duel: Michal Hrdlička a Petr Suchoň', 'title': 'Duel: Michal Hrdlička a Petr Suchoň',
'description': 'md5:d0cc509858eee1b1374111c588c6f5d5', 'description': 'md5:d0cc509858eee1b1374111c588c6f5d5',
'thumbnail': 're:^https?://.*\.(?:jpg)', 'thumbnail': r're:^https?://.*\.(?:jpg)',
}, },
'params': { 'params': {
# rtmp download # rtmp download
@ -36,7 +36,7 @@ class NovaIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Podzemní nemocnice v pražské Krči', 'title': 'Podzemní nemocnice v pražské Krči',
'description': 'md5:f0a42dd239c26f61c28f19e62d20ef53', 'description': 'md5:f0a42dd239c26f61c28f19e62d20ef53',
'thumbnail': 're:^https?://.*\.(?:jpg)', 'thumbnail': r're:^https?://.*\.(?:jpg)',
} }
}, { }, {
'url': 'http://novaplus.nova.cz/porad/policie-modrava/video/5591-policie-modrava-15-dil-blondynka-na-hrbitove', 'url': 'http://novaplus.nova.cz/porad/policie-modrava/video/5591-policie-modrava-15-dil-blondynka-na-hrbitove',
@ -46,7 +46,7 @@ class NovaIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 'Policie Modrava - 15. díl - Blondýnka na hřbitově', 'title': 'Policie Modrava - 15. díl - Blondýnka na hřbitově',
'description': 'md5:dc24e50be5908df83348e50d1431295e', # Make sure this description is clean of html tags 'description': 'md5:dc24e50be5908df83348e50d1431295e', # Make sure this description is clean of html tags
'thumbnail': 're:^https?://.*\.(?:jpg)', 'thumbnail': r're:^https?://.*\.(?:jpg)',
}, },
'params': { 'params': {
# rtmp download # rtmp download
@ -58,7 +58,7 @@ class NovaIE(InfoExtractor):
'id': '1756858', 'id': '1756858',
'ext': 'flv', 'ext': 'flv',
'title': 'Televizní noviny - 30. 5. 2015', 'title': 'Televizní noviny - 30. 5. 2015',
'thumbnail': 're:^https?://.*\.(?:jpg)', 'thumbnail': r're:^https?://.*\.(?:jpg)',
'upload_date': '20150530', 'upload_date': '20150530',
}, },
'params': { 'params': {
@ -72,7 +72,7 @@ class NovaIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Zaklínač 3: Divoký hon', 'title': 'Zaklínač 3: Divoký hon',
'description': 're:.*Pokud se stejně jako my nemůžete.*', 'description': 're:.*Pokud se stejně jako my nemůžete.*',
'thumbnail': 're:https?://.*\.jpg(\?.*)?', 'thumbnail': r're:https?://.*\.jpg(\?.*)?',
'upload_date': '20150521', 'upload_date': '20150521',
}, },
'params': { 'params': {

View File

@ -24,7 +24,7 @@ class NovaMovIE(InfoExtractor):
) )
(?P<id>[a-z\d]{13}) (?P<id>[a-z\d]{13})
''' '''
_VALID_URL = _VALID_URL_TEMPLATE % {'host': 'novamov\.com'} _VALID_URL = _VALID_URL_TEMPLATE % {'host': r'novamov\.com'}
_HOST = 'www.novamov.com' _HOST = 'www.novamov.com'
@ -104,7 +104,7 @@ class WholeCloudIE(NovaMovIE):
IE_NAME = 'wholecloud' IE_NAME = 'wholecloud'
IE_DESC = 'WholeCloud' IE_DESC = 'WholeCloud'
_VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': '(?:wholecloud\.net|movshare\.(?:net|sx|ag))'} _VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': r'(?:wholecloud\.net|movshare\.(?:net|sx|ag))'}
_HOST = 'www.wholecloud.net' _HOST = 'www.wholecloud.net'
@ -128,7 +128,7 @@ class NowVideoIE(NovaMovIE):
IE_NAME = 'nowvideo' IE_NAME = 'nowvideo'
IE_DESC = 'NowVideo' IE_DESC = 'NowVideo'
_VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': 'nowvideo\.(?:to|ch|ec|sx|eu|at|ag|co|li)'} _VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': r'nowvideo\.(?:to|ch|ec|sx|eu|at|ag|co|li)'}
_HOST = 'www.nowvideo.to' _HOST = 'www.nowvideo.to'
@ -152,7 +152,7 @@ class VideoWeedIE(NovaMovIE):
IE_NAME = 'videoweed' IE_NAME = 'videoweed'
IE_DESC = 'VideoWeed' IE_DESC = 'VideoWeed'
_VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': 'videoweed\.(?:es|com)'} _VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': r'videoweed\.(?:es|com)'}
_HOST = 'www.videoweed.es' _HOST = 'www.videoweed.es'
@ -176,7 +176,7 @@ class CloudTimeIE(NovaMovIE):
IE_NAME = 'cloudtime' IE_NAME = 'cloudtime'
IE_DESC = 'CloudTime' IE_DESC = 'CloudTime'
_VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': 'cloudtime\.to'} _VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': r'cloudtime\.to'}
_HOST = 'www.cloudtime.to' _HOST = 'www.cloudtime.to'
@ -190,7 +190,7 @@ class AuroraVidIE(NovaMovIE):
IE_NAME = 'auroravid' IE_NAME = 'auroravid'
IE_DESC = 'AuroraVid' IE_DESC = 'AuroraVid'
_VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': 'auroravid\.to'} _VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': r'auroravid\.to'}
_HOST = 'www.auroravid.to' _HOST = 'www.auroravid.to'

View File

@ -62,7 +62,7 @@ class NownessIE(NownessBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Candor: The Art of Gesticulation', 'title': 'Candor: The Art of Gesticulation',
'description': 'Candor: The Art of Gesticulation', 'description': 'Candor: The Art of Gesticulation',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1446745676, 'timestamp': 1446745676,
'upload_date': '20151105', 'upload_date': '20151105',
'uploader_id': '2385340575001', 'uploader_id': '2385340575001',
@ -76,7 +76,7 @@ class NownessIE(NownessBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Kasper Bjørke ft. Jaakko Eino Kalevi: TNR', 'title': 'Kasper Bjørke ft. Jaakko Eino Kalevi: TNR',
'description': 'Kasper Bjørke ft. Jaakko Eino Kalevi: TNR', 'description': 'Kasper Bjørke ft. Jaakko Eino Kalevi: TNR',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1407315371, 'timestamp': 1407315371,
'upload_date': '20140806', 'upload_date': '20140806',
'uploader_id': '2385340575001', 'uploader_id': '2385340575001',
@ -91,7 +91,7 @@ class NownessIE(NownessBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Bleu, Blanc, Rouge - A Godard Supercut', 'title': 'Bleu, Blanc, Rouge - A Godard Supercut',
'description': 'md5:f0ea5f1857dffca02dbd37875d742cec', 'description': 'md5:f0ea5f1857dffca02dbd37875d742cec',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'upload_date': '20150607', 'upload_date': '20150607',
'uploader': 'Cinema Sem Lei', 'uploader': 'Cinema Sem Lei',
'uploader_id': 'cinemasemlei', 'uploader_id': 'cinemasemlei',

View File

@ -83,7 +83,7 @@ class NowTVIE(NowTVBaseIE):
'ext': 'flv', 'ext': 'flv',
'title': 'Inka Bause stellt die neuen Bauern vor', 'title': 'Inka Bause stellt die neuen Bauern vor',
'description': 'md5:e234e1ed6d63cf06be5c070442612e7e', 'description': 'md5:e234e1ed6d63cf06be5c070442612e7e',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1432580700, 'timestamp': 1432580700,
'upload_date': '20150525', 'upload_date': '20150525',
'duration': 2786, 'duration': 2786,
@ -101,7 +101,7 @@ class NowTVIE(NowTVBaseIE):
'ext': 'flv', 'ext': 'flv',
'title': 'Berlin - Tag & Nacht (Folge 934)', 'title': 'Berlin - Tag & Nacht (Folge 934)',
'description': 'md5:c85e88c2e36c552dfe63433bc9506dd0', 'description': 'md5:c85e88c2e36c552dfe63433bc9506dd0',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1432666800, 'timestamp': 1432666800,
'upload_date': '20150526', 'upload_date': '20150526',
'duration': 2641, 'duration': 2641,
@ -119,7 +119,7 @@ class NowTVIE(NowTVBaseIE):
'ext': 'flv', 'ext': 'flv',
'title': 'Hals- und Beinbruch', 'title': 'Hals- und Beinbruch',
'description': 'md5:b50d248efffe244e6f56737f0911ca57', 'description': 'md5:b50d248efffe244e6f56737f0911ca57',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1432415400, 'timestamp': 1432415400,
'upload_date': '20150523', 'upload_date': '20150523',
'duration': 2742, 'duration': 2742,
@ -137,7 +137,7 @@ class NowTVIE(NowTVBaseIE):
'ext': 'flv', 'ext': 'flv',
'title': 'Angst!', 'title': 'Angst!',
'description': 'md5:30cbc4c0b73ec98bcd73c9f2a8c17c4e', 'description': 'md5:30cbc4c0b73ec98bcd73c9f2a8c17c4e',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1222632900, 'timestamp': 1222632900,
'upload_date': '20080928', 'upload_date': '20080928',
'duration': 3025, 'duration': 3025,
@ -155,7 +155,7 @@ class NowTVIE(NowTVBaseIE):
'ext': 'flv', 'ext': 'flv',
'title': 'Thema u.a.: Der erste Blick: Die Apple Watch', 'title': 'Thema u.a.: Der erste Blick: Die Apple Watch',
'description': 'md5:4312b6c9d839ffe7d8caf03865a531af', 'description': 'md5:4312b6c9d839ffe7d8caf03865a531af',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1432751700, 'timestamp': 1432751700,
'upload_date': '20150527', 'upload_date': '20150527',
'duration': 1083, 'duration': 1083,
@ -173,7 +173,7 @@ class NowTVIE(NowTVBaseIE):
'ext': 'flv', 'ext': 'flv',
'title': "Büro-Fall / Chihuahua 'Joel'", 'title': "Büro-Fall / Chihuahua 'Joel'",
'description': 'md5:e62cb6bf7c3cc669179d4f1eb279ad8d', 'description': 'md5:e62cb6bf7c3cc669179d4f1eb279ad8d',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1432408200, 'timestamp': 1432408200,
'upload_date': '20150523', 'upload_date': '20150523',
'duration': 3092, 'duration': 3092,

View File

@ -24,7 +24,7 @@ class NozIE(InfoExtractor):
'duration': 215, 'duration': 215,
'title': '3:2 - Deutschland gewinnt Badminton-Länderspiel in Melle', 'title': '3:2 - Deutschland gewinnt Badminton-Länderspiel in Melle',
'description': 'Vor rund 370 Zuschauern gewinnt die deutsche Badminton-Nationalmannschaft am Donnerstag ein EM-Vorbereitungsspiel gegen Frankreich in Melle. Video Moritz Frankenberg.', 'description': 'Vor rund 370 Zuschauern gewinnt die deutsche Badminton-Nationalmannschaft am Donnerstag ein EM-Vorbereitungsspiel gegen Frankreich in Melle. Video Moritz Frankenberg.',
'thumbnail': 're:^http://.*\.jpg', 'thumbnail': r're:^http://.*\.jpg',
}, },
}] }]

View File

@ -22,7 +22,7 @@ class NTVDeIE(InfoExtractor):
'info_dict': { 'info_dict': {
'id': '14438086', 'id': '14438086',
'ext': 'mp4', 'ext': 'mp4',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'title': 'Schnee und Glätte führen zu zahlreichen Unfällen und Staus', 'title': 'Schnee und Glätte führen zu zahlreichen Unfällen und Staus',
'alt_title': 'Winterchaos auf deutschen Straßen', 'alt_title': 'Winterchaos auf deutschen Straßen',
'description': 'Schnee und Glätte sorgen deutschlandweit für einen chaotischen Start in die Woche: Auf den Straßen kommt es zu kilometerlangen Staus und Dutzenden Glätteunfällen. In Düsseldorf und München wirbelt der Schnee zudem den Flugplan durcheinander. Dutzende Flüge landen zu spät, einige fallen ganz aus.', 'description': 'Schnee und Glätte sorgen deutschlandweit für einen chaotischen Start in die Woche: Auf den Straßen kommt es zu kilometerlangen Staus und Dutzenden Glätteunfällen. In Düsseldorf und München wirbelt der Schnee zudem den Flugplan durcheinander. Dutzende Flüge landen zu spät, einige fallen ganz aus.',

View File

@ -21,7 +21,7 @@ class NTVRuIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Командующий Черноморским флотом провел переговоры в штабе ВМС Украины', 'title': 'Командующий Черноморским флотом провел переговоры в штабе ВМС Украины',
'description': 'Командующий Черноморским флотом провел переговоры в штабе ВМС Украины', 'description': 'Командующий Черноморским флотом провел переговоры в штабе ВМС Украины',
'thumbnail': 're:^http://.*\.jpg', 'thumbnail': r're:^http://.*\.jpg',
'duration': 136, 'duration': 136,
}, },
}, { }, {
@ -32,7 +32,7 @@ class NTVRuIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Родные пассажиров пропавшего Boeing не верят в трагический исход', 'title': 'Родные пассажиров пропавшего Boeing не верят в трагический исход',
'description': 'Родные пассажиров пропавшего Boeing не верят в трагический исход', 'description': 'Родные пассажиров пропавшего Boeing не верят в трагический исход',
'thumbnail': 're:^http://.*\.jpg', 'thumbnail': r're:^http://.*\.jpg',
'duration': 172, 'duration': 172,
}, },
}, { }, {
@ -43,7 +43,7 @@ class NTVRuIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '«Сегодня». 21 марта 2014 года. 16:00', 'title': '«Сегодня». 21 марта 2014 года. 16:00',
'description': '«Сегодня». 21 марта 2014 года. 16:00', 'description': '«Сегодня». 21 марта 2014 года. 16:00',
'thumbnail': 're:^http://.*\.jpg', 'thumbnail': r're:^http://.*\.jpg',
'duration': 1496, 'duration': 1496,
}, },
}, { }, {
@ -54,7 +54,7 @@ class NTVRuIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Остросюжетный фильм «Кома»', 'title': 'Остросюжетный фильм «Кома»',
'description': 'Остросюжетный фильм «Кома»', 'description': 'Остросюжетный фильм «Кома»',
'thumbnail': 're:^http://.*\.jpg', 'thumbnail': r're:^http://.*\.jpg',
'duration': 5592, 'duration': 5592,
}, },
}, { }, {
@ -65,7 +65,7 @@ class NTVRuIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '«Дело врачей»: «Деревце жизни»', 'title': '«Дело врачей»: «Деревце жизни»',
'description': '«Дело врачей»: «Деревце жизни»', 'description': '«Дело врачей»: «Деревце жизни»',
'thumbnail': 're:^http://.*\.jpg', 'thumbnail': r're:^http://.*\.jpg',
'duration': 2590, 'duration': 2590,
}, },
}] }]

View File

@ -13,7 +13,7 @@ class OktoberfestTVIE(InfoExtractor):
'id': 'hb-zelt', 'id': 'hb-zelt',
'ext': 'mp4', 'ext': 'mp4',
'title': 're:^Live-Kamera: Hofbräuzelt [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$', 'title': 're:^Live-Kamera: Hofbräuzelt [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'is_live': True, 'is_live': True,
}, },
'params': { 'params': {

View File

@ -16,7 +16,7 @@ class OnDemandKoreaIE(JWPlatformBaseIE):
'id': 'ask-us-anything-e43', 'id': 'ask-us-anything-e43',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Ask Us Anything : E43', 'title': 'Ask Us Anything : E43',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'params': { 'params': {
'skip_download': 'm3u8 download' 'skip_download': 'm3u8 download'

View File

@ -22,7 +22,7 @@ class OnionStudiosIE(InfoExtractor):
'id': '2937', 'id': '2937',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Hannibal charges forward, stops for a cocktail', 'title': 'Hannibal charges forward, stops for a cocktail',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'The A.V. Club', 'uploader': 'The A.V. Club',
'uploader_id': 'the-av-club', 'uploader_id': 'the-av-club',
}, },

View File

@ -19,7 +19,7 @@ class OpenloadIE(InfoExtractor):
'id': 'kUEfGclsU9o', 'id': 'kUEfGclsU9o',
'ext': 'mp4', 'ext': 'mp4',
'title': 'skyrim_no-audio_1080.mp4', 'title': 'skyrim_no-audio_1080.mp4',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, { }, {
'url': 'https://openload.co/embed/rjC09fkPLYs', 'url': 'https://openload.co/embed/rjC09fkPLYs',
@ -27,7 +27,7 @@ class OpenloadIE(InfoExtractor):
'id': 'rjC09fkPLYs', 'id': 'rjC09fkPLYs',
'ext': 'mp4', 'ext': 'mp4',
'title': 'movie.mp4', 'title': 'movie.mp4',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'subtitles': { 'subtitles': {
'en': [{ 'en': [{
'ext': 'vtt', 'ext': 'vtt',

View File

@ -247,7 +247,7 @@ class ORFIPTVIE(InfoExtractor):
'title': 'Weitere Evakuierungen um Vulkan Calbuco', 'title': 'Weitere Evakuierungen um Vulkan Calbuco',
'description': 'md5:d689c959bdbcf04efeddedbf2299d633', 'description': 'md5:d689c959bdbcf04efeddedbf2299d633',
'duration': 68.197, 'duration': 68.197,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20150425', 'upload_date': '20150425',
}, },
} }

View File

@ -26,7 +26,7 @@ class PandoraTVIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': '頭を撫でてくれる?', 'title': '頭を撫でてくれる?',
'description': '頭を撫でてくれる?', 'description': '頭を撫でてくれる?',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 39, 'duration': 39,
'upload_date': '20151218', 'upload_date': '20151218',
'uploader': 'カワイイ動物まとめ', 'uploader': 'カワイイ動物まとめ',

View File

@ -236,7 +236,7 @@ class PBSIE(InfoExtractor):
'title': 'Great Performances - Dudamel Conducts Verdi Requiem at the Hollywood Bowl - Full', 'title': 'Great Performances - Dudamel Conducts Verdi Requiem at the Hollywood Bowl - Full',
'description': 'md5:657897370e09e2bc6bf0f8d2cd313c6b', 'description': 'md5:657897370e09e2bc6bf0f8d2cd313c6b',
'duration': 6559, 'duration': 6559,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {
@ -249,7 +249,7 @@ class PBSIE(InfoExtractor):
'description': 'md5:c741d14e979fc53228c575894094f157', 'description': 'md5:c741d14e979fc53228c575894094f157',
'title': 'NOVA - Killer Typhoon', 'title': 'NOVA - Killer Typhoon',
'duration': 3172, 'duration': 3172,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20140122', 'upload_date': '20140122',
'age_limit': 10, 'age_limit': 10,
}, },
@ -270,7 +270,7 @@ class PBSIE(InfoExtractor):
'title': 'American Experience - Death and the Civil War, Chapter 1', 'title': 'American Experience - Death and the Civil War, Chapter 1',
'description': 'md5:67fa89a9402e2ee7d08f53b920674c18', 'description': 'md5:67fa89a9402e2ee7d08f53b920674c18',
'duration': 682, 'duration': 682,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'params': { 'params': {
'skip_download': True, # requires ffmpeg 'skip_download': True, # requires ffmpeg
@ -286,7 +286,7 @@ class PBSIE(InfoExtractor):
'title': 'FRONTLINE - United States of Secrets (Part One)', 'title': 'FRONTLINE - United States of Secrets (Part One)',
'description': 'md5:55756bd5c551519cc4b7703e373e217e', 'description': 'md5:55756bd5c551519cc4b7703e373e217e',
'duration': 6851, 'duration': 6851,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {
@ -302,7 +302,7 @@ class PBSIE(InfoExtractor):
'title': "A Chef's Life - Season 3, Ep. 5: Prickly Business", 'title': "A Chef's Life - Season 3, Ep. 5: Prickly Business",
'description': 'md5:c0ff7475a4b70261c7e58f493c2792a5', 'description': 'md5:c0ff7475a4b70261c7e58f493c2792a5',
'duration': 1480, 'duration': 1480,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {
@ -315,7 +315,7 @@ class PBSIE(InfoExtractor):
'title': 'FRONTLINE - The Atomic Artists', 'title': 'FRONTLINE - The Atomic Artists',
'description': 'md5:f677e4520cfacb4a5ce1471e31b57800', 'description': 'md5:f677e4520cfacb4a5ce1471e31b57800',
'duration': 723, 'duration': 723,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'params': { 'params': {
'skip_download': True, # requires ffmpeg 'skip_download': True, # requires ffmpeg
@ -330,7 +330,7 @@ class PBSIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'FRONTLINE - Netanyahu at War', 'title': 'FRONTLINE - Netanyahu at War',
'duration': 6852, 'duration': 6852,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'formats': 'mincount:8', 'formats': 'mincount:8',
}, },
}, },
@ -568,7 +568,7 @@ class PBSIE(InfoExtractor):
# Try turning it to 'program - title' naming scheme if possible # Try turning it to 'program - title' naming scheme if possible
alt_title = info.get('program', {}).get('title') alt_title = info.get('program', {}).get('title')
if alt_title: if alt_title:
info['title'] = alt_title + ' - ' + re.sub(r'^' + alt_title + '[\s\-:]+', '', info['title']) info['title'] = alt_title + ' - ' + re.sub(r'^' + alt_title + r'[\s\-:]+', '', info['title'])
description = info.get('description') or info.get( description = info.get('description') or info.get(
'program', {}).get('description') or description 'program', {}).get('description') or description

View File

@ -14,7 +14,7 @@ class PeopleIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Astronaut Love Triangle Victim Speaks Out: “The Crime in 2007 Hasnt Defined Us”', 'title': 'Astronaut Love Triangle Victim Speaks Out: “The Crime in 2007 Hasnt Defined Us”',
'description': 'Colleen Shipman speaks to PEOPLE for the first time about life after the attack', 'description': 'Colleen Shipman speaks to PEOPLE for the first time about life after the attack',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 246.318, 'duration': 246.318,
'timestamp': 1458720585, 'timestamp': 1458720585,
'upload_date': '20160323', 'upload_date': '20160323',

View File

@ -23,7 +23,7 @@ class PinkbikeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Brandon Semenuk - RAW 100', 'title': 'Brandon Semenuk - RAW 100',
'description': 'Official release: www.redbull.ca/rupertwalker', 'description': 'Official release: www.redbull.ca/rupertwalker',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 100, 'duration': 100,
'upload_date': '20150406', 'upload_date': '20150406',
'uploader': 'revelco', 'uploader': 'revelco',

View File

@ -34,7 +34,7 @@ class PladformIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Тайны перевала Дятлова • 1 серия 2 часть', 'title': 'Тайны перевала Дятлова • 1 серия 2 часть',
'description': 'Документальный сериал-расследование одной из самых жутких тайн ХХ века', 'description': 'Документальный сериал-расследование одной из самых жутких тайн ХХ века',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 694, 'duration': 694,
'age_limit': 0, 'age_limit': 0,
}, },

View File

@ -25,7 +25,7 @@ class PlaytvakIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Vyžeňte vosy a sršně ze zahrady', 'title': 'Vyžeňte vosy a sršně ze zahrady',
'description': 'md5:f93d398691044d303bc4a3de62f3e976', 'description': 'md5:f93d398691044d303bc4a3de62f3e976',
'thumbnail': 're:(?i)^https?://.*\.(?:jpg|png)$', 'thumbnail': r're:(?i)^https?://.*\.(?:jpg|png)$',
'duration': 279, 'duration': 279,
'timestamp': 1438732860, 'timestamp': 1438732860,
'upload_date': '20150805', 'upload_date': '20150805',
@ -38,7 +38,7 @@ class PlaytvakIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 're:^Přímý přenos iDNES.cz [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$', 'title': 're:^Přímý přenos iDNES.cz [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$',
'description': 'Sledujte provoz na ranveji Letiště Václava Havla v Praze', 'description': 'Sledujte provoz na ranveji Letiště Václava Havla v Praze',
'thumbnail': 're:(?i)^https?://.*\.(?:jpg|png)$', 'thumbnail': r're:(?i)^https?://.*\.(?:jpg|png)$',
'is_live': True, 'is_live': True,
}, },
'params': { 'params': {
@ -52,7 +52,7 @@ class PlaytvakIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Zavřeli jsme mraženou pizzu do auta. Upekla se', 'title': 'Zavřeli jsme mraženou pizzu do auta. Upekla se',
'description': 'md5:01e73f02329e2e5760bd5eed4d42e3c2', 'description': 'md5:01e73f02329e2e5760bd5eed4d42e3c2',
'thumbnail': 're:(?i)^https?://.*\.(?:jpg|png)$', 'thumbnail': r're:(?i)^https?://.*\.(?:jpg|png)$',
'duration': 39, 'duration': 39,
'timestamp': 1438969140, 'timestamp': 1438969140,
'upload_date': '20150807', 'upload_date': '20150807',
@ -66,7 +66,7 @@ class PlaytvakIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Táhni! Demonstrace proti imigrantům budila emoce', 'title': 'Táhni! Demonstrace proti imigrantům budila emoce',
'description': 'md5:97c81d589a9491fbfa323c9fa3cca72c', 'description': 'md5:97c81d589a9491fbfa323c9fa3cca72c',
'thumbnail': 're:(?i)^https?://.*\.(?:jpg|png)$', 'thumbnail': r're:(?i)^https?://.*\.(?:jpg|png)$',
'timestamp': 1439052180, 'timestamp': 1439052180,
'upload_date': '20150808', 'upload_date': '20150808',
'is_live': False, 'is_live': False,
@ -79,7 +79,7 @@ class PlaytvakIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Recesisté udělali z billboardu kolotoč', 'title': 'Recesisté udělali z billboardu kolotoč',
'description': 'md5:7369926049588c3989a66c9c1a043c4c', 'description': 'md5:7369926049588c3989a66c9c1a043c4c',
'thumbnail': 're:(?i)^https?://.*\.(?:jpg|png)$', 'thumbnail': r're:(?i)^https?://.*\.(?:jpg|png)$',
'timestamp': 1415725500, 'timestamp': 1415725500,
'upload_date': '20141111', 'upload_date': '20141111',
'is_live': False, 'is_live': False,

View File

@ -34,7 +34,7 @@ class PlayvidIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Ellen Euro Cutie Blond Takes a Sexy Survey Get Facial in The Park', 'title': 'Ellen Euro Cutie Blond Takes a Sexy Survey Get Facial in The Park',
'age_limit': 18, 'age_limit': 18,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}] }]

View File

@ -18,7 +18,7 @@ class PlaywireIE(InfoExtractor):
'id': '3353705', 'id': '3353705',
'ext': 'mp4', 'ext': 'mp4',
'title': 'S04_RM_UCL_Rus', 'title': 'S04_RM_UCL_Rus',
'thumbnail': 're:^https?://.*\.png$', 'thumbnail': r're:^https?://.*\.png$',
'duration': 145.94, 'duration': 145.94,
}, },
}, { }, {

View File

@ -36,7 +36,7 @@ class PolskieRadioIE(InfoExtractor):
'timestamp': 1456594200, 'timestamp': 1456594200,
'upload_date': '20160227', 'upload_date': '20160227',
'duration': 2364, 'duration': 2364,
'thumbnail': 're:^https?://static\.prsa\.pl/images/.*\.jpg$' 'thumbnail': r're:^https?://static\.prsa\.pl/images/.*\.jpg$'
}, },
}], }],
}, { }, {

View File

@ -22,7 +22,7 @@ class PornComIE(InfoExtractor):
'display_id': 'teen-grabs-a-dildo-and-fucks-her-pussy-live-on-1hottie-i-rec', 'display_id': 'teen-grabs-a-dildo-and-fucks-her-pussy-live-on-1hottie-i-rec',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Teen grabs a dildo and fucks her pussy live on 1hottie, I rec', 'title': 'Teen grabs a dildo and fucks her pussy live on 1hottie, I rec',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 551, 'duration': 551,
'view_count': int, 'view_count': int,
'age_limit': 18, 'age_limit': 18,

View File

@ -21,7 +21,7 @@ class PornHdIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Restroom selfie masturbation', 'title': 'Restroom selfie masturbation',
'description': 'md5:3748420395e03e31ac96857a8f125b2b', 'description': 'md5:3748420395e03e31ac96857a8f125b2b',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'view_count': int, 'view_count': int,
'age_limit': 18, 'age_limit': 18,
} }
@ -35,7 +35,7 @@ class PornHdIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Sierra loves doing laundry', 'title': 'Sierra loves doing laundry',
'description': 'md5:8ff0523848ac2b8f9b065ba781ccf294', 'description': 'md5:8ff0523848ac2b8f9b065ba781ccf294',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'view_count': int, 'view_count': int,
'age_limit': 18, 'age_limit': 18,
}, },

View File

@ -19,7 +19,7 @@ class PornotubeIE(InfoExtractor):
'description': 'md5:a8304bef7ef06cb4ab476ca6029b01b0', 'description': 'md5:a8304bef7ef06cb4ab476ca6029b01b0',
'categories': ['Adult Humor', 'Blondes'], 'categories': ['Adult Humor', 'Blondes'],
'uploader': 'Alpha Blue Archives', 'uploader': 'Alpha Blue Archives',
'thumbnail': 're:^https?://.*\\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1417582800, 'timestamp': 1417582800,
'age_limit': 18, 'age_limit': 18,
} }

View File

@ -23,7 +23,7 @@ class PornoVoisinesIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Recherche appartement', 'title': 'Recherche appartement',
'description': 'md5:fe10cb92ae2dd3ed94bb4080d11ff493', 'description': 'md5:fe10cb92ae2dd3ed94bb4080d11ff493',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20140925', 'upload_date': '20140925',
'duration': 120, 'duration': 120,
'view_count': int, 'view_count': int,

View File

@ -20,7 +20,7 @@ class PornoXOIE(JWPlatformBaseIE):
'display_id': 'striptease-from-sexy-secretary', 'display_id': 'striptease-from-sexy-secretary',
'description': 'md5:0ee35252b685b3883f4a1d38332f9980', 'description': 'md5:0ee35252b685b3883f4a1d38332f9980',
'categories': list, # NSFW 'categories': list, # NSFW
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'age_limit': 18, 'age_limit': 18,
} }
} }

View File

@ -19,7 +19,7 @@ class PressTVIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Organic mattresses used to clean waste water', 'title': 'Organic mattresses used to clean waste water',
'upload_date': '20160409', 'upload_date': '20160409',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'description': 'md5:20002e654bbafb6908395a5c0cfcd125' 'description': 'md5:20002e654bbafb6908395a5c0cfcd125'
} }
} }

View File

@ -20,7 +20,7 @@ class PromptFileIE(InfoExtractor):
'id': '86D1CE8462-576CAAE416', 'id': '86D1CE8462-576CAAE416',
'ext': 'mp4', 'ext': 'mp4',
'title': 'oceans.mp4', 'title': 'oceans.mp4',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
} }

View File

@ -394,7 +394,7 @@ class ProSiebenSat1IE(ProSiebenSat1BaseIE):
self._PLAYLIST_ID_REGEXES, webpage, 'playlist id') self._PLAYLIST_ID_REGEXES, webpage, 'playlist id')
playlist = self._parse_json( playlist = self._parse_json(
self._search_regex( self._search_regex(
'var\s+contentResources\s*=\s*(\[.+?\]);\s*</script', r'var\s+contentResources\s*=\s*(\[.+?\]);\s*</script',
webpage, 'playlist'), webpage, 'playlist'),
playlist_id) playlist_id)
entries = [] entries = []

View File

@ -29,7 +29,7 @@ class QQMusicIE(InfoExtractor):
'release_date': '20141227', 'release_date': '20141227',
'creator': '林俊杰', 'creator': '林俊杰',
'description': 'md5:d327722d0361576fde558f1ac68a7065', 'description': 'md5:d327722d0361576fde558f1ac68a7065',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}, { }, {
'note': 'There is no mp3-320 version of this song.', 'note': 'There is no mp3-320 version of this song.',
@ -42,7 +42,7 @@ class QQMusicIE(InfoExtractor):
'release_date': '20050626', 'release_date': '20050626',
'creator': '李季美', 'creator': '李季美',
'description': 'md5:46857d5ed62bc4ba84607a805dccf437', 'description': 'md5:46857d5ed62bc4ba84607a805dccf437',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}, { }, {
'note': 'lyrics not in .lrc format', 'note': 'lyrics not in .lrc format',
@ -54,7 +54,7 @@ class QQMusicIE(InfoExtractor):
'release_date': '19970225', 'release_date': '19970225',
'creator': 'Dark Funeral', 'creator': 'Dark Funeral',
'description': 'md5:ed14d5bd7ecec19609108052c25b2c11', 'description': 'md5:ed14d5bd7ecec19609108052c25b2c11',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'params': { 'params': {
'skip_download': True, 'skip_download': True,

View File

@ -23,7 +23,7 @@ class R7IE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Policiais humilham suspeito à beira da morte: "Morre com dignidade"', 'title': 'Policiais humilham suspeito à beira da morte: "Morre com dignidade"',
'description': 'md5:01812008664be76a6479aa58ec865b72', 'description': 'md5:01812008664be76a6479aa58ec865b72',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 98, 'duration': 98,
'like_count': int, 'like_count': int,
'view_count': int, 'view_count': int,

View File

@ -20,7 +20,7 @@ class RadioBremenIE(InfoExtractor):
'duration': 178, 'duration': 178,
'width': 512, 'width': 512,
'title': 'Druck auf Patrick Öztürk', 'title': 'Druck auf Patrick Öztürk',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'description': 'Gegen den SPD-Bürgerschaftsabgeordneten Patrick Öztürk wird wegen Beihilfe zum gewerbsmäßigen Betrug ermittelt. Am Donnerstagabend sollte er dem Vorstand des SPD-Unterbezirks Bremerhaven dazu Rede und Antwort stehen.', 'description': 'Gegen den SPD-Bürgerschaftsabgeordneten Patrick Öztürk wird wegen Beihilfe zum gewerbsmäßigen Betrug ermittelt. Am Donnerstagabend sollte er dem Vorstand des SPD-Unterbezirks Bremerhaven dazu Rede und Antwort stehen.',
}, },
} }

View File

@ -13,7 +13,7 @@ class RadioDeIE(InfoExtractor):
'ext': 'mp3', 'ext': 'mp3',
'title': 're:^NDR 2 [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$', 'title': 're:^NDR 2 [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$',
'description': 'md5:591c49c702db1a33751625ebfb67f273', 'description': 'md5:591c49c702db1a33751625ebfb67f273',
'thumbnail': 're:^https?://.*\.png', 'thumbnail': r're:^https?://.*\.png',
'is_live': True, 'is_live': True,
}, },
'params': { 'params': {

View File

@ -18,7 +18,7 @@ class RadioJavanIE(InfoExtractor):
'id': 'chaartaar-ashoobam', 'id': 'chaartaar-ashoobam',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Chaartaar - Ashoobam', 'title': 'Chaartaar - Ashoobam',
'thumbnail': 're:^https?://.*\.jpe?g$', 'thumbnail': r're:^https?://.*\.jpe?g$',
'upload_date': '20150215', 'upload_date': '20150215',
'view_count': int, 'view_count': int,
'like_count': int, 'like_count': int,

View File

@ -120,7 +120,7 @@ class RaiTVIE(RaiBaseIE):
'description': 'md5:f27c544694cacb46a078db84ec35d2d9', 'description': 'md5:f27c544694cacb46a078db84ec35d2d9',
'upload_date': '20140407', 'upload_date': '20140407',
'duration': 6160, 'duration': 6160,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}, },
{ {
@ -133,7 +133,7 @@ class RaiTVIE(RaiBaseIE):
'title': 'TG PRIMO TEMPO', 'title': 'TG PRIMO TEMPO',
'upload_date': '20140612', 'upload_date': '20140612',
'duration': 1758, 'duration': 1758,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'skip': 'Geo-restricted to Italy', 'skip': 'Geo-restricted to Italy',
}, },
@ -169,7 +169,7 @@ class RaiTVIE(RaiBaseIE):
'description': 'md5:364b604f7db50594678f483353164fb8', 'description': 'md5:364b604f7db50594678f483353164fb8',
'upload_date': '20140923', 'upload_date': '20140923',
'duration': 386, 'duration': 386,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}, },
] ]

View File

@ -22,7 +22,7 @@ class RBMARadioIE(InfoExtractor):
'ext': 'mp3', 'ext': 'mp3',
'title': 'Main Stage - Ford & Lopatin', 'title': 'Main Stage - Ford & Lopatin',
'description': 'md5:4f340fb48426423530af5a9d87bd7b91', 'description': 'md5:4f340fb48426423530af5a9d87bd7b91',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 2452, 'duration': 2452,
'timestamp': 1307103164, 'timestamp': 1307103164,
'upload_date': '20110603', 'upload_date': '20110603',

View File

@ -32,7 +32,7 @@ class ReutersIE(InfoExtractor):
webpage, 'video data')) webpage, 'video data'))
def get_json_value(key, fatal=False): def get_json_value(key, fatal=False):
return self._search_regex('"%s"\s*:\s*"([^"]+)"' % key, video_data, key, fatal=fatal) return self._search_regex(r'"%s"\s*:\s*"([^"]+)"' % key, video_data, key, fatal=fatal)
title = unescapeHTML(get_json_value('title', fatal=True)) title = unescapeHTML(get_json_value('title', fatal=True))
mmid, fid = re.search(r',/(\d+)\?f=(\d+)', get_json_value('flv', fatal=True)).groups() mmid, fid = re.search(r',/(\d+)\?f=(\d+)', get_json_value('flv', fatal=True)).groups()

View File

@ -18,7 +18,7 @@ class ReverbNationIE(InfoExtractor):
'title': 'MONA LISA', 'title': 'MONA LISA',
'uploader': 'ALKILADOS', 'uploader': 'ALKILADOS',
'uploader_id': '216429', 'uploader_id': '216429',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
}, },
}] }]

View File

@ -14,7 +14,7 @@ class Ro220IE(InfoExtractor):
'id': 'LYV6doKo7f', 'id': 'LYV6doKo7f',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Luati-le Banii sez 4 ep 1', 'title': 'Luati-le Banii sez 4 ep 1',
'description': 're:^Iata-ne reveniti dupa o binemeritata vacanta\. +Va astept si pe Facebook cu pareri si comentarii.$', 'description': r're:^Iata-ne reveniti dupa o binemeritata vacanta\. +Va astept si pe Facebook cu pareri si comentarii.$',
} }
} }

View File

@ -18,7 +18,7 @@ class RockstarGamesIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Further Adventures in Finance and Felony Trailer', 'title': 'Further Adventures in Finance and Felony Trailer',
'description': 'md5:6d31f55f30cb101b5476c4a379e324a3', 'description': 'md5:6d31f55f30cb101b5476c4a379e324a3',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1464876000, 'timestamp': 1464876000,
'upload_date': '20160602', 'upload_date': '20160602',
} }

View File

@ -26,7 +26,7 @@ class RoosterTeethIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Million Dollars, But...: Million Dollars, But... The Game Announcement', 'title': 'Million Dollars, But...: Million Dollars, But... The Game Announcement',
'description': 'md5:0cc3b21986d54ed815f5faeccd9a9ca5', 'description': 'md5:0cc3b21986d54ed815f5faeccd9a9ca5',
'thumbnail': 're:^https?://.*\.png$', 'thumbnail': r're:^https?://.*\.png$',
'series': 'Million Dollars, But...', 'series': 'Million Dollars, But...',
'episode': 'Million Dollars, But... The Game Announcement', 'episode': 'Million Dollars, But... The Game Announcement',
'comment_count': int, 'comment_count': int,

View File

@ -14,7 +14,7 @@ class RottenTomatoesIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Toy Story 3', 'title': 'Toy Story 3',
'description': 'From the creators of the beloved TOY STORY films, comes a story that will reunite the gang in a whole new way.', 'description': 'From the creators of the beloved TOY STORY films, comes a story that will reunite the gang in a whole new way.',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
} }

View File

@ -89,7 +89,7 @@ class RteIE(RteBaseIE):
'id': '10478715', 'id': '10478715',
'ext': 'mp4', 'ext': 'mp4',
'title': 'iWitness', 'title': 'iWitness',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'The spirit of Ireland, one voice and one minute at a time.', 'description': 'The spirit of Ireland, one voice and one minute at a time.',
'duration': 60.046, 'duration': 60.046,
'upload_date': '20151012', 'upload_date': '20151012',
@ -116,7 +116,7 @@ class RteRadioIE(RteBaseIE):
'id': '10507902', 'id': '10507902',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Gloria', 'title': 'Gloria',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'md5:9ce124a7fb41559ec68f06387cabddf0', 'description': 'md5:9ce124a7fb41559ec68f06387cabddf0',
'timestamp': 1451203200, 'timestamp': 1451203200,
'upload_date': '20151227', 'upload_date': '20151227',
@ -129,7 +129,7 @@ class RteRadioIE(RteBaseIE):
'id': '3250678', 'id': '3250678',
'ext': 'flv', 'ext': 'flv',
'title': 'The Lyric Concert with Paul Herriott', 'title': 'The Lyric Concert with Paul Herriott',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': '', 'description': '',
'timestamp': 1333742400, 'timestamp': 1333742400,
'upload_date': '20120406', 'upload_date': '20120406',

View File

@ -40,7 +40,7 @@ class RtlNlIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'timestamp': 1424039400, 'timestamp': 1424039400,
'title': 'RTL Nieuws - Nieuwe beelden Kopenhagen: chaos direct na aanslag', 'title': 'RTL Nieuws - Nieuwe beelden Kopenhagen: chaos direct na aanslag',
'thumbnail': 're:^https?://screenshots\.rtl\.nl/(?:[^/]+/)*sz=[0-9]+x[0-9]+/uuid=84ae5571-ac25-4225-ae0c-ef8d9efb2aed$', 'thumbnail': r're:^https?://screenshots\.rtl\.nl/(?:[^/]+/)*sz=[0-9]+x[0-9]+/uuid=84ae5571-ac25-4225-ae0c-ef8d9efb2aed$',
'upload_date': '20150215', 'upload_date': '20150215',
'description': 'Er zijn nieuwe beelden vrijgegeven die vlak na de aanslag in Kopenhagen zijn gemaakt. Op de video is goed te zien hoe omstanders zich bekommeren om één van de slachtoffers, terwijl de eerste agenten ter plaatse komen.', 'description': 'Er zijn nieuwe beelden vrijgegeven die vlak na de aanslag in Kopenhagen zijn gemaakt. Op de video is goed te zien hoe omstanders zich bekommeren om één van de slachtoffers, terwijl de eerste agenten ter plaatse komen.',
} }
@ -52,7 +52,7 @@ class RtlNlIE(InfoExtractor):
'id': 'f536aac0-1dc3-4314-920e-3bd1c5b3811a', 'id': 'f536aac0-1dc3-4314-920e-3bd1c5b3811a',
'ext': 'mp4', 'ext': 'mp4',
'title': 'RTL Nieuws - Meer beelden van overval juwelier', 'title': 'RTL Nieuws - Meer beelden van overval juwelier',
'thumbnail': 're:^https?://screenshots\.rtl\.nl/(?:[^/]+/)*sz=[0-9]+x[0-9]+/uuid=f536aac0-1dc3-4314-920e-3bd1c5b3811a$', 'thumbnail': r're:^https?://screenshots\.rtl\.nl/(?:[^/]+/)*sz=[0-9]+x[0-9]+/uuid=f536aac0-1dc3-4314-920e-3bd1c5b3811a$',
'timestamp': 1437233400, 'timestamp': 1437233400,
'upload_date': '20150718', 'upload_date': '20150718',
'duration': 30.474, 'duration': 30.474,

View File

@ -16,7 +16,7 @@ class RTPIE(InfoExtractor):
'ext': 'mp3', 'ext': 'mp3',
'title': 'Paixões Cruzadas', 'title': 'Paixões Cruzadas',
'description': 'As paixões musicais de António Cartaxo e António Macedo', 'description': 'As paixões musicais de António Cartaxo e António Macedo',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
}, },
'params': { 'params': {
# rtmp download # rtmp download

View File

@ -32,7 +32,7 @@ class RTSIE(SRGSSRIE):
'uploader': 'Divers', 'uploader': 'Divers',
'upload_date': '19680921', 'upload_date': '19680921',
'timestamp': -40280400, 'timestamp': -40280400,
'thumbnail': 're:^https?://.*\.image', 'thumbnail': r're:^https?://.*\.image',
'view_count': int, 'view_count': int,
}, },
}, },
@ -56,7 +56,7 @@ class RTSIE(SRGSSRIE):
'uploader': 'Hockey', 'uploader': 'Hockey',
'upload_date': '20140403', 'upload_date': '20140403',
'timestamp': 1396556882, 'timestamp': 1396556882,
'thumbnail': 're:^https?://.*\.image', 'thumbnail': r're:^https?://.*\.image',
'view_count': int, 'view_count': int,
}, },
'params': { 'params': {
@ -78,7 +78,7 @@ class RTSIE(SRGSSRIE):
'uploader': 'L\'actu en vidéo', 'uploader': 'L\'actu en vidéo',
'upload_date': '20140403', 'upload_date': '20140403',
'timestamp': 1396537322, 'timestamp': 1396537322,
'thumbnail': 're:^https?://.*\.image', 'thumbnail': r're:^https?://.*\.image',
'view_count': int, 'view_count': int,
}, },
}, },

View File

@ -14,7 +14,7 @@ class RTVNHIE(InfoExtractor):
'id': '131946', 'id': '131946',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Grote zoektocht in zee bij Zandvoort naar vermiste vrouw', 'title': 'Grote zoektocht in zee bij Zandvoort naar vermiste vrouw',
'thumbnail': 're:^https?:.*\.jpg$' 'thumbnail': r're:^https?:.*\.jpg$'
} }
} }

View File

@ -28,7 +28,7 @@ class RudoIE(JWPlatformBaseIE):
@classmethod @classmethod
def _extract_url(self, webpage): def _extract_url(self, webpage):
mobj = re.search( mobj = re.search(
'<iframe[^>]+src=(?P<q1>[\'"])(?P<url>(?:https?:)?//rudo\.video/vod/[0-9a-zA-Z]+)(?P=q1)', r'<iframe[^>]+src=(?P<q1>[\'"])(?P<url>(?:https?:)?//rudo\.video/vod/[0-9a-zA-Z]+)(?P=q1)',
webpage) webpage)
if mobj: if mobj:
return mobj.group('url') return mobj.group('url')

View File

@ -14,7 +14,7 @@ class RUHDIE(InfoExtractor):
'ext': 'divx', 'ext': 'divx',
'title': 'КОТ бааааам', 'title': 'КОТ бааааам',
'description': 'классный кот)', 'description': 'классный кот)',
'thumbnail': 're:^http://.*\.jpg$', 'thumbnail': r're:^http://.*\.jpg$',
} }
} }

View File

@ -23,7 +23,7 @@ class RuutuIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Oletko aina halunnut tietää mitä tapahtuu vain hetki ennen lähetystä? - Nyt se selvisi!', 'title': 'Oletko aina halunnut tietää mitä tapahtuu vain hetki ennen lähetystä? - Nyt se selvisi!',
'description': 'md5:cfc6ccf0e57a814360df464a91ff67d6', 'description': 'md5:cfc6ccf0e57a814360df464a91ff67d6',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 114, 'duration': 114,
'age_limit': 0, 'age_limit': 0,
}, },
@ -36,7 +36,7 @@ class RuutuIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Superpesis: katso koko kausi Ruudussa', 'title': 'Superpesis: katso koko kausi Ruudussa',
'description': 'md5:bfb7336df2a12dc21d18fa696c9f8f23', 'description': 'md5:bfb7336df2a12dc21d18fa696c9f8f23',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 40, 'duration': 40,
'age_limit': 0, 'age_limit': 0,
}, },
@ -49,7 +49,7 @@ class RuutuIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Osa 1: Mikael Jungner', 'title': 'Osa 1: Mikael Jungner',
'description': 'md5:7d90f358c47542e3072ff65d7b1bcffe', 'description': 'md5:7d90f358c47542e3072ff65d7b1bcffe',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'age_limit': 0, 'age_limit': 0,
}, },
}, },

View File

@ -20,7 +20,7 @@ class SaveFromIE(InfoExtractor):
'upload_date': '20120816', 'upload_date': '20120816',
'uploader': 'Howcast', 'uploader': 'Howcast',
'uploader_id': 'Howcast', 'uploader_id': 'Howcast',
'description': 're:(?s).* Hi, my name is Rene Dreifuss\. And I\'m here to show you some MMA.*', 'description': r're:(?s).* Hi, my name is Rene Dreifuss\. And I\'m here to show you some MMA.*',
}, },
'params': { 'params': {
'skip_download': True 'skip_download': True

View File

@ -22,7 +22,7 @@ class SBSIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Dingo Conservation (The Feed)', 'title': 'Dingo Conservation (The Feed)',
'description': 'md5:f250a9856fca50d22dec0b5b8015f8a5', 'description': 'md5:f250a9856fca50d22dec0b5b8015f8a5',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'duration': 308, 'duration': 308,
'timestamp': 1408613220, 'timestamp': 1408613220,
'upload_date': '20140821', 'upload_date': '20140821',

View File

@ -21,7 +21,7 @@ class ScreencastIE(InfoExtractor):
'ext': 'm4v', 'ext': 'm4v',
'title': 'Color Measurement with Ocean Optics Spectrometers', 'title': 'Color Measurement with Ocean Optics Spectrometers',
'description': 'md5:240369cde69d8bed61349a199c5fb153', 'description': 'md5:240369cde69d8bed61349a199c5fb153',
'thumbnail': 're:^https?://.*\.(?:gif|jpg)$', 'thumbnail': r're:^https?://.*\.(?:gif|jpg)$',
} }
}, { }, {
'url': 'http://www.screencast.com/t/V2uXehPJa1ZI', 'url': 'http://www.screencast.com/t/V2uXehPJa1ZI',
@ -31,7 +31,7 @@ class ScreencastIE(InfoExtractor):
'ext': 'mov', 'ext': 'mov',
'title': 'The Amadeus Spectrometer', 'title': 'The Amadeus Spectrometer',
'description': 're:^In this video, our friends at.*To learn more about Amadeus, visit', 'description': 're:^In this video, our friends at.*To learn more about Amadeus, visit',
'thumbnail': 're:^https?://.*\.(?:gif|jpg)$', 'thumbnail': r're:^https?://.*\.(?:gif|jpg)$',
} }
}, { }, {
'url': 'http://www.screencast.com/t/aAB3iowa', 'url': 'http://www.screencast.com/t/aAB3iowa',
@ -41,7 +41,7 @@ class ScreencastIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Google Earth Export', 'title': 'Google Earth Export',
'description': 'Provides a demo of a CommunityViz export to Google Earth, one of the 3D viewing options.', 'description': 'Provides a demo of a CommunityViz export to Google Earth, one of the 3D viewing options.',
'thumbnail': 're:^https?://.*\.(?:gif|jpg)$', 'thumbnail': r're:^https?://.*\.(?:gif|jpg)$',
} }
}, { }, {
'url': 'http://www.screencast.com/t/X3ddTrYh', 'url': 'http://www.screencast.com/t/X3ddTrYh',
@ -51,7 +51,7 @@ class ScreencastIE(InfoExtractor):
'ext': 'wmv', 'ext': 'wmv',
'title': 'Toolkit 6 User Group Webinar (2014-03-04) - Default Judgment and First Impression', 'title': 'Toolkit 6 User Group Webinar (2014-03-04) - Default Judgment and First Impression',
'description': 'md5:7b9f393bc92af02326a5c5889639eab0', 'description': 'md5:7b9f393bc92af02326a5c5889639eab0',
'thumbnail': 're:^https?://.*\.(?:gif|jpg)$', 'thumbnail': r're:^https?://.*\.(?:gif|jpg)$',
} }
}, { }, {
'url': 'http://screencast.com/t/aAB3iowa', 'url': 'http://screencast.com/t/aAB3iowa',

View File

@ -14,7 +14,7 @@ class ScreencastOMaticIE(JWPlatformBaseIE):
'id': 'c2lD3BeOPl', 'id': 'c2lD3BeOPl',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Welcome to 3-4 Philosophy @ DECV!', 'title': 'Welcome to 3-4 Philosophy @ DECV!',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'as the title says! also: some general info re 1) VCE philosophy and 2) distance learning.', 'description': 'as the title says! also: some general info re 1) VCE philosophy and 2) distance learning.',
'duration': 369.163, 'duration': 369.163,
} }

View File

@ -20,7 +20,7 @@ class ScreenJunkiesIE(InfoExtractor):
'display_id': 'best-quentin-tarantino-movie', 'display_id': 'best-quentin-tarantino-movie',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Best Quentin Tarantino Movie', 'title': 'Best Quentin Tarantino Movie',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 3671, 'duration': 3671,
'age_limit': 13, 'age_limit': 13,
'tags': list, 'tags': list,
@ -32,7 +32,7 @@ class ScreenJunkiesIE(InfoExtractor):
'display_id': 'honest-trailers-the-dark-knight', 'display_id': 'honest-trailers-the-dark-knight',
'ext': 'mp4', 'ext': 'mp4',
'title': "Honest Trailers: 'The Dark Knight'", 'title': "Honest Trailers: 'The Dark Knight'",
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'age_limit': 10, 'age_limit': 10,
'tags': list, 'tags': list,
}, },
@ -44,7 +44,7 @@ class ScreenJunkiesIE(InfoExtractor):
'display_id': 'knocking-dead-ep-1-the-show-so-far', 'display_id': 'knocking-dead-ep-1-the-show-so-far',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Knocking Dead Ep 1: State of The Dead Recap', 'title': 'Knocking Dead Ep 1: State of The Dead Recap',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 3307, 'duration': 3307,
'age_limit': 13, 'age_limit': 13,
'tags': list, 'tags': list,

View File

@ -55,7 +55,7 @@ class SenateISVPIE(InfoExtractor):
'id': 'judiciary031715', 'id': 'judiciary031715',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Integrated Senate Video Player', 'title': 'Integrated Senate Video Player',
'thumbnail': 're:^https?://.*\.(?:jpg|png)$', 'thumbnail': r're:^https?://.*\.(?:jpg|png)$',
}, },
'params': { 'params': {
# m3u8 download # m3u8 download

View File

@ -29,7 +29,7 @@ class SendtoNewsIE(JWPlatformBaseIE):
'title': 'Recap: CLE 5, LAA 4', 'title': 'Recap: CLE 5, LAA 4',
'description': '8/14/16: Naquin, Almonte lead Indians in 5-4 win', 'description': '8/14/16: Naquin, Almonte lead Indians in 5-4 win',
'duration': 57.343, 'duration': 57.343,
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'upload_date': '20160815', 'upload_date': '20160815',
'timestamp': 1471221961, 'timestamp': 1471221961,
}, },

View File

@ -14,7 +14,7 @@ class SexuIE(InfoExtractor):
'title': 'md5:4d05a19a5fc049a63dbbaf05fb71d91b', 'title': 'md5:4d05a19a5fc049a63dbbaf05fb71d91b',
'description': 'md5:2b75327061310a3afb3fbd7d09e2e403', 'description': 'md5:2b75327061310a3afb3fbd7d09e2e403',
'categories': list, # NSFW 'categories': list, # NSFW
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'age_limit': 18, 'age_limit': 18,
} }
} }

View File

@ -13,7 +13,7 @@ class SlutloadIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'virginie baisee en cam', 'title': 'virginie baisee en cam',
'age_limit': 18, 'age_limit': 18,
'thumbnail': 're:https?://.*?\.jpg' 'thumbnail': r're:https?://.*?\.jpg'
} }
} }

View File

@ -81,7 +81,7 @@ class SmotriIE(InfoExtractor):
'uploader': 'psavari1', 'uploader': 'psavari1',
'uploader_id': 'psavari1', 'uploader_id': 'psavari1',
'upload_date': '20081103', 'upload_date': '20081103',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'params': { 'params': {
'videopassword': '223322', 'videopassword': '223322',
@ -117,7 +117,7 @@ class SmotriIE(InfoExtractor):
'uploader': 'вАся', 'uploader': 'вАся',
'uploader_id': 'asya_prosto', 'uploader_id': 'asya_prosto',
'upload_date': '20081218', 'upload_date': '20081218',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'age_limit': 18, 'age_limit': 18,
}, },
'params': { 'params': {

View File

@ -22,7 +22,7 @@ class SnotrIE(InfoExtractor):
'duration': 248, 'duration': 248,
'filesize_approx': 40700000, 'filesize_approx': 40700000,
'description': 'A drone flying through Fourth of July Fireworks', 'description': 'A drone flying through Fourth of July Fireworks',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'expected_warnings': ['description'], 'expected_warnings': ['description'],
}, { }, {
@ -34,7 +34,7 @@ class SnotrIE(InfoExtractor):
'duration': 126, 'duration': 126,
'filesize_approx': 8500000, 'filesize_approx': 8500000,
'description': 'The top 10 George W. Bush moments, brought to you by David Letterman!', 'description': 'The top 10 George W. Bush moments, brought to you by David Letterman!',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}] }]

View File

@ -27,7 +27,7 @@ class SoundgasmIE(InfoExtractor):
webpage = self._download_webpage(url, display_id) webpage = self._download_webpage(url, display_id)
audio_url = self._html_search_regex( audio_url = self._html_search_regex(
r'(?s)m4a\:\s"([^"]+)"', webpage, 'audio URL') r'(?s)m4a\:\s"([^"]+)"', webpage, 'audio URL')
audio_id = re.split('\/|\.', audio_url)[-2] audio_id = re.split(r'\/|\.', audio_url)[-2]
description = self._html_search_regex( description = self._html_search_regex(
r'(?s)<li>Description:\s(.*?)<\/li>', webpage, 'description', r'(?s)<li>Description:\s(.*?)<\/li>', webpage, 'description',
fatal=False) fatal=False)

View File

@ -15,7 +15,7 @@ class SpankBangIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'fantasy solo', 'title': 'fantasy solo',
'description': 'Watch fantasy solo free HD porn video - 05 minutes - dillion harper masturbates on a bed free adult movies.', 'description': 'Watch fantasy solo free HD porn video - 05 minutes - dillion harper masturbates on a bed free adult movies.',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'silly2587', 'uploader': 'silly2587',
'age_limit': 18, 'age_limit': 18,
} }

View File

@ -85,7 +85,7 @@ class SpankwireIE(InfoExtractor):
r'playerData\.cdnPath([0-9]{3,})\s*=\s*(?:encodeURIComponent\()?["\']([^"\']+)["\']', webpage) r'playerData\.cdnPath([0-9]{3,})\s*=\s*(?:encodeURIComponent\()?["\']([^"\']+)["\']', webpage)
heights = [int(video[0]) for video in videos] heights = [int(video[0]) for video in videos]
video_urls = list(map(compat_urllib_parse_unquote, [video[1] for video in videos])) video_urls = list(map(compat_urllib_parse_unquote, [video[1] for video in videos]))
if webpage.find('flashvars\.encrypted = "true"') != -1: if webpage.find(r'flashvars\.encrypted = "true"') != -1:
password = self._search_regex( password = self._search_regex(
r'flashvars\.video_title = "([^"]+)', r'flashvars\.video_title = "([^"]+)',
webpage, 'password').replace('+', ' ') webpage, 'password').replace('+', ' ')

View File

@ -18,7 +18,7 @@ class SpiegeltvIE(InfoExtractor):
'ext': 'm4v', 'ext': 'm4v',
'title': 'Flug MH370', 'title': 'Flug MH370',
'description': 'Das Rätsel um die Boeing 777 der Malaysia-Airlines', 'description': 'Das Rätsel um die Boeing 777 der Malaysia-Airlines',
'thumbnail': 're:http://.*\.jpg$', 'thumbnail': r're:http://.*\.jpg$',
}, },
'params': { 'params': {
# m3u8 download # m3u8 download

View File

@ -41,7 +41,7 @@ class Sport5IE(InfoExtractor):
webpage = self._download_webpage(url, media_id) webpage = self._download_webpage(url, media_id)
video_id = self._html_search_regex('clipId=([\w-]+)', webpage, 'video id') video_id = self._html_search_regex(r'clipId=([\w-]+)', webpage, 'video id')
metadata = self._download_xml( metadata = self._download_xml(
'http://sport5-metadata-rr-d.nsacdn.com/vod/vod/%s/HDS/metadata.xml' % video_id, 'http://sport5-metadata-rr-d.nsacdn.com/vod/vod/%s/HDS/metadata.xml' % video_id,

View File

@ -21,7 +21,7 @@ class SportBoxIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Гонка 2 заезд ««Объединенный 2000»: классы Туринг и Супер-продакшн', 'title': 'Гонка 2 заезд ««Объединенный 2000»: классы Туринг и Супер-продакшн',
'description': 'md5:3d72dc4a006ab6805d82f037fdc637ad', 'description': 'md5:3d72dc4a006ab6805d82f037fdc637ad',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20140928', 'upload_date': '20140928',
}, },
'params': { 'params': {
@ -73,7 +73,7 @@ class SportBoxEmbedIE(InfoExtractor):
'id': '211355', 'id': '211355',
'ext': 'mp4', 'ext': 'mp4',
'title': 'В Новороссийске прошел детский турнир «Поле славы боевой»', 'title': 'В Новороссийске прошел детский турнир «Поле славы боевой»',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'params': { 'params': {
# m3u8 download # m3u8 download

View File

@ -20,8 +20,8 @@ class SportDeutschlandIE(InfoExtractor):
'title': 're:Li-Ning Badminton Weltmeisterschaft 2014 Kopenhagen', 'title': 're:Li-Ning Badminton Weltmeisterschaft 2014 Kopenhagen',
'categories': ['Badminton'], 'categories': ['Badminton'],
'view_count': int, 'view_count': int,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 're:Die Badminton-WM 2014 aus Kopenhagen bei Sportdeutschland\.TV', 'description': r're:Die Badminton-WM 2014 aus Kopenhagen bei Sportdeutschland\.TV',
'timestamp': int, 'timestamp': int,
'upload_date': 're:^201408[23][0-9]$', 'upload_date': 're:^201408[23][0-9]$',
}, },
@ -38,7 +38,7 @@ class SportDeutschlandIE(InfoExtractor):
'timestamp': 1408976060, 'timestamp': 1408976060,
'duration': 2732, 'duration': 2732,
'title': 'Li-Ning Badminton Weltmeisterschaft 2014 Kopenhagen: Herren Einzel, Wei Lee vs. Keun Lee', 'title': 'Li-Ning Badminton Weltmeisterschaft 2014 Kopenhagen: Herren Einzel, Wei Lee vs. Keun Lee',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'view_count': int, 'view_count': int,
'categories': ['Li-Ning Badminton WM 2014'], 'categories': ['Li-Ning Badminton WM 2014'],

View File

@ -153,7 +153,7 @@ class SRGSSRPlayIE(InfoExtractor):
'uploader': '19h30', 'uploader': '19h30',
'upload_date': '20141201', 'upload_date': '20141201',
'timestamp': 1417458600, 'timestamp': 1417458600,
'thumbnail': 're:^https?://.*\.image', 'thumbnail': r're:^https?://.*\.image',
'view_count': int, 'view_count': int,
}, },
'params': { 'params': {

View File

@ -20,7 +20,7 @@ class SRMediathekIE(ARDMediathekIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'sportarena (26.10.2014)', 'title': 'sportarena (26.10.2014)',
'description': 'Ringen: KSV Köllerbach gegen Aachen-Walheim; Frauen-Fußball: 1. FC Saarbrücken gegen Sindelfingen; Motorsport: Rallye in Losheim; dazu: Interview mit Timo Bernhard; Turnen: TG Saar; Reitsport: Deutscher Voltigier-Pokal; Badminton: Interview mit Michael Fuchs ', 'description': 'Ringen: KSV Köllerbach gegen Aachen-Walheim; Frauen-Fußball: 1. FC Saarbrücken gegen Sindelfingen; Motorsport: Rallye in Losheim; dazu: Interview mit Timo Bernhard; Turnen: TG Saar; Reitsport: Deutscher Voltigier-Pokal; Badminton: Interview mit Michael Fuchs ',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'skip': 'no longer available', 'skip': 'no longer available',
}, { }, {

View File

@ -66,7 +66,7 @@ class StanfordOpenClassroomIE(InfoExtractor):
r'(?s)<description>([^<]+)</description>', r'(?s)<description>([^<]+)</description>',
coursepage, 'description', fatal=False) coursepage, 'description', fatal=False)
links = orderedSet(re.findall('<a href="(VideoPage.php\?[^"]+)">', coursepage)) links = orderedSet(re.findall(r'<a href="(VideoPage.php\?[^"]+)">', coursepage))
info['entries'] = [self.url_result( info['entries'] = [self.url_result(
'http://openclassroom.stanford.edu/MainFolder/%s' % unescapeHTML(l) 'http://openclassroom.stanford.edu/MainFolder/%s' % unescapeHTML(l)
) for l in links] ) for l in links]
@ -84,7 +84,7 @@ class StanfordOpenClassroomIE(InfoExtractor):
rootpage = self._download_webpage(rootURL, info['id'], rootpage = self._download_webpage(rootURL, info['id'],
errnote='Unable to download course info page') errnote='Unable to download course info page')
links = orderedSet(re.findall('<a href="(CoursePage.php\?[^"]+)">', rootpage)) links = orderedSet(re.findall(r'<a href="(CoursePage.php\?[^"]+)">', rootpage))
info['entries'] = [self.url_result( info['entries'] = [self.url_result(
'http://openclassroom.stanford.edu/MainFolder/%s' % unescapeHTML(l) 'http://openclassroom.stanford.edu/MainFolder/%s' % unescapeHTML(l)
) for l in links] ) for l in links]

View File

@ -22,7 +22,7 @@ class StitcherIE(InfoExtractor):
'title': 'Machine Learning Mastery and Cancer Clusters', 'title': 'Machine Learning Mastery and Cancer Clusters',
'description': 'md5:55163197a44e915a14a1ac3a1de0f2d3', 'description': 'md5:55163197a44e915a14a1ac3a1de0f2d3',
'duration': 1604, 'duration': 1604,
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
}, },
}, { }, {
'url': 'http://www.stitcher.com/podcast/panoply/vulture-tv/e/the-rare-hourlong-comedy-plus-40846275?autoplay=true', 'url': 'http://www.stitcher.com/podcast/panoply/vulture-tv/e/the-rare-hourlong-comedy-plus-40846275?autoplay=true',
@ -33,7 +33,7 @@ class StitcherIE(InfoExtractor):
'title': "The CW's 'Crazy Ex-Girlfriend'", 'title': "The CW's 'Crazy Ex-Girlfriend'",
'description': 'md5:04f1e2f98eb3f5cbb094cea0f9e19b17', 'description': 'md5:04f1e2f98eb3f5cbb094cea0f9e19b17',
'duration': 2235, 'duration': 2235,
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
}, },
'params': { 'params': {
'skip_download': True, 'skip_download': True,

View File

@ -21,7 +21,7 @@ class StreamableIE(InfoExtractor):
'id': 'dnd1', 'id': 'dnd1',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Mikel Oiarzabal scores to make it 0-3 for La Real against Espanyol', 'title': 'Mikel Oiarzabal scores to make it 0-3 for La Real against Espanyol',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'uploader': 'teabaker', 'uploader': 'teabaker',
'timestamp': 1454964157.35115, 'timestamp': 1454964157.35115,
'upload_date': '20160208', 'upload_date': '20160208',
@ -37,7 +37,7 @@ class StreamableIE(InfoExtractor):
'id': 'moo', 'id': 'moo',
'ext': 'mp4', 'ext': 'mp4',
'title': '"Please don\'t eat me!"', 'title': '"Please don\'t eat me!"',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'timestamp': 1426115495, 'timestamp': 1426115495,
'upload_date': '20150311', 'upload_date': '20150311',
'duration': 12, 'duration': 12,

View File

@ -16,7 +16,7 @@ class StreetVoiceIE(InfoExtractor):
'ext': 'mp3', 'ext': 'mp3',
'title': '', 'title': '',
'description': 'Crispy脆樂團 - 輸', 'description': 'Crispy脆樂團 - 輸',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 260, 'duration': 260,
'upload_date': '20091018', 'upload_date': '20091018',
'uploader': 'Crispy脆樂團', 'uploader': 'Crispy脆樂團',

View File

@ -21,7 +21,7 @@ class SunPornoIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'md5:0a400058e8105d39e35c35e7c5184164', 'title': 'md5:0a400058e8105d39e35c35e7c5184164',
'description': 'md5:a31241990e1bd3a64e72ae99afb325fb', 'description': 'md5:a31241990e1bd3a64e72ae99afb325fb',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 302, 'duration': 302,
'age_limit': 18, 'age_limit': 18,
} }

View File

@ -129,7 +129,7 @@ class SVTPlayIE(SVTBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Flygplan till Haile Selassie', 'title': 'Flygplan till Haile Selassie',
'duration': 3527, 'duration': 3527,
'thumbnail': 're:^https?://.*[\.-]jpg$', 'thumbnail': r're:^https?://.*[\.-]jpg$',
'age_limit': 0, 'age_limit': 0,
'subtitles': { 'subtitles': {
'sv': [{ 'sv': [{

View File

@ -18,7 +18,7 @@ class SWRMediathekIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'SWR odysso', 'title': 'SWR odysso',
'description': 'md5:2012e31baad36162e97ce9eb3f157b8a', 'description': 'md5:2012e31baad36162e97ce9eb3f157b8a',
'thumbnail': 're:^http:.*\.jpg$', 'thumbnail': r're:^http:.*\.jpg$',
'duration': 2602, 'duration': 2602,
'upload_date': '20140515', 'upload_date': '20140515',
'uploader': 'SWR Fernsehen', 'uploader': 'SWR Fernsehen',
@ -32,7 +32,7 @@ class SWRMediathekIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Nachtcafé - Alltagsdroge Alkohol - zwischen Sektempfang und Komasaufen', 'title': 'Nachtcafé - Alltagsdroge Alkohol - zwischen Sektempfang und Komasaufen',
'description': 'md5:e0a3adc17e47db2c23aab9ebc36dbee2', 'description': 'md5:e0a3adc17e47db2c23aab9ebc36dbee2',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'duration': 5305, 'duration': 5305,
'upload_date': '20140516', 'upload_date': '20140516',
'uploader': 'SWR Fernsehen', 'uploader': 'SWR Fernsehen',
@ -46,7 +46,7 @@ class SWRMediathekIE(InfoExtractor):
'ext': 'mp3', 'ext': 'mp3',
'title': 'Saša Stanišic: Vor dem Fest', 'title': 'Saša Stanišic: Vor dem Fest',
'description': 'md5:5b792387dc3fbb171eb709060654e8c9', 'description': 'md5:5b792387dc3fbb171eb709060654e8c9',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'duration': 3366, 'duration': 3366,
'upload_date': '20140520', 'upload_date': '20140520',
'uploader': 'SWR 2', 'uploader': 'SWR 2',

View File

@ -23,7 +23,7 @@ class TagesschauPlayerIE(InfoExtractor):
'id': '179517', 'id': '179517',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Marie Kristin Boese, ARD Berlin, über den zukünftigen Kurs der AfD', 'title': 'Marie Kristin Boese, ARD Berlin, über den zukünftigen Kurs der AfD',
'thumbnail': 're:^https?:.*\.jpg$', 'thumbnail': r're:^https?:.*\.jpg$',
'formats': 'mincount:6', 'formats': 'mincount:6',
}, },
}, { }, {
@ -33,7 +33,7 @@ class TagesschauPlayerIE(InfoExtractor):
'id': '29417', 'id': '29417',
'ext': 'mp3', 'ext': 'mp3',
'title': 'Trabi - Bye, bye Rennpappe', 'title': 'Trabi - Bye, bye Rennpappe',
'thumbnail': 're:^https?:.*\.jpg$', 'thumbnail': r're:^https?:.*\.jpg$',
'formats': 'mincount:2', 'formats': 'mincount:2',
}, },
}, { }, {
@ -135,7 +135,7 @@ class TagesschauIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Regierungsumbildung in Athen: Neue Minister in Griechenland vereidigt', 'title': 'Regierungsumbildung in Athen: Neue Minister in Griechenland vereidigt',
'description': '18.07.2015 20:10 Uhr', 'description': '18.07.2015 20:10 Uhr',
'thumbnail': 're:^https?:.*\.jpg$', 'thumbnail': r're:^https?:.*\.jpg$',
}, },
}, { }, {
'url': 'http://www.tagesschau.de/multimedia/sendung/ts-5727.html', 'url': 'http://www.tagesschau.de/multimedia/sendung/ts-5727.html',
@ -145,7 +145,7 @@ class TagesschauIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Sendung: tagesschau \t04.12.2014 20:00 Uhr', 'title': 'Sendung: tagesschau \t04.12.2014 20:00 Uhr',
'description': 'md5:695c01bfd98b7e313c501386327aea59', 'description': 'md5:695c01bfd98b7e313c501386327aea59',
'thumbnail': 're:^https?:.*\.jpg$', 'thumbnail': r're:^https?:.*\.jpg$',
}, },
}, { }, {
# exclusive audio # exclusive audio
@ -156,7 +156,7 @@ class TagesschauIE(InfoExtractor):
'ext': 'mp3', 'ext': 'mp3',
'title': 'Trabi - Bye, bye Rennpappe', 'title': 'Trabi - Bye, bye Rennpappe',
'description': 'md5:8687dda862cbbe2cfb2df09b56341317', 'description': 'md5:8687dda862cbbe2cfb2df09b56341317',
'thumbnail': 're:^https?:.*\.jpg$', 'thumbnail': r're:^https?:.*\.jpg$',
}, },
}, { }, {
# audio in article # audio in article
@ -167,7 +167,7 @@ class TagesschauIE(InfoExtractor):
'ext': 'mp3', 'ext': 'mp3',
'title': 'Viele Baustellen für neuen BND-Chef', 'title': 'Viele Baustellen für neuen BND-Chef',
'description': 'md5:1e69a54be3e1255b2b07cdbce5bcd8b4', 'description': 'md5:1e69a54be3e1255b2b07cdbce5bcd8b4',
'thumbnail': 're:^https?:.*\.jpg$', 'thumbnail': r're:^https?:.*\.jpg$',
}, },
}, { }, {
'url': 'http://www.tagesschau.de/inland/afd-parteitag-135.html', 'url': 'http://www.tagesschau.de/inland/afd-parteitag-135.html',

View File

@ -21,7 +21,7 @@ class TassIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Посетителям московского зоопарка показали красную панду', 'title': 'Посетителям московского зоопарка показали красную панду',
'description': 'Приехавшую из Дублина Зейну можно увидеть в павильоне "Кошки тропиков"', 'description': 'Приехавшую из Дублина Зейну можно увидеть в павильоне "Кошки тропиков"',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, },
{ {

View File

@ -13,7 +13,7 @@ class TDSLifewayIE(InfoExtractor):
'id': '3453494717001', 'id': '3453494717001',
'ext': 'mp4', 'ext': 'mp4',
'title': 'The Gospel by Numbers', 'title': 'The Gospel by Numbers',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'upload_date': '20140410', 'upload_date': '20140410',
'description': 'Coming soon from T4G 2014!', 'description': 'Coming soon from T4G 2014!',
'uploader_id': '2034960640001', 'uploader_id': '2034960640001',

View File

@ -24,7 +24,7 @@ class TeacherTubeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Measures of dispersion from a frequency table', 'title': 'Measures of dispersion from a frequency table',
'description': 'Measures of dispersion from a frequency table', 'description': 'Measures of dispersion from a frequency table',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
}, { }, {
'url': 'http://www.teachertube.com/viewVideo.php?video_id=340064', 'url': 'http://www.teachertube.com/viewVideo.php?video_id=340064',
@ -34,7 +34,7 @@ class TeacherTubeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'How to Make Paper Dolls _ Paper Art Projects', 'title': 'How to Make Paper Dolls _ Paper Art Projects',
'description': 'Learn how to make paper dolls in this simple', 'description': 'Learn how to make paper dolls in this simple',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
}, { }, {
'url': 'http://www.teachertube.com/music.php?music_id=8805', 'url': 'http://www.teachertube.com/music.php?music_id=8805',

View File

@ -47,7 +47,7 @@ class TEDIE(InfoExtractor):
'id': 'tSVI8ta_P4w', 'id': 'tSVI8ta_P4w',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Vishal Sikka: The beauty and power of algorithms', 'title': 'Vishal Sikka: The beauty and power of algorithms',
'thumbnail': 're:^https?://.+\.jpg', 'thumbnail': r're:^https?://.+\.jpg',
'description': 'md5:6261fdfe3e02f4f579cbbfc00aff73f4', 'description': 'md5:6261fdfe3e02f4f579cbbfc00aff73f4',
'upload_date': '20140122', 'upload_date': '20140122',
'uploader_id': 'TEDInstitute', 'uploader_id': 'TEDInstitute',
@ -189,7 +189,7 @@ class TEDIE(InfoExtractor):
'format_id': '%s-%sk' % (format_id, bitrate), 'format_id': '%s-%sk' % (format_id, bitrate),
'tbr': bitrate, 'tbr': bitrate,
}) })
if re.search('\d+k', h264_url): if re.search(r'\d+k', h264_url):
http_url = h264_url http_url = h264_url
elif format_id == 'rtmp': elif format_id == 'rtmp':
streamer = talk_info.get('streamer') streamer = talk_info.get('streamer')

View File

@ -17,7 +17,7 @@ class TelegraafIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Tikibad ontruimd wegens brand', 'title': 'Tikibad ontruimd wegens brand',
'description': 'md5:05ca046ff47b931f9b04855015e163a4', 'description': 'md5:05ca046ff47b931f9b04855015e163a4',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 33, 'duration': 33,
}, },
'params': { 'params': {

View File

@ -19,7 +19,7 @@ class TeleMBIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Mons - Cook with Danielle : des cours de cuisine en anglais ! - Les reportages', 'title': 'Mons - Cook with Danielle : des cours de cuisine en anglais ! - Les reportages',
'description': 'md5:bc5225f47b17c309761c856ad4776265', 'description': 'md5:bc5225f47b17c309761c856ad4776265',
'thumbnail': 're:^http://.*\.(?:jpg|png)$', 'thumbnail': r're:^http://.*\.(?:jpg|png)$',
} }
}, },
{ {
@ -32,7 +32,7 @@ class TeleMBIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Havré - Incendie mortel - Les reportages', 'title': 'Havré - Incendie mortel - Les reportages',
'description': 'md5:5e54cb449acb029c2b7734e2d946bd4a', 'description': 'md5:5e54cb449acb029c2b7734e2d946bd4a',
'thumbnail': 're:^http://.*\.(?:jpg|png)$', 'thumbnail': r're:^http://.*\.(?:jpg|png)$',
} }
}, },
] ]

View File

@ -13,7 +13,7 @@ class TelewebionIE(InfoExtractor):
'id': '1263668', 'id': '1263668',
'ext': 'mp4', 'ext': 'mp4',
'title': 'قرعه\u200cکشی لیگ قهرمانان اروپا', 'title': 'قرعه\u200cکشی لیگ قهرمانان اروپا',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'view_count': int, 'view_count': int,
}, },
'params': { 'params': {

View File

@ -156,7 +156,7 @@ class ThePlatformIE(ThePlatformBaseIE, AdobePassIE):
'title': 'iPhone Siris sassy response to a math question has people talking', 'title': 'iPhone Siris sassy response to a math question has people talking',
'description': 'md5:a565d1deadd5086f3331d57298ec6333', 'description': 'md5:a565d1deadd5086f3331d57298ec6333',
'duration': 83.0, 'duration': 83.0,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1435752600, 'timestamp': 1435752600,
'upload_date': '20150701', 'upload_date': '20150701',
'uploader': 'NBCU-NEWS', 'uploader': 'NBCU-NEWS',
@ -297,7 +297,7 @@ class ThePlatformFeedIE(ThePlatformBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'The Biden factor: will Joe run in 2016?', 'title': 'The Biden factor: will Joe run in 2016?',
'description': 'Could Vice President Joe Biden be preparing a 2016 campaign? Mark Halperin and Sam Stein weigh in.', 'description': 'Could Vice President Joe Biden be preparing a 2016 campaign? Mark Halperin and Sam Stein weigh in.',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20140208', 'upload_date': '20140208',
'timestamp': 1391824260, 'timestamp': 1391824260,
'duration': 467.0, 'duration': 467.0,

View File

@ -13,7 +13,7 @@ class ThisAmericanLifeIE(InfoExtractor):
'ext': 'm4a', 'ext': 'm4a',
'title': '487: Harper High School, Part One', 'title': '487: Harper High School, Part One',
'description': 'md5:ee40bdf3fb96174a9027f76dbecea655', 'description': 'md5:ee40bdf3fb96174a9027f76dbecea655',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, { }, {
'url': 'http://www.thisamericanlife.org/play_full.php?play=487', 'url': 'http://www.thisamericanlife.org/play_full.php?play=487',

View File

@ -34,7 +34,7 @@ class TinyPicIE(InfoExtractor):
webpage = self._download_webpage(url, video_id, 'Downloading page') webpage = self._download_webpage(url, video_id, 'Downloading page')
mobj = re.search(r'(?m)fo\.addVariable\("file",\s"(?P<fileid>[\da-z]+)"\);\n' mobj = re.search(r'(?m)fo\.addVariable\("file",\s"(?P<fileid>[\da-z]+)"\);\n'
'\s+fo\.addVariable\("s",\s"(?P<serverid>\d+)"\);', webpage) r'\s+fo\.addVariable\("s",\s"(?P<serverid>\d+)"\);', webpage)
if mobj is None: if mobj is None:
raise ExtractorError('Video %s does not exist' % video_id, expected=True) raise ExtractorError('Video %s does not exist' % video_id, expected=True)

View File

@ -91,7 +91,7 @@ class TNAFlixNetworkBaseIE(InfoExtractor):
formats = [] formats = []
def extract_video_url(vl): def extract_video_url(vl):
return re.sub('speed=\d+', 'speed=', unescapeHTML(vl.text)) return re.sub(r'speed=\d+', 'speed=', unescapeHTML(vl.text))
video_link = cfg_xml.find('./videoLink') video_link = cfg_xml.find('./videoLink')
if video_link is not None: if video_link is not None:
@ -174,7 +174,7 @@ class TNAFlixNetworkEmbedIE(TNAFlixNetworkBaseIE):
'display_id': '6538', 'display_id': '6538',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Educational xxx video', 'title': 'Educational xxx video',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'age_limit': 18, 'age_limit': 18,
}, },
'params': { 'params': {
@ -209,7 +209,7 @@ class TNAFlixIE(TNAFlixNetworkBaseIE):
'display_id': 'Carmella-Decesare-striptease', 'display_id': 'Carmella-Decesare-striptease',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Carmella Decesare - striptease', 'title': 'Carmella Decesare - striptease',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'duration': 91, 'duration': 91,
'age_limit': 18, 'age_limit': 18,
'categories': ['Porn Stars'], 'categories': ['Porn Stars'],
@ -224,7 +224,7 @@ class TNAFlixIE(TNAFlixNetworkBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Educational xxx video', 'title': 'Educational xxx video',
'description': 'md5:b4fab8f88a8621c8fabd361a173fe5b8', 'description': 'md5:b4fab8f88a8621c8fabd361a173fe5b8',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'duration': 164, 'duration': 164,
'age_limit': 18, 'age_limit': 18,
'uploader': 'bobwhite39', 'uploader': 'bobwhite39',
@ -250,7 +250,7 @@ class EMPFlixIE(TNAFlixNetworkBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Amateur Finger Fuck', 'title': 'Amateur Finger Fuck',
'description': 'Amateur solo finger fucking.', 'description': 'Amateur solo finger fucking.',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'duration': 83, 'duration': 83,
'age_limit': 18, 'age_limit': 18,
'uploader': 'cwbike', 'uploader': 'cwbike',
@ -280,7 +280,7 @@ class MovieFapIE(TNAFlixNetworkBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Experienced MILF Amazing Handjob', 'title': 'Experienced MILF Amazing Handjob',
'description': 'Experienced MILF giving an Amazing Handjob', 'description': 'Experienced MILF giving an Amazing Handjob',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'age_limit': 18, 'age_limit': 18,
'uploader': 'darvinfred06', 'uploader': 'darvinfred06',
'view_count': int, 'view_count': int,
@ -298,7 +298,7 @@ class MovieFapIE(TNAFlixNetworkBaseIE):
'ext': 'flv', 'ext': 'flv',
'title': 'Jeune Couple Russe', 'title': 'Jeune Couple Russe',
'description': 'Amateur', 'description': 'Amateur',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'age_limit': 18, 'age_limit': 18,
'uploader': 'whiskeyjar', 'uploader': 'whiskeyjar',
'view_count': int, 'view_count': int,

View File

@ -23,7 +23,7 @@ class TudouIE(InfoExtractor):
'id': '159448201', 'id': '159448201',
'ext': 'f4v', 'ext': 'f4v',
'title': '卡马乔国足开大脚长传冲吊集锦', 'title': '卡马乔国足开大脚长传冲吊集锦',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1372113489000, 'timestamp': 1372113489000,
'description': '卡马乔卡家军,开大脚先进战术不完全集锦!', 'description': '卡马乔卡家军,开大脚先进战术不完全集锦!',
'duration': 289.04, 'duration': 289.04,
@ -36,7 +36,7 @@ class TudouIE(InfoExtractor):
'id': '117049447', 'id': '117049447',
'ext': 'f4v', 'ext': 'f4v',
'title': 'La Sylphide-Bolshoi-Ekaterina Krysanova & Vyacheslav Lopatin 2012', 'title': 'La Sylphide-Bolshoi-Ekaterina Krysanova & Vyacheslav Lopatin 2012',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1349207518000, 'timestamp': 1349207518000,
'description': 'md5:294612423894260f2dcd5c6c04fe248b', 'description': 'md5:294612423894260f2dcd5c6c04fe248b',
'duration': 5478.33, 'duration': 5478.33,

View File

@ -17,7 +17,7 @@ class TumblrIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'tatiana maslany news, Orphan Black || DVD extra - behind the scenes ↳...', 'title': 'tatiana maslany news, Orphan Black || DVD extra - behind the scenes ↳...',
'description': 'md5:37db8211e40b50c7c44e95da14f630b7', 'description': 'md5:37db8211e40b50c7c44e95da14f630b7',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
} }
}, { }, {
'url': 'http://5sostrum.tumblr.com/post/90208453769/yall-forgetting-the-greatest-keek-of-them-all', 'url': 'http://5sostrum.tumblr.com/post/90208453769/yall-forgetting-the-greatest-keek-of-them-all',
@ -27,7 +27,7 @@ class TumblrIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '5SOS STRUM ;]', 'title': '5SOS STRUM ;]',
'description': 'md5:dba62ac8639482759c8eb10ce474586a', 'description': 'md5:dba62ac8639482759c8eb10ce474586a',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
} }
}, { }, {
'url': 'http://hdvideotest.tumblr.com/post/130323439814/test-description-for-my-hd-video', 'url': 'http://hdvideotest.tumblr.com/post/130323439814/test-description-for-my-hd-video',
@ -37,7 +37,7 @@ class TumblrIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'HD Video Testing \u2014 Test description for my HD video', 'title': 'HD Video Testing \u2014 Test description for my HD video',
'description': 'md5:97cc3ab5fcd27ee4af6356701541319c', 'description': 'md5:97cc3ab5fcd27ee4af6356701541319c',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
'params': { 'params': {
'format': 'hd', 'format': 'hd',
@ -92,7 +92,7 @@ class TumblrIE(InfoExtractor):
'title': 'Video by victoriassecret', 'title': 'Video by victoriassecret',
'description': 'Invisibility or flight…which superpower would YOU choose? #VSFashionShow #ThisOrThat', 'description': 'Invisibility or flight…which superpower would YOU choose? #VSFashionShow #ThisOrThat',
'uploader_id': 'victoriassecret', 'uploader_id': 'victoriassecret',
'thumbnail': 're:^https?://.*\.jpg' 'thumbnail': r're:^https?://.*\.jpg'
}, },
'add_ie': ['Instagram'], 'add_ie': ['Instagram'],
}] }]

View File

@ -24,7 +24,7 @@ class TurboIE(InfoExtractor):
'duration': 3715, 'duration': 3715,
'title': 'Turbo du 07/09/2014 : Renault Twingo 3, Bentley Continental GT Speed, CES, Guide Achat Dacia... ', 'title': 'Turbo du 07/09/2014 : Renault Twingo 3, Bentley Continental GT Speed, CES, Guide Achat Dacia... ',
'description': 'Turbo du 07/09/2014 : Renault Twingo 3, Bentley Continental GT Speed, CES, Guide Achat Dacia...', 'description': 'Turbo du 07/09/2014 : Renault Twingo 3, Bentley Continental GT Speed, CES, Guide Achat Dacia...',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
} }

View File

@ -126,7 +126,7 @@ class TV2ArticleIE(InfoExtractor):
if not assets: if not assets:
# New embed pattern # New embed pattern
for v in re.findall('TV2ContentboxVideo\(({.+?})\)', webpage): for v in re.findall(r'TV2ContentboxVideo\(({.+?})\)', webpage):
video = self._parse_json( video = self._parse_json(
v, playlist_id, transform_source=js_to_json, fatal=False) v, playlist_id, transform_source=js_to_json, fatal=False)
if not video: if not video:

View File

@ -33,7 +33,7 @@ class TV4IE(InfoExtractor):
'id': '2491650', 'id': '2491650',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Kalla Fakta 5 (english subtitles)', 'title': 'Kalla Fakta 5 (english subtitles)',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': int, 'timestamp': int,
'upload_date': '20131125', 'upload_date': '20131125',
}, },
@ -45,7 +45,7 @@ class TV4IE(InfoExtractor):
'id': '3054113', 'id': '3054113',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Så här jobbar ficktjuvarna - se avslöjande bilder', 'title': 'Så här jobbar ficktjuvarna - se avslöjande bilder',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'Unika bilder avslöjar hur turisternas fickor vittjas mitt på Stockholms central. Två experter på ficktjuvarna avslöjar knepen du ska se upp för.', 'description': 'Unika bilder avslöjar hur turisternas fickor vittjas mitt på Stockholms central. Två experter på ficktjuvarna avslöjar knepen du ska se upp för.',
'timestamp': int, 'timestamp': int,
'upload_date': '20150130', 'upload_date': '20150130',

View File

@ -19,7 +19,7 @@ class TVCIE(InfoExtractor):
'id': '74622', 'id': '74622',
'ext': 'mp4', 'ext': 'mp4',
'title': 'События. "События". Эфир от 22.05.2015 14:30', 'title': 'События. "События". Эфир от 22.05.2015 14:30',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 1122, 'duration': 1122,
}, },
} }
@ -72,7 +72,7 @@ class TVCArticleIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'События. "События". Эфир от 22.05.2015 14:30', 'title': 'События. "События". Эфир от 22.05.2015 14:30',
'description': 'md5:ad7aa7db22903f983e687b8a3e98c6dd', 'description': 'md5:ad7aa7db22903f983e687b8a3e98c6dd',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 1122, 'duration': 1122,
}, },
}, { }, {
@ -82,7 +82,7 @@ class TVCArticleIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Эксперты: в столице встал вопрос о максимально безопасных остановках', 'title': 'Эксперты: в столице встал вопрос о максимально безопасных остановках',
'description': 'md5:f2098f71e21f309e89f69b525fd9846e', 'description': 'md5:f2098f71e21f309e89f69b525fd9846e',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 278, 'duration': 278,
}, },
}, { }, {
@ -92,7 +92,7 @@ class TVCArticleIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Ещё не поздно. Эфир от 03.08.2013', 'title': 'Ещё не поздно. Эфир от 03.08.2013',
'description': 'md5:51fae9f3f8cfe67abce014e428e5b027', 'description': 'md5:51fae9f3f8cfe67abce014e428e5b027',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 3316, 'duration': 3316,
}, },
}] }]

View File

@ -18,7 +18,7 @@ class TweakersIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'New Nintendo 3DS XL - Op alle fronten beter', 'title': 'New Nintendo 3DS XL - Op alle fronten beter',
'description': 'md5:3789b21fed9c0219e9bcaacd43fab280', 'description': 'md5:3789b21fed9c0219e9bcaacd43fab280',
'thumbnail': 're:^https?://.*\.jpe?g$', 'thumbnail': r're:^https?://.*\.jpe?g$',
'duration': 386, 'duration': 386,
'uploader_id': 's7JeEm', 'uploader_id': 's7JeEm',
} }

View File

@ -22,7 +22,7 @@ class TwentyFourVideoIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Эротика каменного века', 'title': 'Эротика каменного века',
'description': 'Как смотрели порно в каменном веке.', 'description': 'Как смотрели порно в каменном веке.',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'SUPERTELO', 'uploader': 'SUPERTELO',
'duration': 31, 'duration': 31,
'timestamp': 1275937857, 'timestamp': 1275937857,

View File

@ -223,7 +223,7 @@ class TwitchVodIE(TwitchItemBaseIE):
'id': 'v6528877', 'id': 'v6528877',
'ext': 'mp4', 'ext': 'mp4',
'title': 'LCK Summer Split - Week 6 Day 1', 'title': 'LCK Summer Split - Week 6 Day 1',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 17208, 'duration': 17208,
'timestamp': 1435131709, 'timestamp': 1435131709,
'upload_date': '20150624', 'upload_date': '20150624',
@ -243,7 +243,7 @@ class TwitchVodIE(TwitchItemBaseIE):
'id': 'v11230755', 'id': 'v11230755',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Untitled Broadcast', 'title': 'Untitled Broadcast',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 1638, 'duration': 1638,
'timestamp': 1439746708, 'timestamp': 1439746708,
'upload_date': '20150816', 'upload_date': '20150816',
@ -550,7 +550,7 @@ class TwitchClipsIE(InfoExtractor):
'id': 'AggressiveCobraPoooound', 'id': 'AggressiveCobraPoooound',
'ext': 'mp4', 'ext': 'mp4',
'title': 'EA Play 2016 Live from the Novo Theatre', 'title': 'EA Play 2016 Live from the Novo Theatre',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'creator': 'EA', 'creator': 'EA',
'uploader': 'stereotype_', 'uploader': 'stereotype_',
'uploader_id': 'stereotype_', 'uploader_id': 'stereotype_',

View File

@ -34,7 +34,7 @@ class TwitterCardIE(TwitterBaseIE):
'id': '560070183650213889', 'id': '560070183650213889',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Twitter Card', 'title': 'Twitter Card',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 30.033, 'duration': 30.033,
} }
}, },
@ -45,7 +45,7 @@ class TwitterCardIE(TwitterBaseIE):
'id': '623160978427936768', 'id': '623160978427936768',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Twitter Card', 'title': 'Twitter Card',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 80.155, 'duration': 80.155,
}, },
}, },
@ -82,7 +82,7 @@ class TwitterCardIE(TwitterBaseIE):
'id': '705235433198714880', 'id': '705235433198714880',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Twitter web player', 'title': 'Twitter web player',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
}, },
}, { }, {
'url': 'https://twitter.com/i/videos/752274308186120192', 'url': 'https://twitter.com/i/videos/752274308186120192',
@ -201,7 +201,7 @@ class TwitterIE(InfoExtractor):
'id': '643211948184596480', 'id': '643211948184596480',
'ext': 'mp4', 'ext': 'mp4',
'title': 'FREE THE NIPPLE - FTN supporters on Hollywood Blvd today!', 'title': 'FREE THE NIPPLE - FTN supporters on Hollywood Blvd today!',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'description': 'FREE THE NIPPLE on Twitter: "FTN supporters on Hollywood Blvd today! http://t.co/c7jHH749xJ"', 'description': 'FREE THE NIPPLE on Twitter: "FTN supporters on Hollywood Blvd today! http://t.co/c7jHH749xJ"',
'uploader': 'FREE THE NIPPLE', 'uploader': 'FREE THE NIPPLE',
'uploader_id': 'freethenipple', 'uploader_id': 'freethenipple',
@ -217,7 +217,7 @@ class TwitterIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Gifs - tu vai cai tu vai cai tu nao eh capaz disso tu vai cai', 'title': 'Gifs - tu vai cai tu vai cai tu nao eh capaz disso tu vai cai',
'description': 'Gifs on Twitter: "tu vai cai tu vai cai tu nao eh capaz disso tu vai cai https://t.co/tM46VHFlO5"', 'description': 'Gifs on Twitter: "tu vai cai tu vai cai tu nao eh capaz disso tu vai cai https://t.co/tM46VHFlO5"',
'thumbnail': 're:^https?://.*\.png', 'thumbnail': r're:^https?://.*\.png',
'uploader': 'Gifs', 'uploader': 'Gifs',
'uploader_id': 'giphz', 'uploader_id': 'giphz',
}, },
@ -257,7 +257,7 @@ class TwitterIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'JG - BEAT PROD: @suhmeduh #Damndaniel', 'title': 'JG - BEAT PROD: @suhmeduh #Damndaniel',
'description': 'JG on Twitter: "BEAT PROD: @suhmeduh https://t.co/HBrQ4AfpvZ #Damndaniel https://t.co/byBooq2ejZ"', 'description': 'JG on Twitter: "BEAT PROD: @suhmeduh https://t.co/HBrQ4AfpvZ #Damndaniel https://t.co/byBooq2ejZ"',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'uploader': 'JG', 'uploader': 'JG',
'uploader_id': 'jaydingeer', 'uploader_id': 'jaydingeer',
}, },

View File

@ -23,7 +23,7 @@ class UDNEmbedIE(InfoExtractor):
'id': '300040', 'id': '300040',
'ext': 'mp4', 'ext': 'mp4',
'title': '生物老師男變女 全校挺"做自己"', 'title': '生物老師男變女 全校挺"做自己"',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'params': { 'params': {
# m3u8 download # m3u8 download

View File

@ -21,7 +21,7 @@ class UrortIE(InfoExtractor):
'id': '33124-24', 'id': '33124-24',
'ext': 'mp3', 'ext': 'mp3',
'title': 'The Bomb', 'title': 'The Bomb',
'thumbnail': 're:^https?://.+\.jpg', 'thumbnail': r're:^https?://.+\.jpg',
'uploader': 'Gerilja', 'uploader': 'Gerilja',
'uploader_id': 'Gerilja', 'uploader_id': 'Gerilja',
'upload_date': '20100323', 'upload_date': '20100323',

View File

@ -22,7 +22,7 @@ class UstudioIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'San Francisco: Golden Gate Bridge', 'title': 'San Francisco: Golden Gate Bridge',
'description': 'md5:23925500697f2c6d4830e387ba51a9be', 'description': 'md5:23925500697f2c6d4830e387ba51a9be',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20111107', 'upload_date': '20111107',
'uploader': 'Tony Farley', 'uploader': 'Tony Farley',
} }

View File

@ -22,7 +22,7 @@ class Varzesh3IE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '۵ واکنش برتر دروازه‌بانان؛هفته ۲۶ بوندسلیگا', 'title': '۵ واکنش برتر دروازه‌بانان؛هفته ۲۶ بوندسلیگا',
'description': 'فصل ۲۰۱۵-۲۰۱۴', 'description': 'فصل ۲۰۱۵-۲۰۱۴',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
'skip': 'HTTP 404 Error', 'skip': 'HTTP 404 Error',
}, { }, {
@ -67,7 +67,7 @@ class Varzesh3IE(InfoExtractor):
webpage, display_id, default=None) webpage, display_id, default=None)
if video_id is None: if video_id is None:
video_id = self._search_regex( video_id = self._search_regex(
'var\s+VideoId\s*=\s*(\d+);', webpage, 'video id', r'var\s+VideoId\s*=\s*(\d+);', webpage, 'video id',
default=display_id) default=display_id)
return { return {

View File

@ -28,7 +28,7 @@ class Vbox7IE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Борисов: Притеснен съм за бъдещето на България', 'title': 'Борисов: Притеснен съм за бъдещето на България',
'description': 'По думите му е опасно страната ни да бъде обявена за "сигурна"', 'description': 'По думите му е опасно страната ни да бъде обявена за "сигурна"',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'timestamp': 1470982814, 'timestamp': 1470982814,
'upload_date': '20160812', 'upload_date': '20160812',
'uploader': 'zdraveibulgaria', 'uploader': 'zdraveibulgaria',
@ -56,7 +56,7 @@ class Vbox7IE(InfoExtractor):
@staticmethod @staticmethod
def _extract_url(webpage): def _extract_url(webpage):
mobj = re.search( mobj = re.search(
'<iframe[^>]+src=(?P<q>["\'])(?P<url>(?:https?:)?//vbox7\.com/emb/external\.php.+?)(?P=q)', r'<iframe[^>]+src=(?P<q>["\'])(?P<url>(?:https?:)?//vbox7\.com/emb/external\.php.+?)(?P=q)',
webpage) webpage)
if mobj: if mobj:
return mobj.group('url') return mobj.group('url')

View File

@ -24,7 +24,7 @@ class VesselIE(InfoExtractor):
'id': 'HDN7G5UMs', 'id': 'HDN7G5UMs',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Nvidia GeForce GTX Titan X - The Best Video Card on the Market?', 'title': 'Nvidia GeForce GTX Titan X - The Best Video Card on the Market?',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20150317', 'upload_date': '20150317',
'description': 'Did Nvidia pull out all the stops on the Titan X, or does its performance leave something to be desired?', 'description': 'Did Nvidia pull out all the stops on the Titan X, or does its performance leave something to be desired?',
'timestamp': int, 'timestamp': int,

View File

@ -61,7 +61,7 @@ class VGTVIE(XstreamIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Hevnen er søt: Episode 10 - Abu', 'title': 'Hevnen er søt: Episode 10 - Abu',
'description': 'md5:e25e4badb5f544b04341e14abdc72234', 'description': 'md5:e25e4badb5f544b04341e14abdc72234',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 648.000, 'duration': 648.000,
'timestamp': 1404626400, 'timestamp': 1404626400,
'upload_date': '20140706', 'upload_date': '20140706',
@ -76,7 +76,7 @@ class VGTVIE(XstreamIE):
'ext': 'flv', 'ext': 'flv',
'title': 'OPPTAK: VGTV følger EM-kvalifiseringen', 'title': 'OPPTAK: VGTV følger EM-kvalifiseringen',
'description': 'md5:3772d9c0dc2dff92a886b60039a7d4d3', 'description': 'md5:3772d9c0dc2dff92a886b60039a7d4d3',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 9103.0, 'duration': 9103.0,
'timestamp': 1410113864, 'timestamp': 1410113864,
'upload_date': '20140907', 'upload_date': '20140907',
@ -96,7 +96,7 @@ class VGTVIE(XstreamIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'V75 fra Solvalla 30.05.15', 'title': 'V75 fra Solvalla 30.05.15',
'description': 'md5:b3743425765355855f88e096acc93231', 'description': 'md5:b3743425765355855f88e096acc93231',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 25966, 'duration': 25966,
'timestamp': 1432975582, 'timestamp': 1432975582,
'upload_date': '20150530', 'upload_date': '20150530',
@ -200,7 +200,7 @@ class VGTVIE(XstreamIE):
format_info = { format_info = {
'url': mp4_url, 'url': mp4_url,
} }
mobj = re.search('(\d+)_(\d+)_(\d+)', mp4_url) mobj = re.search(r'(\d+)_(\d+)_(\d+)', mp4_url)
if mobj: if mobj:
tbr = int(mobj.group(3)) tbr = int(mobj.group(3))
format_info.update({ format_info.update({
@ -246,7 +246,7 @@ class BTArticleIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Alrekstad internat', 'title': 'Alrekstad internat',
'description': 'md5:dc81a9056c874fedb62fc48a300dac58', 'description': 'md5:dc81a9056c874fedb62fc48a300dac58',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 191, 'duration': 191,
'timestamp': 1289991323, 'timestamp': 1289991323,
'upload_date': '20101117', 'upload_date': '20101117',

View File

@ -20,7 +20,7 @@ class VidbitIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Intro to VidBit', 'title': 'Intro to VidBit',
'description': 'md5:5e0d6142eec00b766cbf114bfd3d16b7', 'description': 'md5:5e0d6142eec00b766cbf114bfd3d16b7',
'thumbnail': 're:https?://.*\.jpg$', 'thumbnail': r're:https?://.*\.jpg$',
'upload_date': '20160618', 'upload_date': '20160618',
'view_count': int, 'view_count': int,
'comment_count': int, 'comment_count': int,

View File

@ -26,7 +26,7 @@ class ViddlerIE(InfoExtractor):
'timestamp': 1335371429, 'timestamp': 1335371429,
'upload_date': '20120425', 'upload_date': '20120425',
'duration': 100.89, 'duration': 100.89,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'view_count': int, 'view_count': int,
'comment_count': int, 'comment_count': int,
'categories': ['video content', 'high quality video', 'video made easy', 'how to produce video with limited resources', 'viddler'], 'categories': ['video content', 'high quality video', 'video made easy', 'how to produce video with limited resources', 'viddler'],

View File

@ -19,7 +19,7 @@ class VideoMegaIE(InfoExtractor):
'id': 'AOSQBJYKIDDIKYJBQSOA', 'id': 'AOSQBJYKIDDIKYJBQSOA',
'ext': 'mp4', 'ext': 'mp4',
'title': '1254207', 'title': '1254207',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
}, { }, {
'url': 'http://videomega.tv/cdn.php?ref=AOSQBJYKIDDIKYJBQSOA&width=1070&height=600', 'url': 'http://videomega.tv/cdn.php?ref=AOSQBJYKIDDIKYJBQSOA&width=1070&height=600',

View File

@ -23,7 +23,7 @@ class VideomoreIE(InfoExtractor):
'title': 'Кино в деталях 5 сезон В гостях Алексей Чумаков и Юлия Ковальчук', 'title': 'Кино в деталях 5 сезон В гостях Алексей Чумаков и Юлия Ковальчук',
'series': 'Кино в деталях', 'series': 'Кино в деталях',
'episode': 'В гостях Алексей Чумаков и Юлия Ковальчук', 'episode': 'В гостях Алексей Чумаков и Юлия Ковальчук',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 2910, 'duration': 2910,
'view_count': int, 'view_count': int,
'comment_count': int, 'comment_count': int,
@ -37,7 +37,7 @@ class VideomoreIE(InfoExtractor):
'title': 'Молодежка 2 сезон 40 серия', 'title': 'Молодежка 2 сезон 40 серия',
'series': 'Молодежка', 'series': 'Молодежка',
'episode': '40 серия', 'episode': '40 серия',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 2809, 'duration': 2809,
'view_count': int, 'view_count': int,
'comment_count': int, 'comment_count': int,
@ -53,7 +53,7 @@ class VideomoreIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 'Промо Команда проиграла из-за Бакина?', 'title': 'Промо Команда проиграла из-за Бакина?',
'episode': 'Команда проиграла из-за Бакина?', 'episode': 'Команда проиграла из-за Бакина?',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 29, 'duration': 29,
'age_limit': 16, 'age_limit': 16,
'view_count': int, 'view_count': int,
@ -145,7 +145,7 @@ class VideomoreVideoIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 'Ёлки 3', 'title': 'Ёлки 3',
'description': '', 'description': '',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 5579, 'duration': 5579,
'age_limit': 6, 'age_limit': 6,
'view_count': int, 'view_count': int,
@ -168,7 +168,7 @@ class VideomoreVideoIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': '1 серия. Здравствуй, Аквавилль!', 'title': '1 серия. Здравствуй, Аквавилль!',
'description': 'md5:c6003179538b5d353e7bcd5b1372b2d7', 'description': 'md5:c6003179538b5d353e7bcd5b1372b2d7',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 754, 'duration': 754,
'age_limit': 6, 'age_limit': 6,
'view_count': int, 'view_count': int,

View File

@ -18,7 +18,7 @@ class VidioIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'DJ_AMBRED - Booyah (Live 2015)', 'title': 'DJ_AMBRED - Booyah (Live 2015)',
'description': 'md5:27dc15f819b6a78a626490881adbadf8', 'description': 'md5:27dc15f819b6a78a626490881adbadf8',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 149, 'duration': 149,
'like_count': int, 'like_count': int,
}, },

View File

@ -23,7 +23,7 @@ class VidmeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Fishing for piranha - the easy way', 'title': 'Fishing for piranha - the easy way',
'description': 'source: https://www.facebook.com/photo.php?v=312276045600871', 'description': 'source: https://www.facebook.com/photo.php?v=312276045600871',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1406313244, 'timestamp': 1406313244,
'upload_date': '20140725', 'upload_date': '20140725',
'age_limit': 0, 'age_limit': 0,
@ -39,7 +39,7 @@ class VidmeIE(InfoExtractor):
'id': 'Gc6M', 'id': 'Gc6M',
'ext': 'mp4', 'ext': 'mp4',
'title': 'O Mere Dil ke chain - Arnav and Khushi VM', 'title': 'O Mere Dil ke chain - Arnav and Khushi VM',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1441211642, 'timestamp': 1441211642,
'upload_date': '20150902', 'upload_date': '20150902',
'uploader': 'SunshineM', 'uploader': 'SunshineM',
@ -61,7 +61,7 @@ class VidmeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'The Carver', 'title': 'The Carver',
'description': 'md5:e9c24870018ae8113be936645b93ba3c', 'description': 'md5:e9c24870018ae8113be936645b93ba3c',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1433203629, 'timestamp': 1433203629,
'upload_date': '20150602', 'upload_date': '20150602',
'uploader': 'Thomas', 'uploader': 'Thomas',
@ -82,7 +82,7 @@ class VidmeIE(InfoExtractor):
'id': 'Wmur', 'id': 'Wmur',
'ext': 'mp4', 'ext': 'mp4',
'title': 'naked smoking & stretching', 'title': 'naked smoking & stretching',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1430931613, 'timestamp': 1430931613,
'upload_date': '20150506', 'upload_date': '20150506',
'uploader': 'naked-yogi', 'uploader': 'naked-yogi',
@ -115,7 +115,7 @@ class VidmeIE(InfoExtractor):
'id': 'e5g', 'id': 'e5g',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Video upload (e5g)', 'title': 'Video upload (e5g)',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'timestamp': 1401480195, 'timestamp': 1401480195,
'upload_date': '20140530', 'upload_date': '20140530',
'uploader': None, 'uploader': None,

View File

@ -14,7 +14,7 @@ from ..utils import (
class ViewLiftBaseIE(InfoExtractor): class ViewLiftBaseIE(InfoExtractor):
_DOMAINS_REGEX = '(?:snagfilms|snagxtreme|funnyforfree|kiddovid|winnersview|monumentalsportsnetwork|vayafilm)\.com|kesari\.tv' _DOMAINS_REGEX = r'(?:snagfilms|snagxtreme|funnyforfree|kiddovid|winnersview|monumentalsportsnetwork|vayafilm)\.com|kesari\.tv'
class ViewLiftEmbedIE(ViewLiftBaseIE): class ViewLiftEmbedIE(ViewLiftBaseIE):
@ -110,7 +110,7 @@ class ViewLiftIE(ViewLiftBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Lost for Life', 'title': 'Lost for Life',
'description': 'md5:fbdacc8bb6b455e464aaf98bc02e1c82', 'description': 'md5:fbdacc8bb6b455e464aaf98bc02e1c82',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 4489, 'duration': 4489,
'categories': ['Documentary', 'Crime', 'Award Winning', 'Festivals'] 'categories': ['Documentary', 'Crime', 'Award Winning', 'Festivals']
} }
@ -123,7 +123,7 @@ class ViewLiftIE(ViewLiftBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'India', 'title': 'India',
'description': 'md5:5c168c5a8f4719c146aad2e0dfac6f5f', 'description': 'md5:5c168c5a8f4719c146aad2e0dfac6f5f',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 979, 'duration': 979,
'categories': ['Documentary', 'Sports', 'Politics'] 'categories': ['Documentary', 'Sports', 'Politics']
} }
@ -160,7 +160,7 @@ class ViewLiftIE(ViewLiftBaseIE):
snag = self._parse_json( snag = self._parse_json(
self._search_regex( self._search_regex(
'Snag\.page\.data\s*=\s*(\[.+?\]);', webpage, 'snag'), r'Snag\.page\.data\s*=\s*(\[.+?\]);', webpage, 'snag'),
display_id) display_id)
for item in snag: for item in snag:

View File

@ -157,7 +157,7 @@ class ViewsterIE(InfoExtractor):
formats.extend(m3u8_formats) formats.extend(m3u8_formats)
else: else:
qualities_basename = self._search_regex( qualities_basename = self._search_regex(
'/([^/]+)\.csmil/', r'/([^/]+)\.csmil/',
manifest_url, 'qualities basename', default=None) manifest_url, 'qualities basename', default=None)
if not qualities_basename: if not qualities_basename:
continue continue

View File

@ -40,7 +40,7 @@ class ViideaIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Automatics, robotics and biocybernetics', 'title': 'Automatics, robotics and biocybernetics',
'description': 'md5:815fc1deb6b3a2bff99de2d5325be482', 'description': 'md5:815fc1deb6b3a2bff99de2d5325be482',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'timestamp': 1372349289, 'timestamp': 1372349289,
'upload_date': '20130627', 'upload_date': '20130627',
'duration': 565, 'duration': 565,
@ -58,7 +58,7 @@ class ViideaIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 'NLP at Google', 'title': 'NLP at Google',
'description': 'md5:fc7a6d9bf0302d7cc0e53f7ca23747b3', 'description': 'md5:fc7a6d9bf0302d7cc0e53f7ca23747b3',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'timestamp': 1284375600, 'timestamp': 1284375600,
'upload_date': '20100913', 'upload_date': '20100913',
'duration': 5352, 'duration': 5352,
@ -74,7 +74,7 @@ class ViideaIE(InfoExtractor):
'id': '23181', 'id': '23181',
'title': 'Deep Learning Summer School, Montreal 2015', 'title': 'Deep Learning Summer School, Montreal 2015',
'description': 'md5:0533a85e4bd918df52a01f0e1ebe87b7', 'description': 'md5:0533a85e4bd918df52a01f0e1ebe87b7',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'timestamp': 1438560000, 'timestamp': 1438560000,
}, },
'playlist_count': 30, 'playlist_count': 30,
@ -85,7 +85,7 @@ class ViideaIE(InfoExtractor):
'id': '9737', 'id': '9737',
'display_id': 'mlss09uk_bishop_ibi', 'display_id': 'mlss09uk_bishop_ibi',
'title': 'Introduction To Bayesian Inference', 'title': 'Introduction To Bayesian Inference',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'timestamp': 1251622800, 'timestamp': 1251622800,
}, },
'playlist': [{ 'playlist': [{
@ -94,7 +94,7 @@ class ViideaIE(InfoExtractor):
'display_id': 'mlss09uk_bishop_ibi_part1', 'display_id': 'mlss09uk_bishop_ibi_part1',
'ext': 'wmv', 'ext': 'wmv',
'title': 'Introduction To Bayesian Inference (Part 1)', 'title': 'Introduction To Bayesian Inference (Part 1)',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'duration': 4622, 'duration': 4622,
'timestamp': 1251622800, 'timestamp': 1251622800,
'upload_date': '20090830', 'upload_date': '20090830',
@ -105,7 +105,7 @@ class ViideaIE(InfoExtractor):
'display_id': 'mlss09uk_bishop_ibi_part2', 'display_id': 'mlss09uk_bishop_ibi_part2',
'ext': 'wmv', 'ext': 'wmv',
'title': 'Introduction To Bayesian Inference (Part 2)', 'title': 'Introduction To Bayesian Inference (Part 2)',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
'duration': 5641, 'duration': 5641,
'timestamp': 1251622800, 'timestamp': 1251622800,
'upload_date': '20090830', 'upload_date': '20090830',

View File

@ -205,7 +205,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
'title': "youtube-dl test video - \u2605 \" ' \u5e78 / \\ \u00e4 \u21ad \U0001d550", 'title': "youtube-dl test video - \u2605 \" ' \u5e78 / \\ \u00e4 \u21ad \U0001d550",
'description': 'md5:2d3305bad981a06ff79f027f19865021', 'description': 'md5:2d3305bad981a06ff79f027f19865021',
'upload_date': '20121220', 'upload_date': '20121220',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/user7108434', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/user7108434',
'uploader_id': 'user7108434', 'uploader_id': 'user7108434',
'uploader': 'Filippo Valsorda', 'uploader': 'Filippo Valsorda',
'duration': 10, 'duration': 10,
@ -218,7 +218,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
'info_dict': { 'info_dict': {
'id': '68093876', 'id': '68093876',
'ext': 'mp4', 'ext': 'mp4',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/openstreetmapus', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/openstreetmapus',
'uploader_id': 'openstreetmapus', 'uploader_id': 'openstreetmapus',
'uploader': 'OpenStreetMap US', 'uploader': 'OpenStreetMap US',
'title': 'Andy Allan - Putting the Carto into OpenStreetMap Cartography', 'title': 'Andy Allan - Putting the Carto into OpenStreetMap Cartography',
@ -235,7 +235,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Kathy Sierra: Building the minimum Badass User, Business of Software 2012', 'title': 'Kathy Sierra: Building the minimum Badass User, Business of Software 2012',
'uploader': 'The BLN & Business of Software', 'uploader': 'The BLN & Business of Software',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/theblnbusinessofsoftware', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/theblnbusinessofsoftware',
'uploader_id': 'theblnbusinessofsoftware', 'uploader_id': 'theblnbusinessofsoftware',
'duration': 3610, 'duration': 3610,
'description': None, 'description': None,
@ -250,7 +250,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'youtube-dl password protected test video', 'title': 'youtube-dl password protected test video',
'upload_date': '20130614', 'upload_date': '20130614',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/user18948128', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/user18948128',
'uploader_id': 'user18948128', 'uploader_id': 'user18948128',
'uploader': 'Jaime Marquínez Ferrándiz', 'uploader': 'Jaime Marquínez Ferrándiz',
'duration': 10, 'duration': 10,
@ -268,7 +268,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Key & Peele: Terrorist Interrogation', 'title': 'Key & Peele: Terrorist Interrogation',
'description': 'md5:8678b246399b070816b12313e8b4eb5c', 'description': 'md5:8678b246399b070816b12313e8b4eb5c',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/atencio', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/atencio',
'uploader_id': 'atencio', 'uploader_id': 'atencio',
'uploader': 'Peter Atencio', 'uploader': 'Peter Atencio',
'upload_date': '20130927', 'upload_date': '20130927',
@ -284,7 +284,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
'title': 'The New Vimeo Player (You Know, For Videos)', 'title': 'The New Vimeo Player (You Know, For Videos)',
'description': 'md5:2ec900bf97c3f389378a96aee11260ea', 'description': 'md5:2ec900bf97c3f389378a96aee11260ea',
'upload_date': '20131015', 'upload_date': '20131015',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/staff', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/staff',
'uploader_id': 'staff', 'uploader_id': 'staff',
'uploader': 'Vimeo Staff', 'uploader': 'Vimeo Staff',
'duration': 62, 'duration': 62,
@ -299,7 +299,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Pier Solar OUYA Official Trailer', 'title': 'Pier Solar OUYA Official Trailer',
'uploader': 'Tulio Gonçalves', 'uploader': 'Tulio Gonçalves',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/user28849593', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/user28849593',
'uploader_id': 'user28849593', 'uploader_id': 'user28849593',
}, },
}, },
@ -312,7 +312,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'FOX CLASSICS - Forever Classic ID - A Full Minute', 'title': 'FOX CLASSICS - Forever Classic ID - A Full Minute',
'uploader': 'The DMCI', 'uploader': 'The DMCI',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/dmci', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/dmci',
'uploader_id': 'dmci', 'uploader_id': 'dmci',
'upload_date': '20111220', 'upload_date': '20111220',
'description': 'md5:ae23671e82d05415868f7ad1aec21147', 'description': 'md5:ae23671e82d05415868f7ad1aec21147',
@ -327,7 +327,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Vimeo Tribute: The Shining', 'title': 'Vimeo Tribute: The Shining',
'uploader': 'Casey Donahue', 'uploader': 'Casey Donahue',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/caseydonahue', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/caseydonahue',
'uploader_id': 'caseydonahue', 'uploader_id': 'caseydonahue',
'upload_date': '20090821', 'upload_date': '20090821',
'description': 'md5:bdbf314014e58713e6e5b66eb252f4a6', 'description': 'md5:bdbf314014e58713e6e5b66eb252f4a6',
@ -346,7 +346,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'The Reluctant Revolutionary', 'title': 'The Reluctant Revolutionary',
'uploader': '10Ft Films', 'uploader': '10Ft Films',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/tenfootfilms', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/tenfootfilms',
'uploader_id': 'tenfootfilms', 'uploader_id': 'tenfootfilms',
}, },
'params': { 'params': {
@ -497,7 +497,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
except RegexNotFoundError: except RegexNotFoundError:
# For pro videos or player.vimeo.com urls # For pro videos or player.vimeo.com urls
# We try to find out to which variable is assigned the config dic # We try to find out to which variable is assigned the config dic
m_variable_name = re.search('(\w)\.video\.id', webpage) m_variable_name = re.search(r'(\w)\.video\.id', webpage)
if m_variable_name is not None: if m_variable_name is not None:
config_re = r'%s=({[^}].+?});' % re.escape(m_variable_name.group(1)) config_re = r'%s=({[^}].+?});' % re.escape(m_variable_name.group(1))
else: else:
@ -626,7 +626,7 @@ class VimeoOndemandIE(VimeoBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'המעבדה - במאי יותם פלדמן', 'title': 'המעבדה - במאי יותם פלדמן',
'uploader': 'גם סרטים', 'uploader': 'גם סרטים',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/gumfilms', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/gumfilms',
'uploader_id': 'gumfilms', 'uploader_id': 'gumfilms',
}, },
}, { }, {
@ -637,7 +637,7 @@ class VimeoOndemandIE(VimeoBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Rävlock, rätt läte på rätt plats', 'title': 'Rävlock, rätt läte på rätt plats',
'uploader': 'Lindroth & Norin', 'uploader': 'Lindroth & Norin',
'uploader_url': 're:https?://(?:www\.)?vimeo\.com/user14430847', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/user14430847',
'uploader_id': 'user14430847', 'uploader_id': 'user14430847',
}, },
'params': { 'params': {
@ -857,7 +857,7 @@ class VimeoReviewIE(VimeoBaseInfoExtractor):
'title': 're:(?i)^Death by dogma versus assembling agile . Sander Hoogendoorn', 'title': 're:(?i)^Death by dogma versus assembling agile . Sander Hoogendoorn',
'uploader': 'DevWeek Events', 'uploader': 'DevWeek Events',
'duration': 2773, 'duration': 2773,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader_id': 'user22258446', 'uploader_id': 'user22258446',
} }
}, { }, {

View File

@ -37,7 +37,7 @@ class VimpleIE(SprutoBaseIE):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Sunset', 'title': 'Sunset',
'duration': 20, 'duration': 20,
'thumbnail': 're:https?://.*?\.jpg', 'thumbnail': r're:https?://.*?\.jpg',
}, },
}, { }, {
'url': 'http://player.vimple.ru/iframe/52e1beec-1314-4a83-aeac-c61562eadbf9', 'url': 'http://player.vimple.ru/iframe/52e1beec-1314-4a83-aeac-c61562eadbf9',

View File

@ -20,7 +20,7 @@ class VodlockerIE(InfoExtractor):
'id': 'e8wvyzz4sl42', 'id': 'e8wvyzz4sl42',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Germany vs Brazil', 'title': 'Germany vs Brazil',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
}] }]

View File

@ -26,7 +26,7 @@ class VoiceRepublicIE(InfoExtractor):
'ext': 'm4a', 'ext': 'm4a',
'title': 'Watching the Watchers: Building a Sousveillance State', 'title': 'Watching the Watchers: Building a Sousveillance State',
'description': 'Secret surveillance programs have metadata too. The people and companies that operate secret surveillance programs can be surveilled.', 'description': 'Secret surveillance programs have metadata too. The people and companies that operate secret surveillance programs can be surveilled.',
'thumbnail': 're:^https?://.*\.(?:png|jpg)$', 'thumbnail': r're:^https?://.*\.(?:png|jpg)$',
'duration': 1800, 'duration': 1800,
'view_count': int, 'view_count': int,
} }

View File

@ -23,7 +23,7 @@ class VpornIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Violet on her 19th birthday', 'title': 'Violet on her 19th birthday',
'description': 'Violet dances in front of the camera which is sure to get you horny.', 'description': 'Violet dances in front of the camera which is sure to get you horny.',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'kileyGrope', 'uploader': 'kileyGrope',
'categories': ['Masturbation', 'Teen'], 'categories': ['Masturbation', 'Teen'],
'duration': 393, 'duration': 393,
@ -41,7 +41,7 @@ class VpornIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Hana Shower', 'title': 'Hana Shower',
'description': 'Hana showers at the bathroom.', 'description': 'Hana showers at the bathroom.',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'Hmmmmm', 'uploader': 'Hmmmmm',
'categories': ['Big Boobs', 'Erotic', 'Teen', 'Female', '720p'], 'categories': ['Big Boobs', 'Erotic', 'Teen', 'Female', '720p'],
'duration': 588, 'duration': 588,

View File

@ -26,7 +26,7 @@ class VubeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Best Drummer Ever [HD]', 'title': 'Best Drummer Ever [HD]',
'description': 'md5:2d63c4b277b85c2277761c2cf7337d71', 'description': 'md5:2d63c4b277b85c2277761c2cf7337d71',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'uploader': 'William', 'uploader': 'William',
'timestamp': 1406876915, 'timestamp': 1406876915,
'upload_date': '20140801', 'upload_date': '20140801',
@ -45,7 +45,7 @@ class VubeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Chiara Grispo - Price Tag by Jessie J', 'title': 'Chiara Grispo - Price Tag by Jessie J',
'description': 'md5:8ea652a1f36818352428cb5134933313', 'description': 'md5:8ea652a1f36818352428cb5134933313',
'thumbnail': 're:^http://frame\.thestaticvube\.com/snap/[0-9x]+/102e7e63057-5ebc-4f5c-4065-6ce4ebde131f\.jpg$', 'thumbnail': r're:^http://frame\.thestaticvube\.com/snap/[0-9x]+/102e7e63057-5ebc-4f5c-4065-6ce4ebde131f\.jpg$',
'uploader': 'Chiara.Grispo', 'uploader': 'Chiara.Grispo',
'timestamp': 1388743358, 'timestamp': 1388743358,
'upload_date': '20140103', 'upload_date': '20140103',
@ -65,7 +65,7 @@ class VubeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'My 7 year old Sister and I singing "Alive" by Krewella', 'title': 'My 7 year old Sister and I singing "Alive" by Krewella',
'description': 'md5:40bcacb97796339f1690642c21d56f4a', 'description': 'md5:40bcacb97796339f1690642c21d56f4a',
'thumbnail': 're:^http://frame\.thestaticvube\.com/snap/[0-9x]+/102265d5a9f-0f17-4f6b-5753-adf08484ee1e\.jpg$', 'thumbnail': r're:^http://frame\.thestaticvube\.com/snap/[0-9x]+/102265d5a9f-0f17-4f6b-5753-adf08484ee1e\.jpg$',
'uploader': 'Seraina', 'uploader': 'Seraina',
'timestamp': 1396492438, 'timestamp': 1396492438,
'upload_date': '20140403', 'upload_date': '20140403',
@ -84,7 +84,7 @@ class VubeIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Frozen - Let It Go Cover by Siren Gene', 'title': 'Frozen - Let It Go Cover by Siren Gene',
'description': 'My rendition of "Let It Go" originally sung by Idina Menzel.', 'description': 'My rendition of "Let It Go" originally sung by Idina Menzel.',
'thumbnail': 're:^http://frame\.thestaticvube\.com/snap/[0-9x]+/10283ab622a-86c9-4681-51f2-30d1f65774af\.jpg$', 'thumbnail': r're:^http://frame\.thestaticvube\.com/snap/[0-9x]+/10283ab622a-86c9-4681-51f2-30d1f65774af\.jpg$',
'uploader': 'Siren', 'uploader': 'Siren',
'timestamp': 1395448018, 'timestamp': 1395448018,
'upload_date': '20140322', 'upload_date': '20140322',

View File

@ -20,7 +20,7 @@ class WallaIE(InfoExtractor):
'ext': 'flv', 'ext': 'flv',
'title': 'וואן דיירקשן: ההיסטריה', 'title': 'וואן דיירקשן: ההיסטריה',
'description': 'md5:de9e2512a92442574cdb0913c49bc4d8', 'description': 'md5:de9e2512a92442574cdb0913c49bc4d8',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
'duration': 3600, 'duration': 3600,
}, },
'params': { 'params': {

View File

@ -22,7 +22,7 @@ class WatchIndianPornIE(InfoExtractor):
'display_id': 'hot-milf-from-kerala-shows-off-her-gorgeous-large-breasts-on-camera', 'display_id': 'hot-milf-from-kerala-shows-off-her-gorgeous-large-breasts-on-camera',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Hot milf from kerala shows off her gorgeous large breasts on camera', 'title': 'Hot milf from kerala shows off her gorgeous large breasts on camera',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'LoveJay', 'uploader': 'LoveJay',
'upload_date': '20160428', 'upload_date': '20160428',
'duration': 226, 'duration': 226,

View File

@ -20,7 +20,7 @@ class WebcasterIE(InfoExtractor):
'id': 'c8cefd240aa593681c8d068cff59f407_hd', 'id': 'c8cefd240aa593681c8d068cff59f407_hd',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Сибирь - Нефтехимик. Лучшие моменты первого периода', 'title': 'Сибирь - Нефтехимик. Лучшие моменты первого периода',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, { }, {
'url': 'http://bl.webcaster.pro/media/start/free_6246c7a4453ac4c42b4398f840d13100_hd/2_2991109016/e8d0d82587ef435480118f9f9c41db41/4635726126', 'url': 'http://bl.webcaster.pro/media/start/free_6246c7a4453ac4c42b4398f840d13100_hd/2_2991109016/e8d0d82587ef435480118f9f9c41db41/4635726126',

View File

@ -19,7 +19,7 @@ class WebOfStoriesIE(InfoExtractor):
'id': '4536', 'id': '4536',
'ext': 'mp4', 'ext': 'mp4',
'title': 'The temperature of the sun', 'title': 'The temperature of the sun',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'Hans Bethe talks about calculating the temperature of the sun', 'description': 'Hans Bethe talks about calculating the temperature of the sun',
'duration': 238, 'duration': 238,
} }
@ -30,7 +30,7 @@ class WebOfStoriesIE(InfoExtractor):
'id': '55908', 'id': '55908',
'ext': 'mp4', 'ext': 'mp4',
'title': 'The story of Gemmata obscuriglobus', 'title': 'The story of Gemmata obscuriglobus',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'Planctomycete talks about The story of Gemmata obscuriglobus', 'description': 'Planctomycete talks about The story of Gemmata obscuriglobus',
'duration': 169, 'duration': 169,
}, },
@ -42,7 +42,7 @@ class WebOfStoriesIE(InfoExtractor):
'id': '54215', 'id': '54215',
'ext': 'mp4', 'ext': 'mp4',
'title': '"A Leg to Stand On"', 'title': '"A Leg to Stand On"',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'description': 'Oliver Sacks talks about the death and resurrection of a limb', 'description': 'Oliver Sacks talks about the death and resurrection of a limb',
'duration': 97, 'duration': 97,
}, },
@ -134,7 +134,7 @@ class WebOfStoriesPlaylistIE(InfoExtractor):
entries = [ entries = [
self.url_result('http://www.webofstories.com/play/%s' % video_number, 'WebOfStories') self.url_result('http://www.webofstories.com/play/%s' % video_number, 'WebOfStories')
for video_number in set(re.findall('href="/playAll/%s\?sId=(\d+)"' % playlist_id, webpage)) for video_number in set(re.findall(r'href="/playAll/%s\?sId=(\d+)"' % playlist_id, webpage))
] ]
title = self._search_regex( title = self._search_regex(

View File

@ -37,11 +37,11 @@ class WeiqiTVIE(InfoExtractor):
page = self._download_webpage(url, media_id) page = self._download_webpage(url, media_id)
info_json_str = self._search_regex( info_json_str = self._search_regex(
'var\s+video\s*=\s*(.+});', page, 'info json str') r'var\s+video\s*=\s*(.+});', page, 'info json str')
info_json = self._parse_json(info_json_str, media_id) info_json = self._parse_json(info_json_str, media_id)
letvcloud_url = self._search_regex( letvcloud_url = self._search_regex(
'var\s+letvurl\s*=\s*"([^"]+)', page, 'letvcloud url') r'var\s+letvurl\s*=\s*"([^"]+)', page, 'letvcloud url')
return { return {
'_type': 'url_transparent', '_type': 'url_transparent',

View File

@ -14,7 +14,7 @@ class XBefIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'md5:7358a9faef8b7b57acda7c04816f170e', 'title': 'md5:7358a9faef8b7b57acda7c04816f170e',
'age_limit': 18, 'age_limit': 18,
'thumbnail': 're:^http://.*\.jpg', 'thumbnail': r're:^http://.*\.jpg',
} }
} }

View File

@ -44,7 +44,7 @@ class XFileShareIE(InfoExtractor):
'id': '06y9juieqpmi', 'id': '06y9juieqpmi',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Rebecca Black My Moment Official Music Video Reaction-6GK87Rc8bzQ', 'title': 'Rebecca Black My Moment Official Music Video Reaction-6GK87Rc8bzQ',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
}, { }, {
'url': 'http://gorillavid.in/embed-z08zf8le23c6-960x480.html', 'url': 'http://gorillavid.in/embed-z08zf8le23c6-960x480.html',
@ -56,7 +56,7 @@ class XFileShareIE(InfoExtractor):
'id': '3rso4kdn6f9m', 'id': '3rso4kdn6f9m',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Micro Pig piglets ready on 16th July 2009-bG0PdrCdxUc', 'title': 'Micro Pig piglets ready on 16th July 2009-bG0PdrCdxUc',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
} }
}, { }, {
'url': 'http://movpod.in/0wguyyxi1yca', 'url': 'http://movpod.in/0wguyyxi1yca',
@ -67,7 +67,7 @@ class XFileShareIE(InfoExtractor):
'id': '3ivfabn7573c', 'id': '3ivfabn7573c',
'ext': 'mp4', 'ext': 'mp4',
'title': 'youtube-dl test video \'äBaW_jenozKc.mp4.mp4', 'title': 'youtube-dl test video \'äBaW_jenozKc.mp4.mp4',
'thumbnail': 're:http://.*\.jpg', 'thumbnail': r're:http://.*\.jpg',
}, },
'skip': 'Video removed', 'skip': 'Video removed',
}, { }, {

View File

@ -24,7 +24,7 @@ class XuiteIE(InfoExtractor):
'id': '3860914', 'id': '3860914',
'ext': 'mp3', 'ext': 'mp3',
'title': '孤單南半球-歐德陽', 'title': '孤單南半球-歐德陽',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 247.246, 'duration': 247.246,
'timestamp': 1314932940, 'timestamp': 1314932940,
'upload_date': '20110902', 'upload_date': '20110902',
@ -40,7 +40,7 @@ class XuiteIE(InfoExtractor):
'id': '25925099', 'id': '25925099',
'ext': 'mp4', 'ext': 'mp4',
'title': 'BigBuckBunny_320x180', 'title': 'BigBuckBunny_320x180',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 596.458, 'duration': 596.458,
'timestamp': 1454242500, 'timestamp': 1454242500,
'upload_date': '20160131', 'upload_date': '20160131',
@ -58,7 +58,7 @@ class XuiteIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': '暗殺教室 02', 'title': '暗殺教室 02',
'description': '字幕:【極影字幕社】', 'description': '字幕:【極影字幕社】',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 1384.907, 'duration': 1384.907,
'timestamp': 1421481240, 'timestamp': 1421481240,
'upload_date': '20150117', 'upload_date': '20150117',

View File

@ -21,7 +21,7 @@ class YesJapanIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'timestamp': 1416391590, 'timestamp': 1416391590,
'upload_date': '20141119', 'upload_date': '20141119',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
} }
} }

View File

@ -18,7 +18,7 @@ class YinYueTaiIE(InfoExtractor):
'title': '少女时代_PARTY_Music Video Teaser', 'title': '少女时代_PARTY_Music Video Teaser',
'creator': '少女时代', 'creator': '少女时代',
'duration': 25, 'duration': 25,
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, { }, {
'url': 'http://v.yinyuetai.com/video/h5/2322376', 'url': 'http://v.yinyuetai.com/video/h5/2322376',

View File

@ -17,7 +17,7 @@ class YnetIE(InfoExtractor):
'id': 'L-11659-99244', 'id': 'L-11659-99244',
'ext': 'flv', 'ext': 'flv',
'title': 'איש לא יודע מאיפה באנו', 'title': 'איש לא יודע מאיפה באנו',
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
} }
}, { }, {
'url': 'http://hot.ynet.co.il/home/0,7340,L-8859-84418,00.html', 'url': 'http://hot.ynet.co.il/home/0,7340,L-8859-84418,00.html',
@ -25,7 +25,7 @@ class YnetIE(InfoExtractor):
'id': 'L-8859-84418', 'id': 'L-8859-84418',
'ext': 'flv', 'ext': 'flv',
'title': "צפו: הנשיקה הלוהטת של תורגי' ויוליה פלוטקין", 'title': "צפו: הנשיקה הלוהטת של תורגי' ויוליה פלוטקין",
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': r're:^https?://.*\.jpg',
} }
} }
] ]

View File

@ -24,7 +24,7 @@ class YouPornIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Sex Ed: Is It Safe To Masturbate Daily?', 'title': 'Sex Ed: Is It Safe To Masturbate Daily?',
'description': 'Love & Sex Answers: http://bit.ly/DanAndJenn -- Is It Unhealthy To Masturbate Daily?', 'description': 'Love & Sex Answers: http://bit.ly/DanAndJenn -- Is It Unhealthy To Masturbate Daily?',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'Ask Dan And Jennifer', 'uploader': 'Ask Dan And Jennifer',
'upload_date': '20101221', 'upload_date': '20101221',
'average_rating': int, 'average_rating': int,
@ -43,7 +43,7 @@ class YouPornIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Big Tits Awesome Brunette On amazing webcam show', 'title': 'Big Tits Awesome Brunette On amazing webcam show',
'description': 'http://sweetlivegirls.com Big Tits Awesome Brunette On amazing webcam show.mp4', 'description': 'http://sweetlivegirls.com Big Tits Awesome Brunette On amazing webcam show.mp4',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'uploader': 'Unknown', 'uploader': 'Unknown',
'upload_date': '20111125', 'upload_date': '20111125',
'average_rating': int, 'average_rating': int,

View File

@ -19,7 +19,7 @@ class YourUploadIE(InfoExtractor):
'id': '14i14h', 'id': '14i14h',
'ext': 'mp4', 'ext': 'mp4',
'title': 'BigBuckBunny_320x180.mp4', 'title': 'BigBuckBunny_320x180.mp4',
'thumbnail': 're:^https?://.*\.jpe?g', 'thumbnail': r're:^https?://.*\.jpe?g',
} }
}, },
{ {

View File

@ -376,7 +376,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'title': 'youtube-dl test video "\'/\\ä↭𝕐', 'title': 'youtube-dl test video "\'/\\ä↭𝕐',
'uploader': 'Philipp Hagemeister', 'uploader': 'Philipp Hagemeister',
'uploader_id': 'phihag', 'uploader_id': 'phihag',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/phihag', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/phihag',
'upload_date': '20121002', 'upload_date': '20121002',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'description': 'test chars: "\'/\\ä↭𝕐\ntest URL: https://github.com/rg3/youtube-dl/issues/1892\n\nThis is a test video for youtube-dl.\n\nFor more information, contact phihag@phihag.de .', 'description': 'test chars: "\'/\\ä↭𝕐\ntest URL: https://github.com/rg3/youtube-dl/issues/1892\n\nThis is a test video for youtube-dl.\n\nFor more information, contact phihag@phihag.de .',
@ -403,7 +403,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'iconic ep', 'iconic', 'love', 'it'], 'iconic ep', 'iconic', 'love', 'it'],
'uploader': 'Icona Pop', 'uploader': 'Icona Pop',
'uploader_id': 'IconaPop', 'uploader_id': 'IconaPop',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/IconaPop', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/IconaPop',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'creator': 'Icona Pop', 'creator': 'Icona Pop',
} }
@ -420,7 +420,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'description': 'md5:64249768eec3bc4276236606ea996373', 'description': 'md5:64249768eec3bc4276236606ea996373',
'uploader': 'justintimberlakeVEVO', 'uploader': 'justintimberlakeVEVO',
'uploader_id': 'justintimberlakeVEVO', 'uploader_id': 'justintimberlakeVEVO',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/justintimberlakeVEVO', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/justintimberlakeVEVO',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'creator': 'Justin Timberlake', 'creator': 'Justin Timberlake',
'age_limit': 18, 'age_limit': 18,
@ -437,7 +437,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'description': 'md5:09b78bd971f1e3e289601dfba15ca4f7', 'description': 'md5:09b78bd971f1e3e289601dfba15ca4f7',
'uploader': 'SET India', 'uploader': 'SET India',
'uploader_id': 'setindia', 'uploader_id': 'setindia',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/setindia', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/setindia',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'age_limit': 18, 'age_limit': 18,
} }
@ -451,7 +451,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'title': 'youtube-dl test video "\'/\\ä↭𝕐', 'title': 'youtube-dl test video "\'/\\ä↭𝕐',
'uploader': 'Philipp Hagemeister', 'uploader': 'Philipp Hagemeister',
'uploader_id': 'phihag', 'uploader_id': 'phihag',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/phihag', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/phihag',
'upload_date': '20121002', 'upload_date': '20121002',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'description': 'test chars: "\'/\\ä↭𝕐\ntest URL: https://github.com/rg3/youtube-dl/issues/1892\n\nThis is a test video for youtube-dl.\n\nFor more information, contact phihag@phihag.de .', 'description': 'test chars: "\'/\\ä↭𝕐\ntest URL: https://github.com/rg3/youtube-dl/issues/1892\n\nThis is a test video for youtube-dl.\n\nFor more information, contact phihag@phihag.de .',
@ -472,7 +472,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'ext': 'm4a', 'ext': 'm4a',
'upload_date': '20121002', 'upload_date': '20121002',
'uploader_id': '8KVIDEO', 'uploader_id': '8KVIDEO',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/8KVIDEO', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/8KVIDEO',
'description': '', 'description': '',
'uploader': '8KVIDEO', 'uploader': '8KVIDEO',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
@ -531,7 +531,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'upload_date': '20100909', 'upload_date': '20100909',
'uploader': 'The Amazing Atheist', 'uploader': 'The Amazing Atheist',
'uploader_id': 'TheAmazingAtheist', 'uploader_id': 'TheAmazingAtheist',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/TheAmazingAtheist', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/TheAmazingAtheist',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'title': 'Burning Everyone\'s Koran', 'title': 'Burning Everyone\'s Koran',
'description': 'SUBSCRIBE: http://www.youtube.com/saturninefilms\n\nEven Obama has taken a stand against freedom on this issue: http://www.huffingtonpost.com/2010/09/09/obama-gma-interview-quran_n_710282.html', 'description': 'SUBSCRIBE: http://www.youtube.com/saturninefilms\n\nEven Obama has taken a stand against freedom on this issue: http://www.huffingtonpost.com/2010/09/09/obama-gma-interview-quran_n_710282.html',
@ -544,10 +544,10 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'id': 'HtVdAasjOgU', 'id': 'HtVdAasjOgU',
'ext': 'mp4', 'ext': 'mp4',
'title': 'The Witcher 3: Wild Hunt - The Sword Of Destiny Trailer', 'title': 'The Witcher 3: Wild Hunt - The Sword Of Destiny Trailer',
'description': 're:(?s).{100,}About the Game\n.*?The Witcher 3: Wild Hunt.{100,}', 'description': r're:(?s).{100,}About the Game\n.*?The Witcher 3: Wild Hunt.{100,}',
'uploader': 'The Witcher', 'uploader': 'The Witcher',
'uploader_id': 'WitcherGame', 'uploader_id': 'WitcherGame',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/WitcherGame', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/WitcherGame',
'upload_date': '20140605', 'upload_date': '20140605',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'age_limit': 18, 'age_limit': 18,
@ -563,7 +563,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'description': 'md5:33765bb339e1b47e7e72b5490139bb41', 'description': 'md5:33765bb339e1b47e7e72b5490139bb41',
'uploader': 'LloydVEVO', 'uploader': 'LloydVEVO',
'uploader_id': 'LloydVEVO', 'uploader_id': 'LloydVEVO',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/LloydVEVO', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/LloydVEVO',
'upload_date': '20110629', 'upload_date': '20110629',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'age_limit': 18, 'age_limit': 18,
@ -577,7 +577,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'upload_date': '20100430', 'upload_date': '20100430',
'uploader_id': 'deadmau5', 'uploader_id': 'deadmau5',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/deadmau5', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/deadmau5',
'creator': 'deadmau5', 'creator': 'deadmau5',
'description': 'md5:12c56784b8032162bb936a5f76d55360', 'description': 'md5:12c56784b8032162bb936a5f76d55360',
'uploader': 'deadmau5', 'uploader': 'deadmau5',
@ -597,7 +597,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'upload_date': '20150827', 'upload_date': '20150827',
'uploader_id': 'olympic', 'uploader_id': 'olympic',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/olympic', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/olympic',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'description': 'HO09 - Women - GER-AUS - Hockey - 31 July 2012 - London 2012 Olympic Games', 'description': 'HO09 - Women - GER-AUS - Hockey - 31 July 2012 - London 2012 Olympic Games',
'uploader': 'Olympic', 'uploader': 'Olympic',
@ -616,7 +616,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'stretched_ratio': 16 / 9., 'stretched_ratio': 16 / 9.,
'upload_date': '20110310', 'upload_date': '20110310',
'uploader_id': 'AllenMeow', 'uploader_id': 'AllenMeow',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/AllenMeow', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/AllenMeow',
'description': 'made by Wacom from Korea | 字幕&加油添醋 by TY\'s Allen | 感謝heylisa00cavey1001同學熱情提供梗及翻譯', 'description': 'made by Wacom from Korea | 字幕&加油添醋 by TY\'s Allen | 感謝heylisa00cavey1001同學熱情提供梗及翻譯',
'uploader': '孫艾倫', 'uploader': '孫艾倫',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
@ -650,7 +650,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'description': 'md5:116377fd2963b81ec4ce64b542173306', 'description': 'md5:116377fd2963b81ec4ce64b542173306',
'upload_date': '20150625', 'upload_date': '20150625',
'uploader_id': 'dorappi2000', 'uploader_id': 'dorappi2000',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/dorappi2000', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/dorappi2000',
'uploader': 'dorappi2000', 'uploader': 'dorappi2000',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'formats': 'mincount:32', 'formats': 'mincount:32',
@ -693,7 +693,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'upload_date': '20150721', 'upload_date': '20150721',
'uploader': 'Beer Games Beer', 'uploader': 'Beer Games Beer',
'uploader_id': 'beergamesbeer', 'uploader_id': 'beergamesbeer',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/beergamesbeer', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/beergamesbeer',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
}, },
}, { }, {
@ -705,7 +705,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'upload_date': '20150721', 'upload_date': '20150721',
'uploader': 'Beer Games Beer', 'uploader': 'Beer Games Beer',
'uploader_id': 'beergamesbeer', 'uploader_id': 'beergamesbeer',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/beergamesbeer', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/beergamesbeer',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
}, },
}, { }, {
@ -717,7 +717,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'upload_date': '20150721', 'upload_date': '20150721',
'uploader': 'Beer Games Beer', 'uploader': 'Beer Games Beer',
'uploader_id': 'beergamesbeer', 'uploader_id': 'beergamesbeer',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/beergamesbeer', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/beergamesbeer',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
}, },
}, { }, {
@ -729,7 +729,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'upload_date': '20150721', 'upload_date': '20150721',
'uploader': 'Beer Games Beer', 'uploader': 'Beer Games Beer',
'uploader_id': 'beergamesbeer', 'uploader_id': 'beergamesbeer',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/beergamesbeer', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/beergamesbeer',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
}, },
}], }],
@ -769,7 +769,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'description': 'md5:8085699c11dc3f597ce0410b0dcbb34a', 'description': 'md5:8085699c11dc3f597ce0410b0dcbb34a',
'upload_date': '20151119', 'upload_date': '20151119',
'uploader_id': 'IronSoulElf', 'uploader_id': 'IronSoulElf',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/IronSoulElf', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/IronSoulElf',
'uploader': 'IronSoulElf', 'uploader': 'IronSoulElf',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'creator': 'Todd Haberman, Daniel Law Heath & Aaron Kaplan', 'creator': 'Todd Haberman, Daniel Law Heath & Aaron Kaplan',
@ -810,7 +810,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'description': 'md5:a677553cf0840649b731a3024aeff4cc', 'description': 'md5:a677553cf0840649b731a3024aeff4cc',
'upload_date': '20150127', 'upload_date': '20150127',
'uploader_id': 'BerkmanCenter', 'uploader_id': 'BerkmanCenter',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/BerkmanCenter', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/BerkmanCenter',
'uploader': 'BerkmanCenter', 'uploader': 'BerkmanCenter',
'license': 'Creative Commons Attribution license (reuse allowed)', 'license': 'Creative Commons Attribution license (reuse allowed)',
}, },
@ -829,7 +829,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'upload_date': '20151119', 'upload_date': '20151119',
'uploader': 'Bernie 2016', 'uploader': 'Bernie 2016',
'uploader_id': 'UCH1dpzjCEiGAt8CXkryhkZg', 'uploader_id': 'UCH1dpzjCEiGAt8CXkryhkZg',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/channel/UCH1dpzjCEiGAt8CXkryhkZg', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/channel/UCH1dpzjCEiGAt8CXkryhkZg',
'license': 'Creative Commons Attribution license (reuse allowed)', 'license': 'Creative Commons Attribution license (reuse allowed)',
}, },
'params': { 'params': {
@ -856,7 +856,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'upload_date': '20150811', 'upload_date': '20150811',
'uploader': 'FlixMatrix', 'uploader': 'FlixMatrix',
'uploader_id': 'FlixMatrixKaravan', 'uploader_id': 'FlixMatrixKaravan',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/FlixMatrixKaravan', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/FlixMatrixKaravan',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
}, },
'params': { 'params': {
@ -1877,7 +1877,7 @@ class YoutubePlaylistIE(YoutubePlaylistBaseInfoExtractor):
'title': "Smiley's People 01 detective, Adventure Series, Action", 'title': "Smiley's People 01 detective, Adventure Series, Action",
'uploader': 'STREEM', 'uploader': 'STREEM',
'uploader_id': 'UCyPhqAZgwYWZfxElWVbVJng', 'uploader_id': 'UCyPhqAZgwYWZfxElWVbVJng',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/channel/UCyPhqAZgwYWZfxElWVbVJng', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/channel/UCyPhqAZgwYWZfxElWVbVJng',
'upload_date': '20150526', 'upload_date': '20150526',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'description': 'md5:507cdcb5a49ac0da37a920ece610be80', 'description': 'md5:507cdcb5a49ac0da37a920ece610be80',
@ -1898,7 +1898,7 @@ class YoutubePlaylistIE(YoutubePlaylistBaseInfoExtractor):
'title': 'Small Scale Baler and Braiding Rugs', 'title': 'Small Scale Baler and Braiding Rugs',
'uploader': 'Backus-Page House Museum', 'uploader': 'Backus-Page House Museum',
'uploader_id': 'backuspagemuseum', 'uploader_id': 'backuspagemuseum',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/backuspagemuseum', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/backuspagemuseum',
'upload_date': '20161008', 'upload_date': '20161008',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'description': 'md5:800c0c78d5eb128500bffd4f0b4f2e8a', 'description': 'md5:800c0c78d5eb128500bffd4f0b4f2e8a',
@ -2186,7 +2186,7 @@ class YoutubeLiveIE(YoutubeBaseInfoExtractor):
'title': 'The Young Turks - Live Main Show', 'title': 'The Young Turks - Live Main Show',
'uploader': 'The Young Turks', 'uploader': 'The Young Turks',
'uploader_id': 'TheYoungTurks', 'uploader_id': 'TheYoungTurks',
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/TheYoungTurks', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/TheYoungTurks',
'upload_date': '20150715', 'upload_date': '20150715',
'license': 'Standard YouTube License', 'license': 'Standard YouTube License',
'description': 'md5:438179573adcdff3c97ebb1ee632b891', 'description': 'md5:438179573adcdff3c97ebb1ee632b891',

View File

@ -24,7 +24,7 @@ class ZapiksIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'EP2S3 - Bon Appétit - Eh bé viva les pyrénées con!', 'title': 'EP2S3 - Bon Appétit - Eh bé viva les pyrénées con!',
'description': 'md5:7054d6f6f620c6519be1fe710d4da847', 'description': 'md5:7054d6f6f620c6519be1fe710d4da847',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
'duration': 528, 'duration': 528,
'timestamp': 1359044972, 'timestamp': 1359044972,
'upload_date': '20130124', 'upload_date': '20130124',

View File

@ -266,7 +266,7 @@ class ZDFChannelIE(ZDFBaseIE):
return self.playlist_result( return self.playlist_result(
entries, channel_id, self._og_search_title(webpage, fatal=False)) entries, channel_id, self._og_search_title(webpage, fatal=False))
""" r"""
player = self._extract_player(webpage, channel_id) player = self._extract_player(webpage, channel_id)
channel_id = self._search_regex( channel_id = self._search_regex(

View File

@ -95,7 +95,7 @@ class ZingMp3IE(ZingMp3BaseInfoExtractor):
'id': 'ZWZB9WAB', 'id': 'ZWZB9WAB',
'title': 'Xa Mãi Xa', 'title': 'Xa Mãi Xa',
'ext': 'mp3', 'ext': 'mp3',
'thumbnail': 're:^https?://.*\.jpg$', 'thumbnail': r're:^https?://.*\.jpg$',
}, },
}, { }, {
'url': 'http://mp3.zing.vn/video-clip/Let-It-Go-Frozen-OST-Sungha-Jung/ZW6BAEA0.html', 'url': 'http://mp3.zing.vn/video-clip/Let-It-Go-Frozen-OST-Sungha-Jung/ZW6BAEA0.html',

View File

@ -12,7 +12,7 @@ class MetadataFromTitlePP(PostProcessor):
self._titleregex = self.format_to_regex(titleformat) self._titleregex = self.format_to_regex(titleformat)
def format_to_regex(self, fmt): def format_to_regex(self, fmt):
""" r"""
Converts a string like Converts a string like
'%(title)s - %(artist)s' '%(title)s - %(artist)s'
to a regex like to a regex like

View File

@ -501,7 +501,7 @@ def sanitize_path(s):
if drive_or_unc: if drive_or_unc:
norm_path.pop(0) norm_path.pop(0)
sanitized_path = [ sanitized_path = [
path_part if path_part in ['.', '..'] else re.sub('(?:[/<>:"\\|\\\\?\\*]|[\s.]$)', '#', path_part) path_part if path_part in ['.', '..'] else re.sub(r'(?:[/<>:"\|\\?\*]|[\s.]$)', '#', path_part)
for path_part in norm_path] for path_part in norm_path]
if drive_or_unc: if drive_or_unc:
sanitized_path.insert(0, drive_or_unc + os.path.sep) sanitized_path.insert(0, drive_or_unc + os.path.sep)
@ -1183,7 +1183,7 @@ def date_from_str(date_str):
return today return today
if date_str == 'yesterday': if date_str == 'yesterday':
return today - datetime.timedelta(days=1) return today - datetime.timedelta(days=1)
match = re.match('(now|today)(?P<sign>[+-])(?P<time>\d+)(?P<unit>day|week|month|year)(s)?', date_str) match = re.match(r'(now|today)(?P<sign>[+-])(?P<time>\d+)(?P<unit>day|week|month|year)(s)?', date_str)
if match is not None: if match is not None:
sign = match.group('sign') sign = match.group('sign')
time = int(match.group('time')) time = int(match.group('time'))