diff --git a/README.md b/README.md index fcf7ef4..026fd6d 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ options: --add-lyrics Загружать тексты песен --embed-cover Встраивать обложку в аудиофайл --cover-resolution <Разрешение обложки> - по умолчанию: 400 + Разрешение обложки (в пикселях). Передайте "original" для загрузки в оригинальном (наилучшем) разрешении (по умолчанию: 400) --delay <Задержка> Задержка между запросами, в секундах (по умолчанию: 0) --stick-to-artist Загружать альбомы, созданные только данным исполнителем --only-music Загружать только музыкальные альбомы (пропускать подкасты и аудиокниги) diff --git a/ymd/cli.py b/ymd/cli.py index fb76210..3f1a5c7 100644 --- a/ymd/cli.py +++ b/ymd/cli.py @@ -49,6 +49,12 @@ def compatibility_level_arg(astr: str) -> int: ) +def cover_resolution_arg(astr: str) -> int: + if astr == "original": + return -1 + return int(astr) + + def main(): parser = argparse.ArgumentParser( description="Загрузчик музыки с сервиса Яндекс.Музыка", @@ -76,8 +82,10 @@ def main(): "--cover-resolution", default=core.DEFAULT_COVER_RESOLUTION, metavar="<Разрешение обложки>", - type=int, - help=show_default(None), + type=cover_resolution_arg, + help=show_default( + 'Разрешение обложки (в пикселях). Передайте "original" для загрузки в оригинальном (наилучшем) разрешении' + ), ) common_group.add_argument( "--delay", diff --git a/ymd/core.py b/ymd/core.py index f4848e8..e5ee63d 100644 --- a/ymd/core.py +++ b/ymd/core.py @@ -218,7 +218,10 @@ def download_track( cover = None if track.cover_uri is not None: - cover_size = f"{cover_resolution}x{cover_resolution}" + if cover_resolution == -1: + cover_size = "orig" + else: + cover_size = f"{cover_resolution}x{cover_resolution}" if embed_cover: album_id = album.id if album_id and (cached_cover := covers_cache.get(album_id)):