Exemplo n.º 1
0
def findLessons(user, message):
    res = ''
    with closing(database.DataBase()) as db:
        temp = db.getLessons(user.group, message.text)
        for item in temp:
            res = prepareStr.lessonResult.format(item['Time'], item['Course'],
                                                 item['FIO_Lecturer'],
                                                 item['room'], item['Type'])
            response(user, message, res)
    user.state = 'Main'
    with closing(database.DataBase()) as db:
        db.updateDataUser(user)
    response(user, message, 'Выберите действие')
Exemplo n.º 2
0
def initUsers():
    with closing(database.DataBase()) as db:
        temp = db.getUsers()
        for item in temp:
            user = u.User(item['chat_id'])
            user.setParam(item['Group_Name'], item['type'], item['state'])
            users[user.id] = user
Exemplo n.º 3
0
def solveCommand(user, message):
    if message.text == 'Назад':
        user.state = 'Main'
    else:
        user.state = getKeyByValue(message.text, config.states)
    res = config.botMessage[user.state]

    with closing(database.DataBase()) as db:
        db.updateDataUser(user)

    response(user, message, res)
Exemplo n.º 4
0
def enter(message):
    user = users.get(message.chat.id)
    if user == None:
        user = u.User(message.chat.id)
        users[message.chat.id] = user
        with closing(database.DataBase()) as db:
            db.saveNewUser(user.id)
    if (message.text == 'Назад'):
        user.state = 'Main'
        with closing(database.DataBase()) as db:
            db.updateDataUser(user)
        response(user, message, 'Выбирите действие')
    elif (checkInputState(user.state) == True):
        inputHandler(user, message)
    elif checkAvailableCommand(user.state, user.type, message.text) == True:
        if (user.state == 'LessonsChoice'):
            findLessons(user, message)
        else:
            solveCommand(user, message)
    else:
        response(user, message, 'Неизвестная команда')
Exemplo n.º 5
0
def inputHandler(user, message):
    res = ''
    with closing(database.DataBase()) as db:
        if (user.state == 'GroupChoice'):
            tmp = db.getGroups(message.text)
            for item in tmp:
                if (message.text == item['GroupName']):
                    res = 'Выбрана группа {0}'.format(message.text)
                    user.group = message.text
                    user.type = 'StudentGroup'
                    user.state = 'Main'
                    db.updateDataUser(user)
                    response(user, message, res)
                    break
            if (res == ''):
                res = 'Неизвестная группа'
                response(user, message, res)
        elif (user.state == 'LecturerChoice'):
            tmp = db.getLecturer(message.text)
            for item in tmp:
                res = prepareStr.lecturerResult.format(item['day'],
                                                       item['Time'],
                                                       item['room'])
                response(user, message, res)
            if (res == ''):
                res = 'Неизвестный преподаватель'
                response(user, message, res)
        else:
            tmp = db.getRoom(message.text)
            for item in tmp:
                res = prepareStr.roomResult.format(item['day'], item['Time'],
                                                   item['GroupName'])
                response(user, message, res)
            if (res == ''):
                res = 'Неизвестная аудитория'
                response(user, message, res)