mirror of
https://github.com/soimort/you-get.git
synced 2025-02-09 03:37:52 +03:00
update youtube.py
This commit is contained in:
parent
7476f2ab5d
commit
533633c716
@ -34,12 +34,13 @@ youtube_codecs = [
|
|||||||
|
|
||||||
def parse_video_info(raw_info):
|
def parse_video_info(raw_info):
|
||||||
"""Parser for YouTube's get_video_info data.
|
"""Parser for YouTube's get_video_info data.
|
||||||
Returns a map, with 'url_encoded_fmt_stream_map' field being a sorted list.
|
Returns a dict, where 'url_encoded_fmt_stream_map' maps to a sorted list.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Percent-encoding reserved characters, used as separators.
|
# Percent-encoding reserved characters, used as separators.
|
||||||
separator = {
|
sepr = {
|
||||||
'&': '%26',
|
'&': '%26',
|
||||||
|
',': '%2C',
|
||||||
'=': '%3D',
|
'=': '%3D',
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,17 +54,20 @@ def parse_video_info(raw_info):
|
|||||||
youtube_codecs],
|
youtube_codecs],
|
||||||
range(len(youtube_codecs))))
|
range(len(youtube_codecs))))
|
||||||
|
|
||||||
|
# {key1: value1, key2: value2, ...,
|
||||||
|
# 'url_encoded_fmt_stream_map': [{'itag': '38', ...}, ...]
|
||||||
|
# }
|
||||||
return dict(
|
return dict(
|
||||||
[(lambda metadata:
|
[(lambda metadata:
|
||||||
['url_encoded_fmt_stream_map', (
|
['url_encoded_fmt_stream_map', (
|
||||||
lambda url_encoded_fmt_stream_map:
|
lambda stream_map:
|
||||||
sorted(
|
sorted(
|
||||||
[dict(
|
[dict(
|
||||||
[sub_item.split(separator['='])
|
[subitem.split(sepr['='])
|
||||||
for sub_item in
|
for subitem in
|
||||||
item.split(separator['&'])])
|
item.split(sepr['&'])])
|
||||||
for item in
|
for item in
|
||||||
url_encoded_fmt_stream_map.split('%2C')],
|
stream_map.split(sepr[','])],
|
||||||
key =
|
key =
|
||||||
lambda stream:
|
lambda stream:
|
||||||
fmt_level[stream['itag']]))
|
fmt_level[stream['itag']]))
|
||||||
|
Loading…
Reference in New Issue
Block a user