From: Fabian Munkes <105975993+fmunkes@users.noreply.github.com> Date: Tue, 9 Dec 2025 22:46:42 +0000 (+0100) Subject: Add timeout parameter to ABS (#2782) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=7f7f1a188eadcd1e8f9b85c9e60aff80c0b26245;p=music-assistant-server.git Add timeout parameter to ABS (#2782) --- diff --git a/music_assistant/providers/audiobookshelf/__init__.py b/music_assistant/providers/audiobookshelf/__init__.py index cf5d502f..3f914f90 100644 --- a/music_assistant/providers/audiobookshelf/__init__.py +++ b/music_assistant/providers/audiobookshelf/__init__.py @@ -2,6 +2,7 @@ from __future__ import annotations +import asyncio import functools import itertools import time @@ -14,7 +15,6 @@ from aioaudiobookshelf.client.items import LibraryItemExpandedBook as AbsLibrary from aioaudiobookshelf.client.items import ( LibraryItemExpandedPodcast as AbsLibraryItemExpandedPodcast, ) -from aioaudiobookshelf.client.session_configuration import asyncio from aioaudiobookshelf.exceptions import LoginError as AbsLoginError from aioaudiobookshelf.exceptions import RefreshTokenExpiredError from aioaudiobookshelf.schema.author import AuthorExpanded @@ -73,6 +73,7 @@ from music_assistant.providers.audiobookshelf.parsers import ( from .constants import ( ABS_BROWSE_ITEMS_TO_PATH, ABS_SHELF_ID_ICONS, + AIOHTTP_TIMEOUT, CACHE_CATEGORY_LIBRARIES, CACHE_KEY_LIBRARIES, CONF_API_TOKEN, @@ -237,6 +238,7 @@ class Audiobookshelf(MusicProvider): verify_ssl=verify_ssl, logger=self.logger, pagination_items_per_page=30, # audible provider goes with 50 for pagination + timeout=AIOHTTP_TIMEOUT, ) try: if token_api is not None or token_old is not None: diff --git a/music_assistant/providers/audiobookshelf/constants.py b/music_assistant/providers/audiobookshelf/constants.py index 8ef7e37f..d83deb3c 100644 --- a/music_assistant/providers/audiobookshelf/constants.py +++ b/music_assistant/providers/audiobookshelf/constants.py @@ -3,6 +3,11 @@ from enum import StrEnum from aioaudiobookshelf.schema.shelf import ShelfId as AbsShelfId +from aiohttp.client import ClientTimeout + +# AIOHTTP +# we use twice the default values +AIOHTTP_TIMEOUT = ClientTimeout(total=10 * 60, sock_connect=60) # CONFIG CONF_URL = "url" diff --git a/music_assistant/providers/audiobookshelf/manifest.json b/music_assistant/providers/audiobookshelf/manifest.json index 96c0572b..3a4d7786 100644 --- a/music_assistant/providers/audiobookshelf/manifest.json +++ b/music_assistant/providers/audiobookshelf/manifest.json @@ -5,8 +5,8 @@ "name": "Audiobookshelf", "description": "Stream audiobooks and podcasts from your personal Audiobookshelf server.", "codeowners": ["@fmunkes"], - "credits": ["[aioaudiobookshelf](https://github.com/fmunkes/aioaudiobookshelf)"], - "requirements": ["aioaudiobookshelf==0.1.9"], + "credits": ["[aioaudiobookshelf](https://github.com/music-assistant/aioaudiobookshelf)"], + "requirements": ["aioaudiobookshelf==0.1.10"], "documentation": "https://music-assistant.io/music-providers/audiobookshelf", "multi_instance": true } diff --git a/requirements_all.txt b/requirements_all.txt index b492a193..be84bff9 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1,7 +1,7 @@ # WARNING: this file is autogenerated! Brotli>=1.0.9 -aioaudiobookshelf==0.1.9 +aioaudiobookshelf==0.1.10 aiodns>=3.2.0 aiofiles==24.1.0 aiohttp==3.13.2