diff --git a/docs/index.rst b/docs/index.rst index abf832a..50929c1 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -86,18 +86,17 @@ and run it by executing:: pip install sublime-music -Or if you want to store your passwords in the system keyring instead of in -plain-text:: +There are a few optional dependencies that you can install. Here's an example of +how to do that:: - pip install sublime-music[keyring] + pip install sublime-music[keyring,chromecast,server] -If you want support for playing on Chromecast devices:: - - pip install sublime-music[chromecast] - -You can combine the two above dependencies using something like:: - - pip install sublime-music[keyring,chromecast] +* ``keyring``: if you want to store your passwords in the system keyring instead + of in plain-text +* ``chromecast``: if you want support for playing on Chromecast devices on the + LAN. +* ``server``: if you want to be able to serve cached files from your computer + over the LAN to Chromecast devices .. note:: diff --git a/flatpak/flatpak-requirements.txt b/flatpak/flatpak-requirements.txt index a030020..9b47864 100644 --- a/flatpak/flatpak-requirements.txt +++ b/flatpak/flatpak-requirements.txt @@ -18,10 +18,8 @@ pycparser==2.20 python-dateutil==2.8.1 python-levenshtein==0.12.0 python-mpv==0.4.6 -pyyaml==5.3.1 requests==2.23.0 stringcase==1.2.0 typing-extensions==3.7.4.2 typing-inspect==0.6.0 urllib3==1.25.9 -zeroconf==0.27.0 diff --git a/setup.py b/setup.py index 399e329..b733b4e 100644 --- a/setup.py +++ b/setup.py @@ -47,8 +47,7 @@ setup( "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", # Specify the Python versions you support here. In particular, ensure # that you indicate whether you support Python 2, Python 3 or both. - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", ], keywords="airsonic subsonic libresonic gonic music", packages=find_packages(exclude=["tests"]), @@ -63,10 +62,13 @@ setup( "python-dateutil", "python-Levenshtein", "python-mpv", - "pyyaml", "requests", ], - extras_require={"keyring": ["keyring"], "chromecast": ["pychromecast", "bottle"]}, + extras_require={ + "keyring": ["keyring"], + "chromecast": ["pychromecast"], + "server": ["bottle"], + }, # To provide executable scripts, use entry points in preference to the # "scripts" keyword. Entry points provide cross-platform support and # allow pip to create the appropriate form of executable for the target diff --git a/sublime/adapters/adapter_base.py b/sublime/adapters/adapter_base.py index a99e3f1..7efc8fe 100644 --- a/sublime/adapters/adapter_base.py +++ b/sublime/adapters/adapter_base.py @@ -178,7 +178,7 @@ class ConfigurationStore(dict): values = ", ".join(f"{k}={v!r}" for k, v in sorted(self.items())) return f"ConfigurationStore({values})" - def get_secret(self, key: str) -> Any: + def get_secret(self, key: str) -> Optional[str]: """ Get the secret value in the store with the given key. If the key doesn't exist in the store, return the default. This will retrieve the secret from whatever is @@ -195,7 +195,7 @@ class ConfigurationStore(dict): "plaintext": lambda: storage_key, }[storage_type]() - def set_secret(self, key: str, value: Any = None) -> Any: + def set_secret(self, key: str, value: str = None): """ Set the secret value of the given key in the store. This should be used for things such as passwords or API tokens. This will store the secret in whatever diff --git a/sublime/players.py b/sublime/players.py index 9c3a396..2901c26 100644 --- a/sublime/players.py +++ b/sublime/players.py @@ -15,8 +15,10 @@ from typing import Any, Callable, List, Optional from urllib.parse import urlparse from uuid import UUID +# TODO import bottle import mpv +# TODO import pychromecast from sublime.adapters import AdapterManager