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 % "проект")
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)))