Beispiel #1
0
    def post(self):
        req = self.request

        msg = ChatMessage()
        msg.text = req("text")
        msg.unitfrom = Unit.get_by_id(req("fromid"))
        msg.unitto = Unit.get_by_id(req("toid"))
        msg.put()
 def test_message_1(self):
     with self.app.test_request_context():
         dt = datetime.now()
         message = ChatMessage(text='hello', date_created=dt)
         expect = {
             'user': '******',
             'text': 'hello',
             'created_at': dt.isoformat(),
         }
         self.assertEqual(
             serializers.MessageSerializer(message).calc(), expect)
def addMsg(msgData):
    """
    addMsg(msgData)
            Add new message and the user how sent to database.
    """
    from_user = get_User(msgData['email'])
    session = DBSession()
    msg = ChatMessage(message=msgData['message'], user=from_user)
    session.add(msg)
    session.commit()
    session.close_all()
Beispiel #4
0
def chatroom_all():
    messages = ndb.gql('SELECT * FROM ChatMessage ORDER BY timestamp')
    if request.method == 'POST':
        user, message, timestamp = request.form.get('name'), request.form.get(
            'message'), datetime.datetime.now()
        chat_msg = ChatMessage(user=user, timestamp=timestamp, message=message)
        chat_msg.put()
        messages = ndb.gql('SELECT * FROM ChatMessage ORDER BY timestamp')
    return render_template('chatroom.html',
                           messages=messages,
                           vm_time=vm_start_time,
                           mode='chatroom_all')
 def test_message_2(self):
     with self.app.test_request_context():
         dt = datetime.now()
         config.SITE_URL = 'http://localhost'
         user = User(username='******', password='******')
         message = ChatMessage(text='http://localhost/someurl',
                               date_created=dt,
                               user=user)
         expect = {
             'user': '******',
             'text': '/someurl',
             'link': 'http://localhost/someurl',
             'created_at': dt.isoformat(),
         }
         self.assertEqual(
             serializers.MessageSerializer(message).calc(), expect)
Beispiel #6
0
def chatroom_time():
    messages = ChatMessage.gql('WHERE timestamp > :fiveago ORDER BY timestamp',
                               fiveago=datetime.datetime.now() -
                               datetime.timedelta(minutes=2))
    if request.method == 'POST':
        user, message, timestamp = request.form.get('name'), request.form.get(
            'message'), datetime.datetime.now()
        chat_msg = ChatMessage(user=user, timestamp=timestamp, message=message)
        chat_msg.put()
        messages = ChatMessage.gql(
            'WHERE timestamp > :fiveago ORDER BY timestamp',
            fiveago=datetime.datetime.now() - datetime.timedelta(minutes=2))
    return render_template('chatroom.html',
                           messages=messages,
                           vm_time=vm_start_time,
                           mode='chatroom_time')
Beispiel #7
0
def add_messages(url):
    "add messages to db if they aren't added"
    session = Session()
    messages = get_current_messages(url)
    for message_elem in messages:
        message = ChatMessage()
        message.author = message_elem.find_element_by_id('author-name').text
        message.text = message_elem.find_element_by_id('message').text
        message.message_id = message_elem.get_attribute('id')
        message_exists = session.query(exists().where(ChatMessage.message_id == message.message_id)).scalar()
        if not message_exists:
            try:
                session.add(message)
                session.commit()
                print("{}: {}".format(message.author, message.text))
            except:
                pass
    session.close()
Beispiel #8
0
def download_chat_messages(vod_id, timestamp, duration):
    api = TwitchAPI()
    vod = VOD.objects.get(id=vod_id)
    timestamp_offset = 0

    while timestamp_offset < duration:
        timestamp_offset += 30
        try:
            data = api.get_chat_messages(vod_id, timestamp + timestamp_offset)
            if data["data"]:
                for message in data["data"]:
                    db_message = ChatMessage(id=message["id"],
                                             message=message["attributes"]["message"],
                                             timestamp=message["attributes"]["timestamp"],
                                             vod=vod)
                    db_message.save()

        except:
            continue

    vod.all_messages_loaded = True
    vod.save()