Fix TypeError

This commit is contained in:
Denis
2021-04-24 17:17:02 +07:00
parent 81394e5260
commit 8481226ff4
16 changed files with 58 additions and 47 deletions

View File

@@ -26,6 +26,7 @@ import socket
import struct
import threading
import time
import typing
class Session(Closeable, SubListener, DealerClient.MessageListener):
@@ -60,11 +61,11 @@ class Session(Closeable, SubListener, DealerClient.MessageListener):
_authLock: threading.Condition = threading.Condition()
_authLockBool: bool = False
_client: requests.Session = None
_closeListeners: list[Session.CloseListener] = []
_closeListeners: typing.List[Session.CloseListener] = []
_closeListenersLock: threading.Condition = threading.Condition()
_reconnectionListeners: list[Session.ReconnectionListener] = []
_reconnectionListeners: typing.List[Session.ReconnectionListener] = []
_reconnectionListenersLock: threading.Condition = threading.Condition()
_userAttributes: dict[str, str] = {}
_userAttributes: typing.Dict[str, str] = {}
_conn: Session.ConnectionHolder = None
_cipherPair: CipherPair = None
_receiver: Session.Receiver = None
@@ -379,9 +380,9 @@ class Session(Closeable, SubListener, DealerClient.MessageListener):
with self._closeListenersLock:
for listener in self._closeListeners:
listener.on_closed()
self._closeListeners: list[Session.CloseListener] = []
self._closeListeners: typing.List[Session.CloseListener] = []
self._reconnectionListeners: list[Session.ReconnectionListener] = []
self._reconnectionListeners: typing.List[Session.ReconnectionListener] = []
self._LOGGER.info("Closed session. device_id: {}".format(
self._inner.device_id))
@@ -586,7 +587,7 @@ class Session(Closeable, SubListener, DealerClient.MessageListener):
self._LOGGER.info("Updated user attribute: {} -> {}".format(
pair.key, pair.value))
def on_message(self, uri: str, headers: dict[str, str],
def on_message(self, uri: str, headers: typing.Dict[str, str],
payload: bytes) -> None:
if uri == "hm://connect-state/v1/connect/logout":
self.close()

View File

@@ -2,19 +2,20 @@ from __future__ import annotations
from librespot.core import Session, TimeProvider
from librespot.mercury import MercuryRequests
import logging
import typing
class TokenProvider:
_LOGGER: logging = logging.getLogger(__name__)
_TOKEN_EXPIRE_THRESHOLD = 10
_session: Session = None
_tokens: list[TokenProvider.StoredToken] = []
_tokens: typing.List[TokenProvider.StoredToken] = []
def __init__(self, session: Session):
self._session = session
def find_token_with_all_scopes(
self, scopes: list[str]) -> TokenProvider.StoredToken:
self, scopes: typing.List[str]) -> TokenProvider.StoredToken:
for token in self._tokens:
if token.has_scopes(scopes):
return token
@@ -55,7 +56,7 @@ class TokenProvider:
class StoredToken:
expires_in: int
access_token: str
scopes: list[str]
scopes: typing.List[str]
timestamp: int
def __init__(self, obj):
@@ -76,7 +77,7 @@ class TokenProvider:
return False
def has_scopes(self, sc: list[str]) -> bool:
def has_scopes(self, sc: typing.List[str]) -> bool:
for s in sc:
if not self.has_scope(s):
return False