Rename mopidy.{listeners.BackendListener => core.CoreListener}

This commit is contained in:
Stein Magnus Jodal 2012-09-27 20:31:41 +02:00
parent 5a628a4150
commit e7f08a7a20
12 changed files with 39 additions and 37 deletions

View File

@ -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:

View File

@ -11,4 +11,3 @@ API reference
core
audio
frontends
listeners

View File

@ -1,7 +0,0 @@
************
Listener API
************
.. automodule:: mopidy.listeners
:synopsis: Listener API
:members:

View File

@ -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

View File

@ -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')

View File

@ -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):
"""

View File

@ -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)

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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)

View File

@ -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)