@@ -92,15 +92,35 @@ def on_connection_state_updated(session):
9292 'OFFLINE' ,
9393 'UNDEFINED' ,
9494 )
95+ logger .debug (
96+ 'Checking connection state %s' % session .connection .state
97+ )
9598 for state in KNOWN_STATES :
9699 if (
97100 session .connection .state == getattr (
98101 spotify .ConnectionState , state
99102 )
100103 ):
101104 logger .debug ('Received connection state %s' % state )
102- if session .connection .state is spotify .ConnectionState .LOGGED_IN :
105+ if session .connection .state == spotify .ConnectionState .LOGGED_IN :
103106 logged_in .set ()
107+ disconnect_state = spotify .ConnectionState .DISCONNECTED
108+ if session .connection .state == disconnect_state :
109+ if self .player .is_playing ():
110+ self .player .play_pause ()
111+ self .player .state = self .player .DISCONNECTED_INDICATOR
112+ logger .warning (
113+ 'Spoppy has been disconnected. DO YOU HAVE INTERNET?'
114+ )
115+
116+ else :
117+ if (
118+ self .player .state == self .player .DISCONNECTED_INDICATOR and
119+ not self .player .is_playing ()
120+ ):
121+ logger .debug ('We got internet back, playing!' )
122+ self .player .play_pause ()
123+ self .player .state = None
104124
105125 def on_lost_play_token (session ):
106126 if self .player .is_playing ():
@@ -124,7 +144,7 @@ def on_lost_play_token(session):
124144 logger .debug ('Actually logging in now...' )
125145 self ._pyspotify_session .login (self .username , self .password )
126146
127- logged_in .wait (6 )
147+ logged_in .wait (5 )
128148 if logged_in .is_set ():
129149 logger .debug ('PySpotify logged in!' )
130150 return True
0 commit comments