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