Add field live_status
This commit is contained in:
parent
cc9d1493c6
commit
ae30b84072
3 changed files with 21 additions and 1 deletions
|
@ -941,6 +941,7 @@ The available fields are:
|
||||||
- `average_rating` (numeric): Average rating give by users, the scale used depends on the webpage
|
- `average_rating` (numeric): Average rating give by users, the scale used depends on the webpage
|
||||||
- `comment_count` (numeric): Number of comments on the video (For some extractors, comments are only downloaded at the end, and so this field cannot be used)
|
- `comment_count` (numeric): Number of comments on the video (For some extractors, comments are only downloaded at the end, and so this field cannot be used)
|
||||||
- `age_limit` (numeric): Age restriction for the video (years)
|
- `age_limit` (numeric): Age restriction for the video (years)
|
||||||
|
- `live_status` (string): One of 'is_live', 'was_live', 'upcoming', 'not_live'
|
||||||
- `is_live` (boolean): Whether this video is a live stream or a fixed-length video
|
- `is_live` (boolean): Whether this video is a live stream or a fixed-length video
|
||||||
- `was_live` (boolean): Whether this video was originally a live stream
|
- `was_live` (boolean): Whether this video was originally a live stream
|
||||||
- `playable_in_embed` (string): Whether this video is allowed to play in embedded players on other sites
|
- `playable_in_embed` (string): Whether this video is allowed to play in embedded players on other sites
|
||||||
|
|
|
@ -2036,7 +2036,7 @@ class YoutubeDL(object):
|
||||||
elif thumbnails:
|
elif thumbnails:
|
||||||
info_dict['thumbnail'] = thumbnails[-1]['url']
|
info_dict['thumbnail'] = thumbnails[-1]['url']
|
||||||
|
|
||||||
if 'display_id' not in info_dict and 'id' in info_dict:
|
if info_dict.get('display_id') is None and 'id' in info_dict:
|
||||||
info_dict['display_id'] = info_dict['id']
|
info_dict['display_id'] = info_dict['id']
|
||||||
|
|
||||||
for ts_key, date_key in (
|
for ts_key, date_key in (
|
||||||
|
@ -2052,6 +2052,23 @@ class YoutubeDL(object):
|
||||||
except (ValueError, OverflowError, OSError):
|
except (ValueError, OverflowError, OSError):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
live_keys = ('is_live', 'was_live')
|
||||||
|
live_status = info_dict.get('live_status')
|
||||||
|
if live_status is None:
|
||||||
|
for key in live_keys:
|
||||||
|
if info_dict.get(key) is False:
|
||||||
|
continue
|
||||||
|
if info_dict.get(key):
|
||||||
|
live_status = key
|
||||||
|
break
|
||||||
|
if all(info_dict.get(key) is False for key in live_keys):
|
||||||
|
live_status = 'not_live'
|
||||||
|
if live_status:
|
||||||
|
info_dict['live_status'] = live_status
|
||||||
|
for key in live_keys:
|
||||||
|
if info_dict.get(key) is None:
|
||||||
|
info_dict[key] = (live_status == key)
|
||||||
|
|
||||||
# Auto generate title fields corresponding to the *_number fields when missing
|
# Auto generate title fields corresponding to the *_number fields when missing
|
||||||
# in order to always have clean titles. This is very common for TV series.
|
# in order to always have clean titles. This is very common for TV series.
|
||||||
for field in ('chapter', 'season', 'episode'):
|
for field in ('chapter', 'season', 'episode'):
|
||||||
|
|
|
@ -297,6 +297,8 @@ class InfoExtractor(object):
|
||||||
live stream that goes on instead of a fixed-length video.
|
live stream that goes on instead of a fixed-length video.
|
||||||
was_live: True, False, or None (=unknown). Whether this video was
|
was_live: True, False, or None (=unknown). Whether this video was
|
||||||
originally a live stream.
|
originally a live stream.
|
||||||
|
live_status: 'is_live', 'upcoming', 'was_live', 'not_live' or None (=unknown)
|
||||||
|
If absent, automatically set from is_live, was_live
|
||||||
start_time: Time in seconds where the reproduction should start, as
|
start_time: Time in seconds where the reproduction should start, as
|
||||||
specified in the URL.
|
specified in the URL.
|
||||||
end_time: Time in seconds where the reproduction should end, as
|
end_time: Time in seconds where the reproduction should end, as
|
||||||
|
|
Loading…
Reference in a new issue