From 0dde8d48b257cb3c6352d335c75960934083a6d1 Mon Sep 17 00:00:00 2001 From: Lev Plyusnin Date: Sun, 17 Nov 2024 20:48:19 +0700 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BE=D0=B1=D0=BB=D0=BE=D0=B6=D0=BA=D0=B8=20=D0=B2=20?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=B3=D0=B8=D0=BD=D0=B0=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D0=BE=D0=BC=20=D0=BA=D0=B0=D1=87=D0=B5=D1=81=D1=82=D0=B2=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- ymd/cli.py | 12 ++++++++++-- ymd/core.py | 5 ++++- 3 files changed, 15 insertions(+), 4 deletions(-) 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)):