Exemple #1
0
    def test_on_event_forwards_to_specific_handler(self):
        self.listener.track_changing = mock.Mock()

        self.listener.on_event(
            'track_changing', track=models.Ref(name='name_mock'))

        self.listener.track_changing.assert_called_with(track=models.Ref(name='name_mock'))
Exemple #2
0
    def test_on_event_forwards_to_specific_handler(self):
        self.listener.next_track_available = mock.Mock()

        self.listener.on_event(
            'next_track_available', track=models.Ref(name='name_mock'), auto_play=False)

        self.listener.next_track_available.assert_called_with(track=models.Ref(name='name_mock'), auto_play=False)
Exemple #3
0
    def test_on_event_forwards_to_specific_handler(self, playback_listener):
        playback_listener.track_changing = mock.Mock()

        playback_listener.on_event("track_changing",
                                   track=models.Ref(name="name_mock"))

        playback_listener.track_changing.assert_called_with(track=models.Ref(
            name="name_mock"))
Exemple #4
0
    def test_on_event_forwards_to_specific_handler(self, backend_listener):
        backend_listener.next_track_available = mock.Mock()

        backend_listener.on_event(
            "next_track_available",
            track=models.Ref(name="name_mock"),
            auto_play=False,
        )

        backend_listener.next_track_available.assert_called_with(
            track=models.Ref(name="name_mock"), auto_play=False)
Exemple #5
0
class OpmlFeed(PodcastFeed):  # not really a "feed"

    TYPES = {
        'include':
        lambda e: models.Ref.directory(
            name=e.get('text'), uri=PodcastFeed.getfeeduri(e.get('url'))),
        'link':
        lambda e: models.Ref(type=(models.Ref.DIRECTORY if e.get('url').
                                   endswith('.opml') else models.Ref.ALBUM),
                             name=e.get('text'),
                             uri=PodcastFeed.getfeeduri(e.get('url'))),
        'rss':
        lambda e: models.Ref.album(name=e.get('title', e.get('text')),
                                   uri=PodcastFeed.getfeeduri(e.get('xmlUrl')))
    }

    def __init__(self, url, root):
        super(OpmlFeed, self).__init__(url)
        self.__outlines = root.findall('./body//outline[@type]')

    def items(self, newest_first=None):
        for e in self.__outlines:
            try:
                ref = self.TYPES[e.get('type').lower()]
            except KeyError:
                pass
            else:
                yield ref(e)
Exemple #6
0
def test_factory_track_ref():
    track_ref = models.Ref(
        name='name_mock', uri='pandora:track:station_id_mock:track_token_mock')

    obj = PandoraUri.factory(track_ref)

    assert type(obj) is PlaylistItemUri
    assert obj.uri == track_ref.uri
Exemple #7
0
 def test_listener_has_default_impl_for_track_unplayable(self):
     self.listener.track_unplayable(track=models.Ref(name='name_mock'))
Exemple #8
0
 def test_listener_has_default_impl_for_track_changing(self):
     self.listener.track_changing(track=models.Ref(name='name_mock'))
Exemple #9
0
 def test_listener_has_default_impl_for_next_track_available(self):
     self.listener.next_track_available(track=models.Ref(name='name_mock'), auto_play=False)
Exemple #10
0
 def test_listener_has_default_impl_for_track_unplayable(
         self, playback_listener):
     playback_listener.track_unplayable(track=models.Ref(name="name_mock"))
Exemple #11
0
 def test_listener_has_default_impl_for_next_track_available(
         self, backend_listener):
     backend_listener.next_track_available(
         track=models.Ref(name="name_mock"), auto_play=False)