Конфигурация времени ожидания
This commit is contained in:
parent
f093365b13
commit
d5feab42dc
4 changed files with 25 additions and 4 deletions
|
|
@ -73,6 +73,7 @@ usage: yandex-music-downloader [-h] [--quality <Качество>] [--skip-exist
|
|||
[--delay <Задержка>] [--stick-to-artist]
|
||||
[--only-music]
|
||||
[--compatibility-level <Уровень совместимости>]
|
||||
[--timeout <Время ожидания>]
|
||||
(--artist-id <ID исполнителя> | --album-id <ID альбома> | --track-id <ID трека> | --playlist-id <владелец плейлиста>/<тип плейлиста> | -u URL)
|
||||
[--unsafe-path] [--dir <Папка>]
|
||||
[--path-pattern <Паттерн>] --token <Токен>
|
||||
|
|
@ -99,6 +100,8 @@ options:
|
|||
--only-music Загружать только музыкальные альбомы (пропускать подкасты и аудиокниги)
|
||||
--compatibility-level <Уровень совместимости>
|
||||
Уровень совместимости, от 0 до 1. См. README для подробного описания (по умолчанию: 1)
|
||||
--timeout <Время ожидания>
|
||||
Время ожидания ответа от сервера, в секундах. Увеличьте если возникают сетевые ошибки (по умолчанию: 20)
|
||||
|
||||
ID:
|
||||
--artist-id <ID исполнителя>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
|
|||
|
||||
[project]
|
||||
name = "yandex-music-downloader"
|
||||
version = "3.3.1b0"
|
||||
version = "3.4.0b0"
|
||||
description = "Загрузчик музыки с сервиса Яндекс.Музыка"
|
||||
requires-python = ">=3.9"
|
||||
readme = "README.md"
|
||||
|
|
|
|||
18
ymd/cli.py
18
ymd/cli.py
|
|
@ -50,6 +50,13 @@ def compatibility_level_arg(astr: str) -> int:
|
|||
)
|
||||
|
||||
|
||||
def natural_int_arg(astr: str) -> int:
|
||||
aint = int(astr)
|
||||
if aint > 0:
|
||||
return aint
|
||||
raise ArgumentTypeError("Значение должен быть > 0")
|
||||
|
||||
|
||||
def cover_resolution_arg(astr: str) -> int:
|
||||
if astr == "original":
|
||||
return -1
|
||||
|
|
@ -129,6 +136,15 @@ def main():
|
|||
f"Уровень совместимости, от {core.MIN_COMPATIBILITY_LEVEL} до {core.MAX_COMPATIBILITY_LEVEL}. См. README для подробного описания"
|
||||
),
|
||||
)
|
||||
common_group.add_argument(
|
||||
"--timeout",
|
||||
metavar="<Время ожидания>",
|
||||
default=20,
|
||||
type=natural_int_arg,
|
||||
help=show_default(
|
||||
"Время ожидания ответа от сервера, в секундах. Увеличьте если возникают сетевые ошибки"
|
||||
),
|
||||
)
|
||||
common_group.add_argument("--debug", action="store_true", help=argparse.SUPPRESS)
|
||||
|
||||
id_group_meta = parser.add_argument_group("ID")
|
||||
|
|
@ -204,7 +220,7 @@ def main():
|
|||
print("Параметер url указан в неверном формате")
|
||||
return 1
|
||||
|
||||
client = core.init_client(args.token)
|
||||
client = core.init_client(args.token, args.timeout)
|
||||
result_tracks: Iterable[Track] = []
|
||||
|
||||
def album_tracks_gen(album_ids: Iterable[Union[int, str]]) -> Generator[Track]:
|
||||
|
|
|
|||
|
|
@ -63,8 +63,10 @@ class AlbumCover:
|
|||
mime_type: MimeType
|
||||
|
||||
|
||||
def init_client(token: str) -> Client:
|
||||
return Client(token).init()
|
||||
def init_client(token: str, timeout: int) -> Client:
|
||||
client = Client(token)
|
||||
client.request.set_timeout(timeout)
|
||||
return client.init()
|
||||
|
||||
|
||||
def full_title(obj: YandexMusicObject) -> Optional[str]:
|
||||
|
|
|
|||
Loading…
Reference in a new issue