Пример #1
0
def getMessages(request, message_id=None):
    try:
        roomname = request.REQUEST['roomname']
    except:
        return HttpResponseForbidden("Unauthorized access!")
    
    try:
        start_id = request.REQUEST['start_id']
    except:
        start_id = None
    
    
    info = {}
    cm = ChatMessages()
    cr = ChatRoom()
    
    try:
        info['messages'] = cm.getMessages(roomname=roomname, start_id=start_id)
        info['users'] = cr.getUsers(roomname)
    except:
        return HttpResponseServerError("Server Error!")
    
    json_data = simplejson.dumps(info)
    response = HttpResponse(json_data)
    response['Cache-Control'] = 'no-store, no-cache, private, must-revalidate'
    return response
Пример #2
0
def sendMessage(request):
    sent_message = {}
    
    # Get request parameters
    try:
        sent_message['roomname'] = request.REQUEST['roomname']
        sent_message['postedby'] = request.REQUEST['postedby']
        sent_message['message'] = request.REQUEST['message']
        sent_message['dateposted'] = datetime.utcnow()
    except:
        return HttpResponseForbidden("Unauthorized access!")
    
    try:
        start_id = request.REQUEST['start_id']
    except:
        start_id = None
 
    cm = ChatMessages()       
    cr = ChatRoom()
    users = []
    messages = []
    
    try:
        cm.saveMessage(sent_message)
        cr.update(sent_message)
        users = cr.getUsers(sent_message['roomname'])
        messages = cm.getMessages(roomname=sent_message['roomname'],
                                  start_id=start_id)
    except:
        return HttpResponseServerError("Server Error!")
        
    
    # convert date to string isoformat for return
    sent_message['dateposted'] = sent_message['dateposted'].isoformat(' ')
    
    info = {}
    info['msg_sent'] = sent_message
    info['users'] = users
    info['messages'] = messages
    
    json_data = simplejson.dumps(info)
    response = HttpResponse(json_data)
    response['Cache-Control'] = 'no-store, no-cache, private, must-revalidate'
    
    return response