def play_track(model): self.controller.debug("SpotifyTrackAction play_track") play_ctl = self.controller.frontend.retrieve_controllers( '/poblesec/video_player' )[0] resource_provider = get_spotify_provider() # When a gst source element is created to handle the # appsrc:// uri this callback sets it up to get data from # the spotify client. play_ctl.player.pipeline.connect( 'notify::source', resource_provider.client.gst_setup_source ) # This callback handles start/stop/pause in the spotify client play_ctl.player.connect( 'status-changed', resource_provider.client.gst_state_changed ) self.controller.debug("Start playing model via gst") play_ctl.player.play_model(model) # Set up the client to feed the track data to gst self.controller.debug("Load track in spotify client") resource_provider.client.load_track(model.playable_uri) main = self.controller.frontend.retrieve_controllers('/poblesec')[0] main.show_video_player()
def __init__(self, controller): super(AuthenticationAction, self).__init__(controller) provider = get_spotify_provider() if provider.is_logged_in(): self.name = _("Log out") else: self.name = _("Log in")
def execute(self, item): provider = get_spotify_provider() if provider.is_logged_in(): self.name = _("Log in") provider.logout() dfr = defer.succeed(None) else: def controller_appended(result): self.name = _("Log out") return result browser = self.controller.frontend.retrieve_controllers('/poblesec/browser')[0] path = "/poblesec/spotify/login" title = _("Log in") dfr = browser.history.append_controller(path, title) dfr.addCallback(controller_appended) return dfr
def run(self): get_spotify_provider().logout() frontend = self.controller.frontend browser = frontend.retrieve_controllers('/poblesec/browser')[0] return browser.history.go_back()
def login(self, username, password): # Overridden from mother class. try: provider = get_spotify_provider() except ResourceProviderNotFound, error: return defer.fail(error)