)
if locate_stream:
with opener.open(master_url) as resp:
- assert resp.status == 200
- lines = resp.read().decode('utf-8').splitlines()
+ if resp.status == 200:
+ lines = resp.read().decode('utf-8').splitlines()
+ streams = parse_master(lines)
+ if streams:
+ winner = max(streams, key = lambda s: s.attrs['RESOLUTION'].vertical)
+ (ep, curr_variant) = re.match(r'(.*)_(.*?)\.m3u8$', winner.uri).groups()
+ assert ep == stream_spec.endpoint
+ else:
+ assert resp.status == 404
time.sleep(_DELAY.total_seconds())
- streams = parse_master(lines)
- if streams:
- winner = max(streams, key = lambda s: s.attrs['RESOLUTION'].vertical)
- (ep, curr_variant) = re.match(r'(.*)_(.*?)\.m3u8$', winner.uri).groups()
- assert ep == stream_spec.endpoint
-
if curr_variant is not None:
writer.stream = stream_spec._replace(variant = curr_variant)
media_url = url_for_stream('{}.m3u8'.format(writer.stream.full()))