commit: ed9266db90023500e687aa634b55e11742c2e18c
parent f4b1c7adb81555fde0dff390b48e4139438b4071
Author: Philipp Hagemeister <phihag@phihag.de>
Date: Sun, 28 Sep 2014 09:31:58 +0200
[common] Add new helper function _match_id
Diffstat:
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/youtube_dl/extractor/abc.py b/youtube_dl/extractor/abc.py
@@ -22,8 +22,7 @@ class ABCIE(InfoExtractor):
}
def _real_extract(self, url):
- mobj = re.match(self._VALID_URL, url)
- video_id = mobj.group('id')
+ video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
urls_info_json = self._search_regex(
diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py
@@ -166,6 +166,14 @@ class InfoExtractor(object):
return cls._VALID_URL_RE.match(url) is not None
@classmethod
+ def _match_id(cls, url):
+ if '_VALID_URL_RE' not in cls.__dict__:
+ cls._VALID_URL_RE = re.compile(cls._VALID_URL)
+ m = cls._VALID_URL_RE.match(url)
+ assert m
+ return m.group('id')
+
+ @classmethod
def working(cls):
"""Getter method for _WORKING."""
return cls._WORKING