Пример #1
0
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)
Пример #2
0
 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
Пример #3
0
    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
Пример #4
0
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()
Пример #5
0
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>&nbsp;&nbsp;&nbsp;&nbsp;'''+json.dumps(stats,indent=4)+'''</div>
        </body>
    </html>'''
    socket.send(OK_200)
    response_write(socket, html)
    socket.close()
    
Пример #6
0
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)
Пример #7
0
 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
Пример #8
0
 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