Exemple #1
0
def add_reply(topicid,u):
    try:
        content = request.get_json()['content']
    except:
        make_response("no reply content", 400)
    try:
        topic = TopicModel.objects(id=topicid)[0]
    except:
        return make_response("no such topic", 400)

    #解析content
    pattern = re.compile(r'@\w+')
    usernames = [] + re.findall(pattern, content)
    print usernames
    receivers = set([topic.author])
    for name in usernames:
        try:
            receivers.add(UserModel.objects(username=name[1:])[0])
        except:
            pass  #@了一个没有的人
    reply = Reply()
    reply.sender = u
    reply.topic = topic
    reply.receivers = list(receivers)
    reply.content = content
    reply.save()
    topic.updateLastEditedTime()
    topic.save()
    for receiver in receivers:
        receiver.unreadReplies_count += 1
        receiver.save()

    return make_response("update complete", 200)