Add support for returning lists of two-tuples since we dont have ordered dicts
This commit is contained in:
parent
c4aef48915
commit
c22fd44760
@ -68,20 +68,21 @@ class SpotifyBackend(BaseBackend):
|
|||||||
pos_range = range(len(playlist))
|
pos_range = range(len(playlist))
|
||||||
tracks = []
|
tracks = []
|
||||||
for track, pos in zip(playlist, pos_range):
|
for track, pos in zip(playlist, pos_range):
|
||||||
tracks.extend(self._format_track(track, pos))
|
tracks.append(self._format_track(track, pos))
|
||||||
return tracks
|
return tracks
|
||||||
|
|
||||||
def _format_track(self, track, pos=0):
|
def _format_track(self, track, pos=0):
|
||||||
result = []
|
result = [
|
||||||
result.append(u'file: %s' % track.get_uri())
|
('file', track.get_uri()),
|
||||||
result.append(u'Time: %d' % (track.length // 1000))
|
('Time', (track.length // 1000)),
|
||||||
result.append(u'Artist: %s' % self._format_artists(track.artists))
|
('Artist', self._format_artists(track.artists)),
|
||||||
result.append(u'Title: %s' % decode(track.title))
|
('Title', decode(track.title)),
|
||||||
result.append(u'Album: %s' % decode(track.album))
|
('Album', decode(track.album)),
|
||||||
result.append(u'Track: %d/0' % track.tracknumber)
|
('Track', '%d/0' % track.tracknumber),
|
||||||
result.append(u'Date: %s' % track.year)
|
('Date', track.year),
|
||||||
result.append(u'Pos: %d' % pos)
|
('Pos', pos),
|
||||||
result.append(u'Id: %d' % pos)
|
('Id', pos),
|
||||||
|
]
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def _format_artists(self, artists):
|
def _format_artists(self, artists):
|
||||||
|
|||||||
@ -332,17 +332,17 @@ class MpdHandler(object):
|
|||||||
|
|
||||||
@register(r'^status$')
|
@register(r'^status$')
|
||||||
def _status(self):
|
def _status(self):
|
||||||
return {
|
return [
|
||||||
'volume': self.backend.status_volume(),
|
('volume', self.backend.status_volume()),
|
||||||
'repeat': self.backend.status_repeat(),
|
('repeat', self.backend.status_repeat()),
|
||||||
'random': self.backend.status_random(),
|
('random', self.backend.status_random()),
|
||||||
'single': self.backend.status_single(),
|
('single', self.backend.status_single()),
|
||||||
'consume': self.backend.status_consume(),
|
('consume', self.backend.status_consume()),
|
||||||
'playlist': self.backend.status_playlist(),
|
('playlist', self.backend.status_playlist()),
|
||||||
'playlistlength': self.backend.status_playlist_length(),
|
('playlistlength', self.backend.status_playlist_length()),
|
||||||
'xfade': self.backend.status_xfade(),
|
('xfade', self.backend.status_xfade()),
|
||||||
'state': self.backend.status_state(),
|
('state', self.backend.status_state()),
|
||||||
}
|
]
|
||||||
|
|
||||||
@register(r'^swap (?P<songpos1>\d+) (?P<songpos2>\d+)$')
|
@register(r'^swap (?P<songpos1>\d+) (?P<songpos2>\d+)$')
|
||||||
def _swap(self, songpos1, songpos2):
|
def _swap(self, songpos1, songpos2):
|
||||||
|
|||||||
@ -46,8 +46,11 @@ class MpdSession(asynchat.async_chat):
|
|||||||
for line in response:
|
for line in response:
|
||||||
self.handle_response(line)
|
self.handle_response(line)
|
||||||
elif isinstance(response, dict):
|
elif isinstance(response, dict):
|
||||||
for key, value in response.items():
|
for item in response.items():
|
||||||
self.send_response(u'%s: %s' % (key, value))
|
self.handle_response(item)
|
||||||
|
elif isinstance(response, tuple):
|
||||||
|
(key, value) = response
|
||||||
|
self.send_response(u'%s: %s' % (key, value))
|
||||||
elif response is not None:
|
elif response is not None:
|
||||||
self.send_response(response)
|
self.send_response(response)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user