This commit is contained in:
@@ -1394,7 +1394,16 @@ class Session(Closeable, MessageListener, SubListener):
|
||||
finally:
|
||||
self.connection.set_timeout(0)
|
||||
|
||||
# If we reach here, the handshake succeeded.
|
||||
# If we reach here, the handshake succeeded; derive
|
||||
# the Shannon cipher keys and mark the session as
|
||||
# connected.
|
||||
buffer.seek(20)
|
||||
with self.__auth_lock:
|
||||
self.cipher_pair = CipherPair(
|
||||
buffer.read(32), buffer.read(32)
|
||||
)
|
||||
self.__auth_lock_bool = True
|
||||
self.logger.info("Connection successfully!")
|
||||
return
|
||||
|
||||
except (ConnectionResetError, OSError, struct.error) as exc:
|
||||
@@ -1426,17 +1435,18 @@ class Session(Closeable, MessageListener, SubListener):
|
||||
)
|
||||
time.sleep(1)
|
||||
|
||||
# All attempts failed: raise a clear error instead of crashing
|
||||
# with a low-level struct.error.
|
||||
raise RuntimeError(
|
||||
"Failed to connect to Spotify access point after "
|
||||
f"{max_attempts} attempts"
|
||||
) from last_exc
|
||||
buffer.seek(20)
|
||||
with self.__auth_lock:
|
||||
self.cipher_pair = CipherPair(buffer.read(32), buffer.read(32))
|
||||
self.__auth_lock_bool = True
|
||||
self.logger.info("Connection successfully!")
|
||||
# All attempts failed: log and raise a clear, user-friendly
|
||||
# error instead of crashing with a low-level struct.error.
|
||||
friendly_message = (
|
||||
"Failed to connect to Spotify after "
|
||||
f"{max_attempts} attempts. "
|
||||
"OAuth login succeeded, but connecting to the Spotify "
|
||||
"access point timed out or was refused. "
|
||||
"This is usually a network or firewall issue."
|
||||
)
|
||||
self.logger.error("%s Last error: %s", friendly_message, last_exc)
|
||||
print(friendly_message)
|
||||
raise RuntimeError(friendly_message) from last_exc
|
||||
|
||||
def content_feeder(self) -> PlayableContentFeeder:
|
||||
""" """
|
||||
|
||||
Reference in New Issue
Block a user