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()
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)
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')
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()
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()