diff options
| -rw-r--r-- | youtube_dl/extractor/pbs.py | 9 | ||||
| -rw-r--r-- | youtube_dl/extractor/viki.py | 10 | ||||
| -rw-r--r-- | youtube_dl/utils.py | 9 | 
3 files changed, 20 insertions, 8 deletions
diff --git a/youtube_dl/extractor/pbs.py b/youtube_dl/extractor/pbs.py index 56fbe3d56..64cded707 100644 --- a/youtube_dl/extractor/pbs.py +++ b/youtube_dl/extractor/pbs.py @@ -3,6 +3,9 @@ from __future__ import unicode_literals  import re  from .common import InfoExtractor +from ..utils import ( +    US_RATINGS, +)  class PBSIE(InfoExtractor): @@ -57,6 +60,11 @@ class PBSIE(InfoExtractor):          info_url = 'http://video.pbs.org/videoInfo/%s?format=json' % video_id          info = self._download_json(info_url, display_id) +        rating_str = info.get('rating') +        if rating_str is not None: +            rating_str = rating_str.rpartition('-')[2] +        age_limit = US_RATINGS.get(rating_str) +          return {              'id': video_id,              'title': info['title'], @@ -65,4 +73,5 @@ class PBSIE(InfoExtractor):              'description': info['program'].get('description'),              'thumbnail': info.get('image_url'),              'duration': info.get('duration'), +            'age_limit': age_limit,          } diff --git a/youtube_dl/extractor/viki.py b/youtube_dl/extractor/viki.py index 213b04e8b..15f315298 100644 --- a/youtube_dl/extractor/viki.py +++ b/youtube_dl/extractor/viki.py @@ -6,6 +6,7 @@ from ..utils import (      ExtractorError,      unescapeHTML,      unified_strdate, +    US_RATINGS,  )  from .subtitles import SubtitlesInfoExtractor @@ -48,14 +49,7 @@ class VikiIE(SubtitlesInfoExtractor):          rating_str = self._html_search_regex(              r'<strong>Rating: </strong>\s*([^<]*)<', webpage,              'rating information', default='').strip() -        RATINGS = { -            'G': 0, -            'PG': 10, -            'PG-13': 13, -            'R': 16, -            'NC': 18, -        } -        age_limit = RATINGS.get(rating_str) +        age_limit = US_RATINGS.get(rating_str)          info_url = 'http://www.viki.com/player5_fragment/%s?action=show&controller=videos' % video_id          info_webpage = self._download_webpage( diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index f60141bd1..7809c4e0b 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1289,3 +1289,12 @@ if sys.version_info < (3, 0) and sys.platform == 'win32':          return getpass.getpass(prompt, *args, **kwargs)  else:      compat_getpass = getpass.getpass + + +US_RATINGS = { +    'G': 0, +    'PG': 10, +    'PG-13': 13, +    'R': 16, +    'NC': 18, +}  | 
