Support a TOML configuration file
The new config file currently only configures the same options that were already available through environment variables. However I have ideas for additional features that would be much nicer to support using a structured configuration format like TOML rather than environment variables, so config files exist now! The previous environment variables are still supported and will be used if you don't have a config file. I plan to keep supporting the MPD_HOST and MPD_PORT environment variables forever since they're shared with other MPD clients such as mpc, but I may eventually drop the environment variables specific to mpd-now-playable in a future release.
This commit is contained in:
parent
796e3df87d
commit
dc037a0a4b
12 changed files with 305 additions and 33 deletions
|
@ -2,6 +2,8 @@ from __future__ import annotations
|
|||
|
||||
from typing import TypedDict
|
||||
|
||||
from yarl import URL
|
||||
|
||||
from ..async_tools import run_background_task
|
||||
from ..cache import Cache, make_cache
|
||||
from .types import CurrentSongResponse, MpdStateHandler
|
||||
|
@ -23,12 +25,15 @@ def calc_track_key(song: CurrentSongResponse) -> str:
|
|||
return song["file"]
|
||||
|
||||
|
||||
MEMORY = URL("memory://")
|
||||
|
||||
|
||||
class MpdArtworkCache:
|
||||
mpd: MpdStateHandler
|
||||
album_cache: Cache[ArtCacheEntry]
|
||||
track_cache: Cache[ArtCacheEntry]
|
||||
|
||||
def __init__(self, mpd: MpdStateHandler, cache_url: str = "memory://"):
|
||||
def __init__(self, mpd: MpdStateHandler, cache_url: URL = MEMORY):
|
||||
self.mpd = mpd
|
||||
self.album_cache = make_cache(cache_url, "album")
|
||||
self.track_cache = make_cache(cache_url, "track")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue