aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/dailymotion.py
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/extractor/dailymotion.py')
-rw-r--r--yt_dlp/extractor/dailymotion.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/yt_dlp/extractor/dailymotion.py b/yt_dlp/extractor/dailymotion.py
index 3b090d5e0..46438891f 100644
--- a/yt_dlp/extractor/dailymotion.py
+++ b/yt_dlp/extractor/dailymotion.py
@@ -5,13 +5,15 @@ import re
from .common import InfoExtractor
from ..compat import compat_HTTPError
from ..utils import (
+ ExtractorError,
+ OnDemandPagedList,
age_restricted,
clean_html,
- ExtractorError,
int_or_none,
- OnDemandPagedList,
+ traverse_obj,
try_get,
unescapeHTML,
+ unsmuggle_url,
urlencode_postdata,
)
@@ -220,6 +222,7 @@ class DailymotionIE(DailymotionBaseInfoExtractor):
return urls
def _real_extract(self, url):
+ url, smuggled_data = unsmuggle_url(url)
video_id, playlist_id = self._match_valid_url(url).groups()
if playlist_id:
@@ -252,7 +255,7 @@ class DailymotionIE(DailymotionBaseInfoExtractor):
metadata = self._download_json(
'https://www.dailymotion.com/player/metadata/video/' + xid,
xid, 'Downloading metadata JSON',
- query={'app': 'com.dailymotion.neon'})
+ query=traverse_obj(smuggled_data, 'query') or {'app': 'com.dailymotion.neon'})
error = metadata.get('error')
if error: