X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fpbs.py;h=64cded70789249746a5e2b6604d86563a6ad499c;hb=6e1e0e4b5b1952b17007cf6489e0d3e2bc2a513a;hp=8d847e7fe355eada2bb308b19cafd2f7a3e81cd6;hpb=e9e4f30d26e2e87b1b3a073a5000ccb6dcf72325;p=youtube-dl.git diff --git a/youtube_dl/extractor/pbs.py b/youtube_dl/extractor/pbs.py index 8d847e7fe..64cded707 100644 --- a/youtube_dl/extractor/pbs.py +++ b/youtube_dl/extractor/pbs.py @@ -3,17 +3,20 @@ from __future__ import unicode_literals import re from .common import InfoExtractor +from ..utils import ( + US_RATINGS, +) class PBSIE(InfoExtractor): _VALID_URL = r'''(?x)https?:// (?: # Direct video URL - video\.pbs\.org/video/(?P[0-9]+)/? | + video\.pbs\.org/(?:viralplayer|video)/(?P[0-9]+)/? | # Article with embedded player (?:www\.)?pbs\.org/(?:[^/]+/){2,5}(?P[^/]+)/?(?:$|[?\#]) | # Player - video\.pbs\.org/partnerplayer/(?P[^/]+)/ + video\.pbs\.org/(?:widget/)?partnerplayer/(?P[^/]+)/ ) ''' @@ -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, }