Exemple #1
0
def create_project(bot, update, args):
    if util.too_few_args(bot, util.get_chat_id(update), args, 2) is None:
        return
    if re.fullmatch("\w+", args[0]) is None:
        bot.send_message(chat_id=util.get_chat_id(update),
                         text=answers.incorrect_name + "(группы)")
        return
    if re.fullmatch("\w+", args[1]) is None:
        bot.send_message(chat_id=util.get_chat_id(update),
                         text=answers.incorrect_name + "(проекта)")
        return
    try:
        BD.create_project(util.cursor, util.get_user_id(update), args[1],
                          args[0])
    except util.ProjectAlreadyExistsException:
        bot.send_message(chat_id=util.get_chat_id(update),
                         ext=answers.already_exists_name % "проект")
    except util.UserIsNotAdmin:
        bot.send_message(chat_id=util.get_chat_id(update),
                         text=answers.create_no_admin % "проект")
Exemple #2
0
def main():
    conn_string = "host='localhost' dbname='botannet' user='******' password='******'"
    print("Connecting to database\n ->%s" % (conn_string))
    conn = psycopg2.connect(conn_string)
    cursor = conn.cursor()
    print("Connected!")

    # Create users
    users = list(range(10)) + [239017, 12345, 100]
    for user in users:
        BD.create_user(cursor, user)


    cursor.execute("TABLE users;")
    print(cursor.fetchall())

    # for user in users:
    #     BD.delete_user(cursor, user)


    # cursor.execute("TABLE users;")
    # print(cursor.fetchall())

    #Create groups
    groups = [
        ("Algebra", "Jdan."), 
        ("BD-lectures", "Roslovcev, philosophy class."), 
        ("BD-practice", "The best.")
    ]

    for i in range(len(groups)):
        BD.create_group(cursor, users[i], groups[i][0], groups[i][1])

    # for i in range(len(groups)):
    #     BD.delete_group(cursor, users[i], groups[i][0])

    #Create user_groups
    for user in users:
        for j in range(len(groups)):
            group = groups[j]
            admin = users[j]
            if admin == user:
                continue

            BD.join_user(cursor, user, group[0], admin)

    # cursor.execute("TABLE groups;")
    # print(cursor.fetchall())

    # cursor.execute("TABLE user_groups;")
    # print([rec for rec in cursor.fetchall() if rec[2]])

    # for j in range(len(groups)):
    #     group = groups[j]
    #     admin = users[j]
    #     print("DELETE ", admin, group[0])
    #     cursor.execute("TABLE groups;")
    #     print(cursor.fetchall())
    #     BD.unjoin_user(cursor, admin, group[0], admin)
            

    #Create projects
    projects = []
    for i in range(len(groups)):
        admin_id = users[i]
        group_name = groups[i][0]
        for j in range(3):
            project_name = "Project #" + str(j) + " of group " + group_name
            project_info = "useless info"
            projects.append((admin_id, project_name, group_name, project_info))

    for project in projects:
        BD.create_project(cursor, *project)

    # for project in projects:
    #     BD.delete_project(cursor, project[0], project[1])

    # cursor.execute("TABLE projects;")
    # print(cursor.fetchall())


    # Create tasks
    tasks = []
    for project in projects:
        for i in range(random.randint(0, 4)):
            task_info = "Task #" + str(i) + " of " + project[1]
            tasks.append((project[0], task_info, project[1]))
            BD.create_task(cursor, *tasks[~0])

    # cursor.execute("TABLE tasks;")
    # print(cursor.fetchall())

    # for task in tasks:
    #     BD.delete_task(cursor, task[0], task[1])

    # cursor.execute("TABLE tasks;")
    # print(cursor.fetchall())

    #Create user_tasks
    for task in tasks:
        for user in users:
            BD.set_task(cursor, user, task[1], bool(random.randint(0, 1)), bool(random.randint(0, 1)))