df
This commit is contained in:
@@ -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])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user