Esempio n. 1
0
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
Esempio n. 2
0
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