Merge branch 'release/0.18.2' into develop

This commit is contained in:
Stein Magnus Jodal 2014-02-07 00:52:07 +01:00
commit 639d0c89c9
4 changed files with 13 additions and 4 deletions

View File

@ -37,3 +37,4 @@
- Simon de Bakker <simon@simbits.nl>
- Arnaud Barisain-Monrose <abarisain@gmail.com>
- nathanharper <nathan.sam.harper@gmail.com>
- Pierpaolo Frasa <pfrasa@smail.uni-koeln.de>

View File

@ -16,6 +16,11 @@ v0.18.2 (UNRELEASED)
Bug fix release.
- Fix the ``time_position`` field of the ``track_playback_ended`` event, which
has been always 0 since v0.18.0. This made scrobbles by Mopidy-Scrobbler not
be persisted by Last.fm, because Mopidy reported that you listened to 0
seconds of each track. (Fixes: :issue:`674`)
- Fix the log setup so that it is possible to increase the amount of logging
from a specific logger using the ``loglevels`` config section. (Fixes:
:issue:`684`)

View File

@ -306,9 +306,10 @@ class PlaybackController(object):
"""
if self.state != PlaybackState.STOPPED:
backend = self._get_backend()
time_position_before_stop = self.time_position
if not backend or backend.playback.stop().get():
self.state = PlaybackState.STOPPED
self._trigger_track_playback_ended()
self._trigger_track_playback_ended(time_position_before_stop)
if clear_current_track:
self.current_tl_track = None
@ -336,13 +337,14 @@ class PlaybackController(object):
'track_playback_started',
tl_track=self.current_tl_track)
def _trigger_track_playback_ended(self):
def _trigger_track_playback_ended(self, time_position_before_stop):
logger.debug('Triggering track playback ended event')
if self.current_tl_track is None:
return
listener.CoreListener.send(
'track_playback_ended',
tl_track=self.current_tl_track, time_position=self.time_position)
tl_track=self.current_tl_track,
time_position=time_position_before_stop)
def _trigger_playback_state_changed(self, old_state, new_state):
logger.debug('Triggering playback state change event')

View File

@ -78,7 +78,8 @@ def setup_console_logging(config, verbosity_level):
if verbosity_level > max(LOG_LEVELS.keys()):
verbosity_level = max(LOG_LEVELS.keys())
verbosity_filter = VerbosityFilter(verbosity_level, config['loglevels'])
verbosity_filter = VerbosityFilter(
verbosity_level, config.get('loglevels', {}))
if verbosity_level < 1:
log_format = config['logging']['console_format']