diff options
author | Sergey M․ <dstftw@gmail.com> | 2016-08-07 20:45:18 +0700 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-08-07 20:45:18 +0700 |
commit | a8795327cae2bfce299d770039db40a3ac4df2e3 (patch) | |
tree | ebf3425e92819d7d38434f6ed96d7faeb46469f7 /youtube_dl | |
parent | d34995a9e3f596c4dd80178d99f7bd8dbc748e2b (diff) |
[utils] Add support TV Parental Guidelines ratings in parse_age_limit
Diffstat (limited to 'youtube_dl')
-rw-r--r-- | youtube_dl/utils.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index ddbfcd2f1..c50238ba1 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1984,11 +1984,27 @@ US_RATINGS = { } +TV_PARENTAL_GUIDELINES = { + 'TV-Y': 0, + 'TV-Y7': 7, + 'TV-G': 0, + 'TV-PG': 0, + 'TV-14': 14, + 'TV-MA': 17, +} + + def parse_age_limit(s): - if s is None: + if type(s) == int: + return s if 0 <= s <= 21 else None + if not isinstance(s, compat_basestring): return None m = re.match(r'^(?P<age>\d{1,2})\+?$', s) - return int(m.group('age')) if m else US_RATINGS.get(s) + if m: + return int(m.group('age')) + if s in US_RATINGS: + return US_RATINGS[s] + return TV_PARENTAL_GUIDELINES.get(s) def strip_jsonp(code): |