from __future__ import annotations
+import asyncio
import functools
import itertools
import time
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
from .constants import (
ABS_BROWSE_ITEMS_TO_PATH,
ABS_SHELF_ID_ICONS,
+ AIOHTTP_TIMEOUT,
CACHE_CATEGORY_LIBRARIES,
CACHE_KEY_LIBRARIES,
CONF_API_TOKEN,
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:
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"
"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
}
# 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