Exemplo n.º 1
0
        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()
Exemplo n.º 2
0
 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")
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    def run(self):
        get_spotify_provider().logout()

        frontend = self.controller.frontend
        browser = frontend.retrieve_controllers('/poblesec/browser')[0]
        return browser.history.go_back()
Exemplo n.º 5
0
 def login(self, username, password):
     # Overridden from mother class.
     try:
         provider = get_spotify_provider()
     except ResourceProviderNotFound, error:
         return defer.fail(error)