1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-11-01 07:05:14 +00:00

[utils] Allow partial application for even more functions (#11437)

Fixes b6dc2c49e8

Authored by: Grub4K
This commit is contained in:
Simon Sawicki
2024-11-02 21:42:00 +01:00
committed by GitHub
parent a6783a3b99
commit 422195ec70
3 changed files with 20 additions and 0 deletions

View File

@@ -5294,6 +5294,7 @@ def make_archive_id(ie, video_id):
return f'{ie_key.lower()} {video_id}'
@partial_application
def truncate_string(s, left, right=0):
assert left > 3 and right >= 0
if s is None or len(s) <= left + right:

View File

@@ -449,6 +449,14 @@ def trim_str(*, start=None, end=None):
return trim
def unpack(func):
@functools.wraps(func)
def inner(items, **kwargs):
return func(*items, **kwargs)
return inner
def get_first(obj, *paths, **kwargs):
return traverse_obj(obj, *((..., *variadic(keys)) for keys in paths), **kwargs, get_all=False)