def __init__(self): self.addon = xbmcaddon.Addon(id=ADDON_ID) self.win = xbmcgui.Window(10000) self.kodimonitor = xbmc.Monitor() self.spotty = Spotty() # spotipy and the webservice are always prestarted in the background # the auth key for spotipy will be set afterwards # the webserver is also used for the authentication callbacks from spotify api self.sp = spotipy.Spotify() self.connect_player = ConnectPlayer(sp=self.sp) self.proxy_runner = ProxyRunner(self.spotty, self.connect_player) self.proxy_runner.start() webport = self.proxy_runner.get_port() log_msg('started webproxy at port {0}'.format(webport)) # kill all pre-existing spotty instances kill_spotty() # authenticate at startup self.renew_token() # start mainloop self.main_loop()
def close(self): '''shutdown, perform cleanup''' log_msg('Shutdown requested !', xbmc.LOGNOTICE) kill_spotty() self.proxy_runner.stop() self.connect_player.close() del self.connect_player del self.addon del self.kodimonitor log_msg('stopped', xbmc.LOGNOTICE)