Example #1
0
def connect_all_users_who_left_feedback(user_name, shop_id):
    """
    connect users who left feedback to a shop.
    :param user_id: name of user.
    :param shop_id: name of shop.
    """

    user_id = get_user_id_or_login_name(user_name)

    users = get_users_left_feedback_to_shop(shop_id)
    if users == -1:
        print("!!!")
        return
    for to_user_id in users:
        print(to_user_id)
        if was_user_connected_to_user(user_id, to_user_id):
            print("already")
            continue
        else:
            connect_user(user_id, to_user_id)
            connect_user_db(user_id, to_user_id)
            print("new")

    cur = cnn.cursor()
    cur.execute("UPDATE Sellers "
                "SET processed = CURRENT_DATE "
                "WHERE seller_name='" + shop_id + "'")
    cnn.commit()
    return
Example #2
0
def get_sellers():
    """
    :return:
    """
    cur = cnn.cursor()
    try:
        cur.execute("select seller_name from  sellers order by id;")
    except:
        cnn.rollback()
    res = [item[0] for item in cur.fetchall()]
    cnn.commit()
    return res
Example #3
0
def add_seller(seller_name):
    """
    add seller to seller's table
    :param seller: name of seller
    :return:
    """
    cur = cnn.cursor()
    try:
        sql = "INSERT INTO Sellers(seller_name) VALUES(%s);"
        cur.execute(sql, (seller_name, ))
        cnn.commit()
    except:
        cnn.rollback()
        raise
Example #4
0
def unconnect_user_db(user_id, to_user_id):
    """
    add pair of connected users into db.
    :param user_id:
    :param to_user_id:
    """
    sql = "SELECT set_user_unconnect(%s, %s)"
    cur = cnn.cursor()
    try:
        cur.execute(sql, (user_id, to_user_id))
        cnn.commit()
        et.info("pair of user ({0} - {1}) unconnected".format(
            user_id, to_user_id))
    except:
        cnn.rollback()
        et.error("error during unconnect_user_db\n" + traceback.format_exc())
Example #5
0
def connect_user_db(user_id, to_user_id):
    """
    add pair of connected users into db.
    :param user_id:
    :param to_user_id:
    """
    sql = "SELECT add_connected_user(%s, %s)"
    cur = cnn.cursor()
    try:
        cur.execute(sql, (user_id, to_user_id))
        cnn.commit()
        et.info("pair of user ({0} - {1}) add".format(user_id, to_user_id))
    except psycopg2.IntegrityError:
        cnn.rollback()
        et.info("pair of user ({0},{1}) already exists".format(
            user_id, to_user_id))
Example #6
0
def get_users_to_unconnect_db(user_id):
    """
    get to_users_id who didn't connect user_name.
    :param user_id: user, for whom users should be unconnected.
    """
    et.info("START get_users_to_unconnect_db")

    cur = cnn.cursor()
    users = {}

    sql = "SELECT get_users_to_unconnect(%s)"
    try:
        cur.execute(sql, (user_id, ))
        users = cur.fetchall()
        cnn.commit()
    except:
        cnn.rollback()

    et.info("FINISH get_users_to_unconnect_db")
    return users
Example #7
0
def was_user_connected_to_user(user_id, to_user_id):
    """
    check if to_user_id was ever connected to user_id.
    :param user_id:
    :param to_user_id:
    :return boolean.
    """
    et.info(msg="START was_user_connected_to_user();")
    sql = "SELECT was_user_connected_to_user(%s, %s)"
    cur = cnn.cursor()
    res = False

    try:
        cur.execute(sql, (user_id, to_user_id))
        res = cur.fetchone()[0]
        cnn.commit()
    except:
        cnn.rollback()
        et.error("error during was_user_connected_to_user\n" +
                 traceback.format_exc())
    et.info(msg="FINISH was_user_connected_to_user();")
    return res