[dplay] Bypass geo restriction
authorSergey M․ <dstftw@gmail.com>
Fri, 26 Jan 2018 16:56:31 +0000 (23:56 +0700)
committerSergey M․ <dstftw@gmail.com>
Fri, 26 Jan 2018 16:56:31 +0000 (23:56 +0700)
youtube_dl/extractor/dplay.py

index 2840636e51ed9b2af826243f45c96bac1f5702de..a08dace4318a05dfacd9c6e9ad94508934b615ca 100644 (file)
@@ -26,7 +26,7 @@ from ..utils import (
 
 
 class DPlayIE(InfoExtractor):
-    _VALID_URL = r'https?://(?P<domain>www\.(?P<host>dplay\.(?:dk|se|no)))/(?:videoer/)?(?P<id>[^/]+/[^/?#]+)'
+    _VALID_URL = r'https?://(?P<domain>www\.(?P<host>dplay\.(?P<country>dk|se|no)))/(?:videoer/)?(?P<id>[^/]+/[^/?#]+)'
 
     _TESTS = [{
         # non geo restricted, via secure api, unsigned download hls URL
@@ -88,6 +88,10 @@ class DPlayIE(InfoExtractor):
             'format': 'bestvideo',
             'skip_download': True,
         },
+    }, {
+        # geo restricted, bypassable via X-Forwarded-For
+        'url': 'https://www.dplay.dk/videoer/singleliv/season-5-episode-3',
+        'only_matching': True,
     }]
 
     def _real_extract(self, url):
@@ -95,6 +99,8 @@ class DPlayIE(InfoExtractor):
         display_id = mobj.group('id')
         domain = mobj.group('domain')
 
+        self._initialize_geo_bypass([mobj.group('country').upper()])
+
         webpage = self._download_webpage(url, display_id)
 
         video_id = self._search_regex(