def list_users(short_name, optional): query = "SELECT user.id, user.email, user.name, user.username, user.isAnonymous, user.about FROM user " \ "WHERE user.email IN (SELECT DISTINCT user FROM post WHERE forum = %s)" if "since_id" in optional: query += " AND user.id >= " + str(optional["since_id"]) if "order" in optional: query += " ORDER BY user.name " + optional["order"] if "limit" in optional: query += " LIMIT " + str(optional["limit"]) connection = DBconnect.connect() cursor = connection.cursor(MySQLdb.cursors.DictCursor) cursor.execute(query, (short_name, )) users_tuple = [i for i in cursor.fetchall()] for user_sql in users_tuple: cursor.execute("""SELECT `thread` FROM `subscription` WHERE `user` = %s;""", (user_sql['email'], )) sub = [i['thread'] for i in cursor.fetchall()] followers = common.list_followers(cursor, user_sql['email']) following = common.list_following(cursor, user_sql['email']) user_sql.update({'following': following, 'followers': followers, 'subscriptions': sub}) cursor.close() connection.close() return users_tuple
def select_query(query, params): try: con = DBconnect.connect() cursor = con.cursor() cursor.execute(query, params) result = cursor.fetchall() cursor.close() con.close() except db.Error as e: raise Exception(e.message) return result
def update_query(query, params): try: con = DBconnect.connect() cursor = con.cursor() cursor.execute(query, params) con.commit() inserted_id = cursor.lastrowid cursor.close() con.close() except db.Error as e: raise Exception(e.message) return inserted_id