def _create_player_from_selected(self) -> None:
        """Creates player(s) based on the selected items and adds to the queue.

        If the active menu is the feed menu, then this will create players for
        all episodes in the selected feed. If the active menu is the episode
        menu, this will simply create a single player.

        This method will not clear the queue prior to adding the new player(s),
        nor will it play the episodes after running.
        """
        if self._active_window == 0:
            feed = self._feed_menu.item
            if feed is not None:
                for episode in self._display.database.episodes(feed):
                    player = Player.create_instance(
                        self._display.AVAILABLE_PLAYERS, str(episode),
                        episode.get_playable(), episode)
                    self._display.queue.add(player)
        elif self._active_window == 1:
            episode = self._episode_menu.item
            if episode is not None:
                player = Player.create_instance(
                    self._display.AVAILABLE_PLAYERS, str(episode),
                    episode.get_playable(), episode)
                self._display.queue.add(player)
示例#2
0
 def _restore_queue(self) -> None:
     """Recreate players in queue from the database."""
     for episode in self.database.queue():
         player = Player.create_instance(self.AVAILABLE_PLAYERS,
                                         str(episode),
                                         episode.get_playable(), episode)
         self.queue.add(player)
示例#3
0
def test_player_create_instance_dep_error_indirect():
    Config.data = {'player': ''}
    SomePlayer.check_dependencies.side_effect = PlayerDependencyError()
    with pytest.raises(PlayerDependencyError):
        Player.create_instance(available_players, "t", "p", episode)
        assert SomePlayer.check_dependencies.call_count == 1
示例#4
0
def test_player_create_instance_success_indirect():
    Config.data = {'player': ''}
    Player.create_instance(available_players, "t", "p", episode)
    SomePlayer.check_dependencies.assert_called = 2
    SomePlayer.assert_called_with("t", "p", episode)
示例#5
0
def test_player_create_instance_success_direct():
    Config.data = {'player': 'someplayer'}
    Player.create_instance(available_players, "t", "p", episode)
    assert SomePlayer.check_dependencies.call_count == 1
    SomePlayer.assert_called_with("t", "p", episode)