This commit is contained in:
2025-12-30 23:19:02 -08:00
parent a97657a757
commit 3bbaa28fb4
17 changed files with 1735 additions and 558 deletions

View File

@@ -1469,6 +1469,17 @@ class Download_Media(Cmdlet):
clip_values: List[str] = []
item_values: List[str] = []
def _uniq(values: Sequence[str]) -> List[str]:
seen: set[str] = set()
out: List[str] = []
for v in values:
key = str(v)
if key in seen:
continue
seen.add(key)
out.append(v)
return out
if clip_spec:
# Support keyed clip syntax:
# -query "clip:3m4s-3m14s,1h22m-1h33m,item:2-3"
@@ -1482,6 +1493,10 @@ class Download_Media(Cmdlet):
clip_values.extend(query_keyed.get("clip", []) or [])
item_values.extend(query_keyed.get("item", []) or [])
# QueryArg also hydrates clip via -query, so combine and deduplicate here
clip_values = _uniq(clip_values)
item_values = _uniq(item_values)
if item_values and not parsed.get("item"):
parsed["item"] = ",".join([v for v in item_values if v])