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 list_users(short_name, optional): # DBconnect.exist(entity="forum", identifier="short_name", value=short_name) query = "SELECT user.id, user.email, user.name, user.username, user.isAnonymous, user.about FROM user USE KEY (name_email) " \ "WHERE user.email IN (SELECT DISTINCT user FROM post USE KEY (forum_user) 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"] # else: # query += " ORDER BY user.name DESC" if "limit" in optional: query += " LIMIT " + str(optional["limit"]) connection = DBconnect.DBConnection.connect() cursor = connection.cursor(MySQLdb.cursors.DictCursor) cursor.execute(query, (short_name, )) users_tuple = [i for i in cursor.fetchall()] # list_u = [] # for user_sql in users_tuple: # email = user_sql[''] # list_u.append({ # 'id': user_sql[0], # 'email': email, # 'name': user_sql[2], # 'username': user_sql[3], # 'isAnonymous': user_sql[4], # 'about': user_sql[5], # 'subscriptions': users.user_subscriptions(email), # 'followers': common.list_followers(cursor, email), # 'following': common.list_following(cursor, email) # }) 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