Queue metadata endpoint
This commit is contained in:
@ -27,6 +27,7 @@ class IrisFrontend(pykka.ThreadingActor, CoreListener):
|
||||
self.version = mopidy_iris.__version__
|
||||
self.is_root = ( os.geteuid() == 0 )
|
||||
self.spotify_token = False
|
||||
self.queue_metadata = {}
|
||||
self.radio = {
|
||||
"enabled": 0,
|
||||
"seed_artists": [],
|
||||
@ -190,6 +191,26 @@ class IrisFrontend(pykka.ThreadingActor, CoreListener):
|
||||
return self.spotify_token
|
||||
|
||||
|
||||
# get queue metadata
|
||||
def get_queue_metadata( self ):
|
||||
return self.queue_metadata
|
||||
|
||||
|
||||
# add queue metadata
|
||||
def add_queue_metadata( self, tlids, from_uri, added_by ):
|
||||
queue_metadata = self.queue_metadata
|
||||
|
||||
for tlid in tlids:
|
||||
item = {
|
||||
'tlid': tlid,
|
||||
'from_uri': from_uri,
|
||||
'added_by': added_by
|
||||
}
|
||||
queue_metadata['tlid_'+str(tlid)] = item
|
||||
|
||||
return queue_metadata
|
||||
|
||||
|
||||
# get our config values
|
||||
def get_config( self ):
|
||||
all_config = self.config
|
||||
|
||||
@ -210,6 +210,35 @@ class PusherWebsocketHandler(tornado.websocket.WebSocketHandler):
|
||||
messageJson['request_id'],
|
||||
{ 'connections': connectionsDetailsList }
|
||||
)
|
||||
|
||||
# add some queue metadata
|
||||
elif messageJson['action'] == 'add_queue_metadata':
|
||||
queue_metadata = self.frontend.add_queue_metadata(
|
||||
messageJson['tlids'],
|
||||
messageJson['from_uri'],
|
||||
connections[self.connectionid]['client']['username']
|
||||
)
|
||||
|
||||
send_message(
|
||||
self.connectionid,
|
||||
'response',
|
||||
messageJson['request_id'],
|
||||
{ 'queue_metadata': queue_metadata }
|
||||
)
|
||||
|
||||
# get our queue metadata (added_by, from, etc)
|
||||
elif messageJson['action'] == 'get_queue_metadata':
|
||||
|
||||
connectionsDetailsList = []
|
||||
for connection in connections.itervalues():
|
||||
connectionsDetailsList.append(connection['client'])
|
||||
|
||||
send_message(
|
||||
self.connectionid,
|
||||
'response',
|
||||
messageJson['request_id'],
|
||||
{ 'queue_metadata': self.frontend.get_queue_metadata() }
|
||||
)
|
||||
|
||||
# change connection's client username
|
||||
elif messageJson['action'] == 'set_username':
|
||||
|
||||
Reference in New Issue
Block a user