def do_stream_request(socket, stream_id, stream_request_type, user=None): if (stream_request_type == "events"): stream_events_handler.add_listener(stream_id, socket) #send latest reset here if (stream_request_type == "events_renew"): init_data = get_init_data(stream_id, user) reset_event = { "event_id": Event.RESET_POLLS_AND_SONG, "payload": json_util.dumps(init_data.to_son()), "from_user": user } response_write(socket, OK_200) stream_events_handler.send_event( stream_id, socket, json_util.dumps(reset_event).replace("\r\n", "\n\n")) stream_events_handler.add_listener(stream_id, socket, False) elif (stream_request_type == "audio"): # periodically send data , most important audio_streams.handle_audio_stream(stream_id, socket) elif (stream_request_type == "init_data"): send_init_data(socket, stream_id, user)
def add_listener(self, stream_id , socket , send_init_headers=True): if(self.event_listeners.get(stream_id, None)==None): self.init_stream_listeners(stream_id) if(send_init_headers): response_write(socket, OK_200) self.event_listeners[stream_id][socket] = True
def add_listener(self, stream_id, socket, send_init_headers=True): if (self.event_listeners.get(stream_id, None) == None): self.init_stream_listeners(stream_id) if (send_init_headers): response_write(socket, OK_200) self.event_listeners[stream_id][socket] = True
def send_init_data(socket , stream_id, user=None): init_data = get_init_data(stream_id, user) init_data.last_few_events = EventListeners.last_few_events.get(stream_id, []) init_data = json_util.dumps(init_data.to_son()) socket.send(OK_200) response_write(socket, init_data) socket.close()
def print_stats(socket, user = None): live_sockets = stream_events_handler.event_listeners stats = {"live users : ":map(lambda x : {x: len(live_sockets[x])} , live_sockets.keys())} html = '''<html> <body> <div><b>Live Users : </b> '''+json.dumps(stats,indent=4)+'''</div> </body> </html>''' socket.send(OK_200) response_write(socket, html) socket.close()
def do_stream_request(socket, stream_id, stream_request_type, user = None): if(stream_request_type=="events"): stream_events_handler.add_listener(stream_id, socket) #send latest reset here if(stream_request_type=="events_renew"): init_data = get_init_data(stream_id, user) reset_event = {"event_id": Event.RESET_POLLS_AND_SONG, "payload":json_util.dumps(init_data.to_son()), "from_user": user} response_write(socket, OK_200) stream_events_handler.send_event(stream_id, socket, json_util.dumps(reset_event).replace("\r\n", "\n\n")) stream_events_handler.add_listener(stream_id, socket , False) elif(stream_request_type=="audio"): # periodically send data , most important audio_streams.handle_audio_stream(stream_id, socket) elif(stream_request_type=="init_data"): send_init_data(socket , stream_id, user)
def send_event(self, stream_id , socket, data_to_send): try: response_write(socket , data_to_send) response_write(socket,"\r\n\r\n") except: del self.event_listeners[stream_id][socket] # remove the socket
def send_event(self, stream_id, socket, data_to_send): try: response_write(socket, data_to_send) response_write(socket, "\r\n\r\n") except: del self.event_listeners[stream_id][socket] # remove the socket