wip
This commit is contained in:
parent
d2ad4b50d4
commit
4ab5b92527
|
@ -22,21 +22,21 @@ class MusicTidalPlugin(MusicPlugin):
|
||||||
|
|
||||||
_base_url = 'https://api.tidalhifi.com/v1/'
|
_base_url = 'https://api.tidalhifi.com/v1/'
|
||||||
|
|
||||||
def __init__(self, client_id: Optional[str] = None, client_secret: Optional[str] = None, **kwargs):
|
def __init__(self, quality: str = 'high', **kwargs):
|
||||||
|
"""
|
||||||
|
:param quality: Default audio quality. Default: ``high``.
|
||||||
|
Supported: [``loseless``, ``master``, ``high``, ``low``].
|
||||||
|
"""
|
||||||
|
from tidalapi import Quality
|
||||||
|
|
||||||
super().__init__(self, **kwargs)
|
super().__init__(self, **kwargs)
|
||||||
self._players_by_id = {}
|
try:
|
||||||
self._players_by_name = {}
|
self._quality = getattr(Quality, quality.lower())
|
||||||
# Playlist ID -> snapshot ID and tracks cache
|
except AttributeError:
|
||||||
self._playlist_snapshots = {}
|
raise AssertionError(
|
||||||
|
f'Invalid quality: {quality}. Supported values: '
|
||||||
def _get_device(self, device: str):
|
f'{[q.name for q in Quality]}'
|
||||||
dev = self._players_by_id.get(device, self._players_by_name.get(device))
|
)
|
||||||
if not dev:
|
|
||||||
self.get_devices()
|
|
||||||
|
|
||||||
dev = self._players_by_id.get(device, self._players_by_name.get(device))
|
|
||||||
assert dev, f'No such device: {device}'
|
|
||||||
return dev
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _parse_datetime(dt: Optional[Union[str, datetime, int, float]]) -> Optional[datetime]:
|
def _parse_datetime(dt: Optional[Union[str, datetime, int, float]]) -> Optional[datetime]:
|
||||||
|
|
Loading…
Reference in New Issue