diff options
| author | Philipp Hagemeister <phihag@phihag.de> | 2014-09-15 15:25:35 +0200 | 
|---|---|---|
| committer | Philipp Hagemeister <phihag@phihag.de> | 2014-09-15 15:25:35 +0200 | 
| commit | e5a79071a5023940fb0c39d3b04f8cc6a913dfee (patch) | |
| tree | 73ffc8eb341f5a1368151d28989f7bd4991a3f28 | |
| parent | ca0e7a2b17387c552c41afe705016b98d6677f51 (diff) | |
[daum] Support non-numeric video IDs (Fixes #3749)
| -rw-r--r-- | youtube_dl/extractor/daum.py | 17 | 
1 files changed, 11 insertions, 6 deletions
diff --git a/youtube_dl/extractor/daum.py b/youtube_dl/extractor/daum.py index 6033cd94a..45d66e2e6 100644 --- a/youtube_dl/extractor/daum.py +++ b/youtube_dl/extractor/daum.py @@ -11,10 +11,10 @@ from ..utils import (  class DaumIE(InfoExtractor): -    _VALID_URL = r'https?://(?:m\.)?tvpot\.daum\.net/.*?clipid=(?P<id>\d+)' +    _VALID_URL = r'https?://(?:m\.)?tvpot\.daum\.net/(?:v/|.*?clipid=)(?P<id>[^?#&]+)'      IE_NAME = 'daum.net' -    _TEST = { +    _TESTS = [{          'url': 'http://tvpot.daum.net/clip/ClipView.do?clipid=52554690',          'info_dict': {              'id': '52554690', @@ -24,11 +24,17 @@ class DaumIE(InfoExtractor):              'upload_date': '20130831',              'duration': 3868,          }, -    } +    }, { +        'url': 'http://tvpot.daum.net/v/vab4dyeDBysyBssyukBUjBz', +        'only_matching': True, +    }, { +        'url': 'http://tvpot.daum.net/v/07dXWRka62Y%24', +        'only_matching': True, +    }]      def _real_extract(self, url):          mobj = re.match(self._VALID_URL, url) -        video_id = mobj.group(1) +        video_id = mobj.group('id')          canonical_url = 'http://tvpot.daum.net/v/%s' % video_id          webpage = self._download_webpage(canonical_url, video_id)          full_id = self._search_regex( @@ -42,7 +48,6 @@ class DaumIE(InfoExtractor):              'http://videofarm.daum.net/controller/api/open/v1_2/MovieData.apixml?' + query,              video_id, 'Downloading video formats info') -        self.to_screen(u'%s: Getting video urls' % video_id)          formats = []          for format_el in urls.findall('result/output_list/output_list'):              profile = format_el.attrib['profile'] @@ -52,7 +57,7 @@ class DaumIE(InfoExtractor):              })              url_doc = self._download_xml(                  'http://videofarm.daum.net/controller/api/open/v1_2/MovieLocation.apixml?' + format_query, -                video_id, note=False) +                video_id, note='Downloading video data for %s format' % profile)              format_url = url_doc.find('result/url').text              formats.append({                  'url': format_url,  | 
