diff --git a/mopidy/frontends/http/api.py b/mopidy/frontends/http/api.py index 66caeb1a..1c0aa85b 100644 --- a/mopidy/frontends/http/api.py +++ b/mopidy/frontends/http/api.py @@ -40,31 +40,21 @@ class PlayerResource(object): @cherrypy.tools.json_out() def GET(self): - futures = { + properties = { 'state': self.core.playback.state, - 'current_track': self.core.playback.current_track, + 'currentTrack': self.core.playback.current_track, 'consume': self.core.playback.consume, 'random': self.core.playback.random, 'repeat': self.core.playback.repeat, 'single': self.core.playback.single, 'volume': self.core.playback.volume, - 'time_position': self.core.playback.time_position, - } - current_track = futures['current_track'].get() - if current_track: - current_track = current_track.serialize() - return { - 'properties': { - 'state': futures['state'].get(), - 'currentTrack': current_track, - 'consume': futures['consume'].get(), - 'random': futures['random'].get(), - 'repeat': futures['repeat'].get(), - 'single': futures['single'].get(), - 'volume': futures['volume'].get(), - 'timePosition': futures['time_position'].get(), - } + 'timePosition': self.core.playback.time_position, } + for key, value in properties.items(): + properties[key] = value.get() + if properties['currentTrack']: + properties['currentTrack'] = properties['currentTrack'].serialize() + return {'properties': properties} class TrackListResource(object): @@ -75,17 +65,14 @@ class TrackListResource(object): @cherrypy.tools.json_out() def GET(self): - futures = { - 'cp_tracks': self.core.current_playlist.cp_tracks, - 'current_cp_track': self.core.playback.current_cp_track, - } - cp_tracks = futures['cp_tracks'].get() + cp_tracks_future = self.core.current_playlist.cp_tracks + current_cp_track_future = self.core.playback.current_cp_track tracks = [] - for cp_track in cp_tracks: + for cp_track in cp_tracks_future.get(): track = cp_track.track.serialize() track['cpid'] = cp_track.cpid tracks.append(track) - current_cp_track = futures['current_cp_track'].get() + current_cp_track = current_cp_track_future.get() return { 'currentTrackCpid': current_cp_track and current_cp_track.cpid, 'tracks': tracks,