Support MPD_NOW_PLAYABLE_CACHE setting (Redis or Memcached)
This commit is contained in:
parent
c7773bf324
commit
55d82c72c3
7 changed files with 118 additions and 36 deletions
7
stubs/aiocache/base.pyi
Normal file
7
stubs/aiocache/base.pyi
Normal file
|
@ -0,0 +1,7 @@
|
|||
from typing import Generic, TypeVar
|
||||
|
||||
T = TypeVar("T")
|
||||
|
||||
class BaseCache(Generic[T]):
|
||||
@staticmethod
|
||||
def parse_uri_path(path: str) -> dict[str, str]: ...
|
|
@ -1,8 +1,25 @@
|
|||
from typing import Generic, Optional, TypeVar
|
||||
from typing import ClassVar, Optional, TypeVar
|
||||
|
||||
T = TypeVar('T')
|
||||
from .base import BaseCache
|
||||
from .serializers import BaseSerializer
|
||||
|
||||
class Cache(Generic[T]):
|
||||
async def add(self, key: str, value: T, ttl: Optional[int]) -> None: ...
|
||||
async def set(self, key: str, value: T, ttl: Optional[int]) -> None: ... # noqa: A003
|
||||
async def get(self, key: str, default: T | None = None) -> T | None: ...
|
||||
T = TypeVar("T")
|
||||
|
||||
class Cache(BaseCache[T]):
|
||||
MEMORY: ClassVar[type[BaseCache]]
|
||||
REDIS: ClassVar[type[BaseCache] | None]
|
||||
MEMCACHED: ClassVar[type[BaseCache] | None]
|
||||
|
||||
def __new__(
|
||||
cls,
|
||||
cache_class: type[BaseCache] = MEMORY,
|
||||
*,
|
||||
serializer: Optional[BaseSerializer] = None,
|
||||
namespace: str = "",
|
||||
**kwargs,
|
||||
) -> Cache[T]: ...
|
||||
@staticmethod
|
||||
def get_scheme_class(scheme: str) -> type[BaseCache]: ...
|
||||
async def add(self, key: str, value: T, ttl: Optional[int]) -> None: ...
|
||||
async def set(self, key: str, value: T, ttl: Optional[int]) -> None: ... # noqa: A003
|
||||
async def get(self, key: str, default: T | None = None) -> T | None: ...
|
||||
|
|
14
stubs/aiocache/serializers.pyi
Normal file
14
stubs/aiocache/serializers.pyi
Normal file
|
@ -0,0 +1,14 @@
|
|||
from abc import ABC, abstractmethod
|
||||
from typing import Any, Optional
|
||||
|
||||
class BaseSerializer(ABC):
|
||||
DEFAULT_ENCODING: Optional[str] = "utf-8"
|
||||
@abstractmethod
|
||||
def dumps(self, value: Any, /) -> Any: ...
|
||||
@abstractmethod
|
||||
def loads(self, value: Any, /) -> Any: ...
|
||||
|
||||
class PickleSerializer(BaseSerializer):
|
||||
DEFAULT_ENCODING = None
|
||||
def dumps(self, value: Any, /) -> Any: ...
|
||||
def loads(self, value: Any, /) -> Any: ...
|
Loading…
Add table
Add a link
Reference in a new issue