diff options
| author | John Hawkinson <jhawk@mit.edu> | 2017-03-08 18:13:54 -0500 | 
|---|---|---|
| committer | Yen Chi Hsuan <yan12125@gmail.com> | 2017-03-19 20:40:31 +0800 | 
| commit | 46b18f2349670d395b9d84a57ee3d9b5d221ff4b (patch) | |
| tree | 1a7a7656fb4cc6e31838e7c1eab2cecd7def13fc /youtube_dl/extractor/common.py | |
| parent | 772b5ff57f702dd76986d1db17068da2116a2800 (diff) | |
[BostonGlobe] New. Nonstandard version of Brightcove.
Has a "data-brightcove-video-id" instead of a "data-video-id," otherwise
pretty much just Brightcove. Except the Globe isn't all Brightcove
videos, so fallback to Generic, too.
Also, abstract playlist_from_matches() from generic.py to common.py, and use
it here.
History of these changes can be found in
51170427d4b1143572a498dedaee61863a5b2c5b.
Diffstat (limited to 'youtube_dl/extractor/common.py')
| -rw-r--r-- | youtube_dl/extractor/common.py | 28 | 
1 files changed, 18 insertions, 10 deletions
diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index b51799bfa..0852b8e8c 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -36,34 +36,35 @@ from ..utils import (      clean_html,      compiled_regex_type,      determine_ext, +    determine_protocol,      error_to_compat_str,      ExtractorError, +    extract_attributes,      fix_xml_ampersands,      float_or_none,      GeoRestrictedError,      GeoUtils,      int_or_none,      js_to_json, +    mimetype2ext, +    orderedSet, +    parse_codecs, +    parse_duration,      parse_iso8601, +    parse_m3u8_attributes,      RegexNotFoundError, -    sanitize_filename,      sanitized_Request, +    sanitize_filename,      unescapeHTML,      unified_strdate,      unified_timestamp, +    update_Request, +    update_url_query, +    urljoin,      url_basename,      xpath_element,      xpath_text,      xpath_with_ns, -    determine_protocol, -    parse_duration, -    mimetype2ext, -    update_Request, -    update_url_query, -    parse_m3u8_attributes, -    extract_attributes, -    parse_codecs, -    urljoin,  ) @@ -714,6 +715,13 @@ class InfoExtractor(object):              video_info['title'] = video_title          return video_info +    def playlist_from_matches(self, matches, video_id, video_title, getter=None, ie=None): +        urlrs = orderedSet( +            self.url_result(self._proto_relative_url(getter(m) if getter else m), ie) +            for m in matches) +        return self.playlist_result( +            urlrs, playlist_id=video_id, playlist_title=video_title) +      @staticmethod      def playlist_result(entries, playlist_id=None, playlist_title=None, playlist_description=None):          """Returns a playlist"""  | 
