forked from fcode/delarte
Match signature for version & resolution functions
This commit is contained in:
parent
9593619c68
commit
f9c20e2149
|
@ -54,17 +54,18 @@ def iter_versions(config):
|
|||
"""Return a (code, label, index_url) iterator."""
|
||||
for stream in config["attributes"]["streams"]:
|
||||
yield (
|
||||
stream["versions"][0]["eStat"]["ml5"], # version code
|
||||
stream["versions"][0]["label"], # version full name
|
||||
stream["url"], # version index url
|
||||
# version code
|
||||
stream["versions"][0]["eStat"]["ml5"],
|
||||
# version full name
|
||||
stream["versions"][0]["label"],
|
||||
)
|
||||
|
||||
|
||||
def find_version(config, version_code):
|
||||
def select_version(config, version_code):
|
||||
"""Return the version index url for the given version code."""
|
||||
for (code, _, index_url) in iter_versions(config):
|
||||
if code == version_code:
|
||||
return index_url
|
||||
for stream in config["attributes"]["streams"]:
|
||||
if stream["versions"][0]["eStat"]["ml5"] == version_code:
|
||||
return stream["url"]
|
||||
|
||||
return None
|
||||
|
||||
|
@ -148,7 +149,7 @@ def iter_resolutions(version_index):
|
|||
)
|
||||
|
||||
|
||||
def find_resolution(version_index, resolution_code):
|
||||
def select_resolution(version_index, resolution_code):
|
||||
"""Return the stream information for a given resolution_code."""
|
||||
for pl in version_index.playlists:
|
||||
code = f"{pl.stream_info.resolution[1]}p"
|
||||
|
|
|
@ -14,8 +14,8 @@ from urllib.parse import urlparse
|
|||
from . import (
|
||||
build_ffmpeg_cmd,
|
||||
build_file_base_name,
|
||||
find_resolution,
|
||||
find_version,
|
||||
select_resolution,
|
||||
select_version,
|
||||
iter_resolutions,
|
||||
iter_versions,
|
||||
load_config_api,
|
||||
|
@ -33,7 +33,7 @@ def fail(message, code=1):
|
|||
def print_available_versions(config, f):
|
||||
"""Print available program versions."""
|
||||
print(f"Available versions:", file=f)
|
||||
for (code, label, _) in iter_versions(config):
|
||||
for code, label in iter_versions(config):
|
||||
print(f"\t{code} - {label}", file=f)
|
||||
|
||||
|
||||
|
@ -80,7 +80,7 @@ def main():
|
|||
print_available_versions(config, sys.stdout)
|
||||
return 0
|
||||
|
||||
version_index_url = find_version(config, args.pop(0))
|
||||
version_index_url = select_version(config, args.pop(0))
|
||||
if version_index_url is None:
|
||||
fail("Invalid version")
|
||||
print_available_versions(config, sys.stderr)
|
||||
|
@ -92,7 +92,7 @@ def main():
|
|||
print_available_resolutions(version_index, sys.stdout)
|
||||
return 0
|
||||
|
||||
stream_info = find_resolution(version_index, args.pop(0))
|
||||
stream_info = select_resolution(version_index, args.pop(0))
|
||||
if stream_info is None:
|
||||
fail("Invalid resolution")
|
||||
print_available_resolutions(version_index, sys.stderr)
|
||||
|
|
Loading…
Reference in New Issue