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()
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
    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()
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
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..')
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
    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()