|
|
|
@ -2235,7 +2235,7 @@ def _htmlentity_transform(entity_with_semicolon): |
|
|
|
|
def unescapeHTML(s): |
|
|
|
|
if s is None: |
|
|
|
|
return None |
|
|
|
|
assert type(s) == compat_str |
|
|
|
|
assert isinstance(s, compat_str) |
|
|
|
|
|
|
|
|
|
return re.sub( |
|
|
|
|
r'&([^&;]+;)', lambda m: _htmlentity_transform(m.group(1)), s) |
|
|
|
@ -3418,7 +3418,7 @@ def _windows_write_string(s, out): |
|
|
|
|
def write_string(s, out=None, encoding=None): |
|
|
|
|
if out is None: |
|
|
|
|
out = sys.stderr |
|
|
|
|
assert type(s) == compat_str |
|
|
|
|
assert isinstance(s, compat_str) |
|
|
|
|
|
|
|
|
|
if sys.platform == 'win32' and encoding is None and hasattr(out, 'fileno'): |
|
|
|
|
if _windows_write_string(s, out): |
|
|
|
@ -4459,8 +4459,10 @@ TV_PARENTAL_GUIDELINES = { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def parse_age_limit(s): |
|
|
|
|
if type(s) == int: |
|
|
|
|
return s if 0 <= s <= 21 else None |
|
|
|
|
if not isinstance(s, bool): |
|
|
|
|
age = int_or_none(s) |
|
|
|
|
if age is not None: |
|
|
|
|
return age if 0 <= age <= 21 else None |
|
|
|
|
if not isinstance(s, compat_basestring): |
|
|
|
|
return None |
|
|
|
|
m = re.match(r'^(?P<age>\d{1,2})\+?$', s) |
|
|
|
|