|
|
|
@ -269,6 +269,11 @@ class FranceTVIE(InfoExtractor):
|
|
|
|
|
# 2017: Cette vidéo n'est pas disponible depuis le site web mobile (b/c DRM)
|
|
|
|
|
drm_formats = True
|
|
|
|
|
continue
|
|
|
|
|
elif code == 2007:
|
|
|
|
|
# 2007: Ce direct est terminé.
|
|
|
|
|
raise ExtractorError(
|
|
|
|
|
'Live broadcast has ended; video unavailable.',
|
|
|
|
|
video_id=video_id, expected=True)
|
|
|
|
|
self.report_warning('{0} said: "({1}) {2}"'.format(
|
|
|
|
|
self.IE_NAME, code, clean_html(dinfo.get('message'))))
|
|
|
|
|
continue
|
|
|
|
@ -326,7 +331,9 @@ class FranceTVIE(InfoExtractor):
|
|
|
|
|
class FranceTVEmbedIE(FranceTVBaseIE):
|
|
|
|
|
_VALID_URL = r'''(?x)
|
|
|
|
|
https?://embed\.francetv\.fr(?:/?\?(?:.*&)?(?P<ue>ue)=|/)
|
|
|
|
|
(?P<id>[\da-f]{32})(?:(?(ue)&|/?[?#]).*)?$
|
|
|
|
|
# Say (?:...|) instead of (?:...)? when ... ends .* to avoid
|
|
|
|
|
# python/cpython#62847 (fixed from at least 3.5 and late 2.7)
|
|
|
|
|
(?P<id>[\da-f]{32})(?:(?(ue)&|/?[?#]).*|)$```
|
|
|
|
|
'''
|
|
|
|
|
_TESTS = [{
|
|
|
|
|
'url': 'http://embed.francetv.fr/?ue=7fd581a2ccf59d2fc5719c5c13cf6961',
|
|
|
|
|