[YouTube] Show premium state in availability
(#209)
Authored by colethedj
This commit is contained in:
parent
73cd218f5a
commit
b28f8d244a
1 changed files with 7 additions and 2 deletions
|
@ -2296,8 +2296,10 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
is_private = bool_or_none(video_details.get('isPrivate'))
|
is_private = bool_or_none(video_details.get('isPrivate'))
|
||||||
is_unlisted = bool_or_none(microformat.get('isUnlisted'))
|
is_unlisted = bool_or_none(microformat.get('isUnlisted'))
|
||||||
is_membersonly = None
|
is_membersonly = None
|
||||||
|
is_premium = None
|
||||||
if initial_data and is_private is not None:
|
if initial_data and is_private is not None:
|
||||||
is_membersonly = False
|
is_membersonly = False
|
||||||
|
is_premium = False
|
||||||
contents = try_get(initial_data, lambda x: x['contents']['twoColumnWatchNextResults']['results']['results']['contents'], list)
|
contents = try_get(initial_data, lambda x: x['contents']['twoColumnWatchNextResults']['results']['results']['contents'], list)
|
||||||
for content in contents or []:
|
for content in contents or []:
|
||||||
badges = try_get(content, lambda x: x['videoPrimaryInfoRenderer']['badges'], list)
|
badges = try_get(content, lambda x: x['videoPrimaryInfoRenderer']['badges'], list)
|
||||||
|
@ -2306,13 +2308,16 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
if label.lower() == 'members only':
|
if label.lower() == 'members only':
|
||||||
is_membersonly = True
|
is_membersonly = True
|
||||||
break
|
break
|
||||||
if is_membersonly:
|
elif label.lower() == 'premium':
|
||||||
|
is_premium = True
|
||||||
|
break
|
||||||
|
if is_membersonly or is_premium:
|
||||||
break
|
break
|
||||||
|
|
||||||
# TODO: Add this for playlists
|
# TODO: Add this for playlists
|
||||||
info['availability'] = self._availability(
|
info['availability'] = self._availability(
|
||||||
is_private=is_private,
|
is_private=is_private,
|
||||||
needs_premium=False, # Youtube no longer have premium-only videos?
|
needs_premium=is_premium,
|
||||||
needs_subscription=is_membersonly,
|
needs_subscription=is_membersonly,
|
||||||
needs_auth=info['age_limit'] >= 18,
|
needs_auth=info['age_limit'] >= 18,
|
||||||
is_unlisted=None if is_private is None else is_unlisted)
|
is_unlisted=None if is_private is None else is_unlisted)
|
||||||
|
|
Loading…
Reference in a new issue