This commit is contained in:
CodeName393
2026-01-22 02:34:34 +09:00
committed by GitHub
parent 28b91fddd3
commit 9cd67568d2

View File

@@ -90,7 +90,7 @@ def get_track_selection_args(track: Any) -> list[str]:
if track_type == "Video": if track_type == "Video":
if track_id := representation.get("id"): if track_id := representation.get("id"):
parts.append(rf"id={track_id}") parts.append(rf'"id=\b{track_id}\b"')
else: else:
if width := representation.get("width"): if width := representation.get("width"):
parts.append(f"res={width}*") parts.append(f"res={width}*")
@@ -103,7 +103,7 @@ def get_track_selection_args(track: Any) -> list[str]:
if track_type == "Subtitle": if track_type == "Subtitle":
if track_id := representation.get("id"): if track_id := representation.get("id"):
parts.append(rf"id={track_id}") parts.append(rf'"id=\b{track_id}\b"')
else: else:
if lang := representation.get("lang"): if lang := representation.get("lang"):
parts.append(f"lang={lang}") parts.append(f"lang={lang}")
@@ -116,7 +116,7 @@ def get_track_selection_args(track: Any) -> list[str]:
if track_type == "Audio": if track_type == "Audio":
if name := stream_index.get("Name") or quality_level.get("Index"): if name := stream_index.get("Name") or quality_level.get("Index"):
parts.append(rf"id={name}") parts.append(rf'"id=\b{name}\b"')
else: else:
if codecs := quality_level.get("FourCC"): if codecs := quality_level.get("FourCC"):
parts.append(f"codecs={codecs}") parts.append(f"codecs={codecs}")
@@ -129,7 +129,7 @@ def get_track_selection_args(track: Any) -> list[str]:
if track_type == "Video": if track_type == "Video":
if name := stream_index.get("Name") or quality_level.get("Index"): if name := stream_index.get("Name") or quality_level.get("Index"):
parts.append(rf"id={name}") parts.append(rf'"id=\b{name}\b"')
else: else:
if width := quality_level.get("MaxWidth"): if width := quality_level.get("MaxWidth"):
parts.append(f"res={width}*") parts.append(f"res={width}*")
@@ -143,7 +143,7 @@ def get_track_selection_args(track: Any) -> list[str]:
# I've yet to encounter a subtitle track in ISM manifests, so this is mostly theoretical. # I've yet to encounter a subtitle track in ISM manifests, so this is mostly theoretical.
if track_type == "Subtitle": if track_type == "Subtitle":
if name := stream_index.get("Name") or quality_level.get("Index"): if name := stream_index.get("Name") or quality_level.get("Index"):
parts.append(rf"id={name}") parts.append(rf'"id=\b{name}\b"')
else: else:
if lang := stream_index.get("Language"): if lang := stream_index.get("Language"):
parts.append(f"lang={lang}") parts.append(f"lang={lang}")
@@ -374,16 +374,12 @@ def download(
continue continue
last_line = output last_line = output
if ERROR_RE.search(output):
console.log(f"[N_m3u8DL-RE]: {output}")
if warn_match := WARN_RE.search(output): if warn_match := WARN_RE.search(output):
console.log(f"{track_type} {warn_match.group(1)}") console.log(f"{track_type} {warn_match.group(1)}")
continue continue
if speed_match := SPEED_RE.search(output): if speed_match := SPEED_RE.search(output):
size_match = SIZE_RE.search(output) size = size_match.group(1) if (size_match := SIZE_RE.search(output)) else ""
size = size_match.group(1) if size_match else ""
yield {"downloaded": f"{speed_match.group(1)} {size}"} yield {"downloaded": f"{speed_match.group(1)} {size}"}
if percent_match := PERCENT_RE.search(output): if percent_match := PERCENT_RE.search(output):
@@ -522,4 +518,4 @@ def n_m3u8dl_re(
) )
__all__ = ("n_m3u8dl_re",) __all__ = ("n_m3u8dl_re",)