def insert_messages(messages): from database import DBSession, Message, User for message in messages: new_msg = Message(id=message.msgid, link='https://t.me/c/{}/{}'.format( LINK_ID, message.msgid), text=message.message, video='', photo='', audio='', voice='', type='text', category='', from_id=message.senderid, date=message.date) session = DBSession() session.add(new_msg) if not message.userexist: new_user = User(id=message.senderid, fullname=message.sender, username='', update_time=datetime.now()) session.add(new_user) session.commit() session.close()
def echo_controller(request): data = request.get('data') session = Session() message = Message(data=data) session.add(message) session.commit() session.close() return make_response(request, 200, data)
def get_message(self, message_id): """Gets a message from the database. Args: message_id: The message's uid in the database. Returns: A message record. """ return Message.select().where(Message.id == message_id).first()
def get_message_count_over_period(self, period): """Gets the number of messages posted by date. Args: period: The period over which to count messages, can be "day" or "week". Returns: A list of objects containing a date and a count (number of messages posted that day) for every date where a message was posted on the channel. """ if period == "week": query = Message.select(db.truncate_date("day", Message.date).alias("date"), fn.Count(Message.id)) \ .group_by(db.truncate_date("day", Message.date)) elif period == "day": query = Message.select(Message.date.hour.alias("date"), fn.Count(Message.id)) \ .group_by(Message.date.hour) else: raise ValueError("Unknown period.") return list(query)
def create_test_room(): players = [ Player('alan', '12354', 'mafia', 'alive', False), Player('noob1', '42314', 'civilian', 'alive', False), Player('noob2', '22222', 'civilian', 'alive', False), Player('noob3', '33333', 'civilian', 'alive', False), Player('noob4', '44444', 'civilian', 'alive', False) ] targets = Targets('', '', '') gameMessages = [Message('Pre-Game', 'Waiting for players...')] observerMessages = [ Message('Pre-Game', 'Waiting for players...'), Message('Observer Message', 'Testing...') ] room = Room('0001', 2, 0, players, targets, 'pre-game', 'pre-game', True, '55555', [], gameMessages, observerMessages) database.append(room) LOG.info('Test room created..')
def create_token(login, login_type): if login_type == "jid": login = resolve_alias(login) tmp = tempfile.mktemp(suffix="", prefix="", dir="") token = Token(token=tmp, login=login, login_type=login_type, active=1) token.put(force_insert=True) base_url = get_setting("web_api_root", "http://localhost:8080").rstrip("/") url = "%s/api/auth?token=%s" % (base_url, tmp) message = "A third-party application is requesting access to your account. If that was you, follow this link:\n%s\n" % url if login_type == "jid": msg = Message(re=login, message=message) msg.put() else: run(["mail", "-s", "Your token", login], stdin_data=message) commit() return url
def __init__(self, parent): super(MessagesTable, self).__init__(parent) for message in Message.select().order_by(('date', 'desc')).limit(10): self.data.append((message.display_date, display_phone_number(message.identity), message.text)) self.hheaders = [u"Date", u"Expéditeur", u"Message"] self.display_vheaders = False self.stretch_columns = [2,] self.max_rows = 8 self.align_map = {0: 'l', 1: 'l', 2:'l'} self.refresh()