http: Don't build almost the same dict twice
This commit is contained in:
parent
90ca6a786a
commit
0fc0b4b1ef
@ -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,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user