|
|
@ -22,6 +22,7 @@ from ..compat import ( |
|
|
|
compat_str, |
|
|
|
) |
|
|
|
from ..utils import ( |
|
|
|
NO_DEFAULT, |
|
|
|
age_restricted, |
|
|
|
bug_reports_message, |
|
|
|
clean_html, |
|
|
@ -33,7 +34,7 @@ from ..utils import ( |
|
|
|
sanitize_filename, |
|
|
|
unescapeHTML, |
|
|
|
) |
|
|
|
_NO_DEFAULT = object() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class InfoExtractor(object): |
|
|
@ -523,7 +524,7 @@ class InfoExtractor(object): |
|
|
|
video_info['description'] = playlist_description |
|
|
|
return video_info |
|
|
|
|
|
|
|
def _search_regex(self, pattern, string, name, default=_NO_DEFAULT, fatal=True, flags=0, group=None): |
|
|
|
def _search_regex(self, pattern, string, name, default=NO_DEFAULT, fatal=True, flags=0, group=None): |
|
|
|
""" |
|
|
|
Perform a regex search on the given string, using a single or a list of |
|
|
|
patterns returning the first matching group. |
|
|
@ -549,7 +550,7 @@ class InfoExtractor(object): |
|
|
|
return next(g for g in mobj.groups() if g is not None) |
|
|
|
else: |
|
|
|
return mobj.group(group) |
|
|
|
elif default is not _NO_DEFAULT: |
|
|
|
elif default is not NO_DEFAULT: |
|
|
|
return default |
|
|
|
elif fatal: |
|
|
|
raise RegexNotFoundError('Unable to extract %s' % _name) |
|
|
@ -557,7 +558,7 @@ class InfoExtractor(object): |
|
|
|
self._downloader.report_warning('unable to extract %s' % _name + bug_reports_message()) |
|
|
|
return None |
|
|
|
|
|
|
|
def _html_search_regex(self, pattern, string, name, default=_NO_DEFAULT, fatal=True, flags=0, group=None): |
|
|
|
def _html_search_regex(self, pattern, string, name, default=NO_DEFAULT, fatal=True, flags=0, group=None): |
|
|
|
""" |
|
|
|
Like _search_regex, but strips HTML tags and unescapes entities. |
|
|
|
""" |
|
|
|