Rename mopidy.{listeners.BackendListener => core.CoreListener}
This commit is contained in:
parent
5a628a4150
commit
e7f08a7a20
@ -48,3 +48,10 @@ Manages the music library, e.g. searching for tracks to be added to a playlist.
|
||||
|
||||
.. autoclass:: mopidy.core.LibraryController
|
||||
:members:
|
||||
|
||||
|
||||
Core listener
|
||||
=============
|
||||
|
||||
.. autoclass:: mopidy.core.CoreListener
|
||||
:members:
|
||||
|
||||
@ -11,4 +11,3 @@ API reference
|
||||
core
|
||||
audio
|
||||
frontends
|
||||
listeners
|
||||
|
||||
@ -1,7 +0,0 @@
|
||||
************
|
||||
Listener API
|
||||
************
|
||||
|
||||
.. automodule:: mopidy.listeners
|
||||
:synopsis: Listener API
|
||||
:members:
|
||||
@ -1,5 +1,6 @@
|
||||
from .actor import Core
|
||||
from .current_playlist import CurrentPlaylistController
|
||||
from .library import LibraryController
|
||||
from .listener import CoreListener
|
||||
from .playback import PlaybackController, PlaybackState
|
||||
from .stored_playlists import StoredPlaylistsController
|
||||
|
||||
@ -2,9 +2,10 @@ from copy import copy
|
||||
import logging
|
||||
import random
|
||||
|
||||
from mopidy.listeners import BackendListener
|
||||
from mopidy.models import CpTrack
|
||||
|
||||
from .listener import CoreListener
|
||||
|
||||
|
||||
logger = logging.getLogger('mopidy.core')
|
||||
|
||||
@ -240,4 +241,4 @@ class CurrentPlaylistController(object):
|
||||
|
||||
def _trigger_playlist_changed(self):
|
||||
logger.debug(u'Triggering playlist changed event')
|
||||
BackendListener.send('playlist_changed')
|
||||
CoreListener.send('playlist_changed')
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
from pykka import registry
|
||||
|
||||
class BackendListener(object):
|
||||
|
||||
class CoreListener(object):
|
||||
"""
|
||||
Marker interface for recipients of events sent by the backend.
|
||||
Marker interface for recipients of events sent by the core actor.
|
||||
|
||||
Any Pykka actor that mixes in this class will receive calls to the methods
|
||||
defined here when the corresponding events happen in the backend. This
|
||||
defined here when the corresponding events happen in the core actor. This
|
||||
interface is used both for looking up what actors to notify of the events,
|
||||
and for providing default implementations for those listeners that are not
|
||||
interested in all events.
|
||||
@ -13,7 +14,7 @@ class BackendListener(object):
|
||||
|
||||
@staticmethod
|
||||
def send(event, **kwargs):
|
||||
"""Helper to allow calling of backend listener events"""
|
||||
"""Helper to allow calling of core listener events"""
|
||||
# FIXME this should be updated once Pykka supports non-blocking calls
|
||||
# on proxies or some similar solution.
|
||||
registry.ActorRegistry.broadcast({
|
||||
@ -21,7 +22,7 @@ class BackendListener(object):
|
||||
'attr_path': (event,),
|
||||
'args': [],
|
||||
'kwargs': kwargs,
|
||||
}, target_class=BackendListener)
|
||||
}, target_class=CoreListener)
|
||||
|
||||
def track_playback_paused(self, track, time_position):
|
||||
"""
|
||||
@ -1,7 +1,7 @@
|
||||
import logging
|
||||
import random
|
||||
|
||||
from mopidy.listeners import BackendListener
|
||||
from .listener import CoreListener
|
||||
|
||||
|
||||
logger = logging.getLogger('mopidy.backends.base')
|
||||
@ -479,7 +479,7 @@ class PlaybackController(object):
|
||||
logger.debug(u'Triggering track playback paused event')
|
||||
if self.current_track is None:
|
||||
return
|
||||
BackendListener.send('track_playback_paused',
|
||||
CoreListener.send('track_playback_paused',
|
||||
track=self.current_track,
|
||||
time_position=self.time_position)
|
||||
|
||||
@ -487,7 +487,7 @@ class PlaybackController(object):
|
||||
logger.debug(u'Triggering track playback resumed event')
|
||||
if self.current_track is None:
|
||||
return
|
||||
BackendListener.send('track_playback_resumed',
|
||||
CoreListener.send('track_playback_resumed',
|
||||
track=self.current_track,
|
||||
time_position=self.time_position)
|
||||
|
||||
@ -495,26 +495,26 @@ class PlaybackController(object):
|
||||
logger.debug(u'Triggering track playback started event')
|
||||
if self.current_track is None:
|
||||
return
|
||||
BackendListener.send('track_playback_started',
|
||||
CoreListener.send('track_playback_started',
|
||||
track=self.current_track)
|
||||
|
||||
def _trigger_track_playback_ended(self):
|
||||
logger.debug(u'Triggering track playback ended event')
|
||||
if self.current_track is None:
|
||||
return
|
||||
BackendListener.send('track_playback_ended',
|
||||
CoreListener.send('track_playback_ended',
|
||||
track=self.current_track,
|
||||
time_position=self.time_position)
|
||||
|
||||
def _trigger_playback_state_changed(self, old_state, new_state):
|
||||
logger.debug(u'Triggering playback state change event')
|
||||
BackendListener.send('playback_state_changed',
|
||||
CoreListener.send('playback_state_changed',
|
||||
old_state=old_state, new_state=new_state)
|
||||
|
||||
def _trigger_options_changed(self):
|
||||
logger.debug(u'Triggering options changed event')
|
||||
BackendListener.send('options_changed')
|
||||
CoreListener.send('options_changed')
|
||||
|
||||
def _trigger_seeked(self, time_position):
|
||||
logger.debug(u'Triggering seeked event')
|
||||
BackendListener.send('seeked', time_position=time_position)
|
||||
CoreListener.send('seeked', time_position=time_position)
|
||||
|
||||
@ -9,15 +9,16 @@ except ImportError as import_error:
|
||||
|
||||
from pykka.actor import ThreadingActor
|
||||
|
||||
from mopidy import settings, SettingsError
|
||||
from mopidy.listeners import BackendListener
|
||||
from mopidy import core, settings, SettingsError
|
||||
|
||||
|
||||
logger = logging.getLogger('mopidy.frontends.lastfm')
|
||||
|
||||
API_KEY = '2236babefa8ebb3d93ea467560d00d04'
|
||||
API_SECRET = '94d9a09c0cd5be955c4afaeaffcaefcd'
|
||||
|
||||
class LastfmFrontend(ThreadingActor, BackendListener):
|
||||
|
||||
class LastfmFrontend(ThreadingActor, core.CoreListener):
|
||||
"""
|
||||
Frontend which scrobbles the music you play to your `Last.fm
|
||||
<http://www.last.fm>`_ profile.
|
||||
|
||||
@ -3,13 +3,15 @@ import sys
|
||||
|
||||
from pykka import registry, actor
|
||||
|
||||
from mopidy import listeners, settings
|
||||
from mopidy import core, settings
|
||||
from mopidy.frontends.mpd import dispatcher, protocol
|
||||
from mopidy.utils import locale_decode, log, network, process
|
||||
|
||||
|
||||
logger = logging.getLogger('mopidy.frontends.mpd')
|
||||
|
||||
class MpdFrontend(actor.ThreadingActor, listeners.BackendListener):
|
||||
|
||||
class MpdFrontend(actor.ThreadingActor, core.CoreListener):
|
||||
"""
|
||||
The MPD frontend.
|
||||
|
||||
|
||||
@ -10,12 +10,11 @@ except ImportError as import_error:
|
||||
|
||||
from pykka.actor import ThreadingActor
|
||||
|
||||
from mopidy import settings
|
||||
from mopidy import core, settings
|
||||
from mopidy.frontends.mpris import objects
|
||||
from mopidy.listeners import BackendListener
|
||||
|
||||
|
||||
class MprisFrontend(ThreadingActor, BackendListener):
|
||||
class MprisFrontend(ThreadingActor, core.CoreListener):
|
||||
"""
|
||||
Frontend which lets you control Mopidy through the Media Player Remote
|
||||
Interfacing Specification (`MPRIS <http://www.mpris.org/>`_) D-Bus
|
||||
|
||||
@ -4,13 +4,12 @@ from pykka.registry import ActorRegistry
|
||||
|
||||
from mopidy import audio, core
|
||||
from mopidy.backends import dummy
|
||||
from mopidy.listeners import BackendListener
|
||||
from mopidy.models import Track
|
||||
|
||||
from tests import unittest
|
||||
|
||||
|
||||
@mock.patch.object(BackendListener, 'send')
|
||||
@mock.patch.object(core.CoreListener, 'send')
|
||||
class BackendEventsTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.audio = mock.Mock(spec=audio.Audio)
|
||||
|
||||
@ -1,13 +1,12 @@
|
||||
from mopidy.core import PlaybackState
|
||||
from mopidy.listeners import BackendListener
|
||||
from mopidy.core import CoreListener, PlaybackState
|
||||
from mopidy.models import Track
|
||||
|
||||
from tests import unittest
|
||||
|
||||
|
||||
class BackendListenerTest(unittest.TestCase):
|
||||
class CoreListenerTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.listener = BackendListener()
|
||||
self.listener = CoreListener()
|
||||
|
||||
def test_listener_has_default_impl_for_track_playback_paused(self):
|
||||
self.listener.track_playback_paused(Track(), 0)
|
||||
Loading…
Reference in New Issue
Block a user