Beispiel #1
0
    def get_station_cache_item(self, station_id):
        if re.match('^([SRCG])', station_id):
            pandora_uri = self._create_station_for_token(station_id)
            station_id = pandora_uri.station_id

        station = self.backend.api.get_station(station_id)
        station_iter = iterate_forever(station.get_playlist)
        return StationCacheItem(station, station_iter)
Beispiel #2
0
    def test_reraise_missing_params_exception(self):
        with patch.object(APIClient, 'get_playlist', side_effect=ParameterMissing("ParameterMissing")) as get_playlist_mock:
                with self.assertRaises(ParameterMissing):

                    station = Station.from_json(self.client, {'stationToken': 'token_mock'})
                    track_mock = PlaylistItem.from_json(self.client, {'token': 'token_mock'})
                    get_playlist_mock.return_value=iter([track_mock])

                    station_iter = iterate_forever(station.get_playlist)
                    next(station_iter)
Beispiel #3
0
    def test_handle_missing_params_exception_due_to_missing_ad_tokens(self):
        with patch.object(APIClient, 'get_playlist') as get_playlist_mock:
            with patch.object(APIClient, 'register_ad', side_effect=ParameterMissing("ParameterMissing")):

                station = Station.from_json(self.client, {'stationToken': 'token_mock'})
                ad_mock = AdItem.from_json(self.client, {'station_id': 'id_mock'})
                get_playlist_mock.return_value=iter([ad_mock])

                station_iter = iterate_forever(station.get_playlist)

                next_track = next(station_iter)
                self.assertEqual(ad_mock, next_track)
Beispiel #4
0
    def __missing__(self, station_id):
        if re.match("^([SRCG])", station_id):
            pandora_uri = self.library._create_station_for_token(station_id)
            station_id = pandora_uri.station_id

        station = self.library.backend.api.get_station(station_id)
        station_iter = iterate_forever(station.get_playlist)

        item = StationCacheItem(station, station_iter)
        self[station_id] = item

        return item
Beispiel #5
0
    def __missing__(self, station_id):
        if re.match("^([SRCG])", station_id):
            pandora_uri = self.library._create_station_for_token(station_id)
            station_id = pandora_uri.station_id

        station = self.library.backend.api.get_station(station_id)
        station_iter = iterate_forever(station.get_playlist)

        item = StationCacheItem(station, station_iter)
        self[station_id] = item

        return item
Beispiel #6
0
    def test_reraise_missing_params_exception(self):
        plmock = patch.object(APIClient,
                              'get_playlist',
                              side_effect=ParameterMissing("ParameterMissing"))

        with plmock as get_playlist_mock:
            with self.assertRaises(ParameterMissing):
                station = Station.from_json(self.client,
                                            {'stationToken': 'token_mock'})
                track_mock = PlaylistItem.from_json(self.client,
                                                    {'token': 'token_mock'})
                get_playlist_mock.return_value = iter([track_mock])

                station_iter = iterate_forever(station.get_playlist)
                next(station_iter)
Beispiel #7
0
    def test_handle_missing_params_exception_due_to_missing_ad_tokens(self):
        with patch.object(APIClient, 'get_playlist') as get_playlist_mock:
            with patch.object(
                    APIClient,
                    'register_ad',
                    side_effect=ParameterMissing("ParameterMissing")):

                station = Station.from_json(self.client,
                                            {'stationToken': 'token_mock'})
                ad_mock = AdItem.from_json(self.client,
                                           {'station_id': 'id_mock'})
                get_playlist_mock.return_value = iter([ad_mock])

                station_iter = iterate_forever(station.get_playlist)

                next_track = next(station_iter)
                self.assertEqual(ad_mock, next_track)