コード例 #1
0
def test_db_connection_successful():
    c, conn = connection()
    assert c and conn
    c.close()
    conn.close()
コード例 #2
0
def querydb(data, operation, check=None, user2flower_id=None):
    try:
        c, conn = connection()
        if c == {'msg': 'Circuit breaker is open, reconnection in porgress'}:
            return c, 500

        if operation == 'POST':
            executeQuery(c, conn, data)
            return {"msg": "New user2flower added to DB."}, 201

        if operation == 'GET':

            c.execute(data)

            if check == 'list':
                data = c.fetchall()
                payload = []

                if data is not None and c.rowcount != 0:
                    for userflower in data:
                        date = userflower[3]
                        date = date.strftime('%Y-%m-%d')
                        content = {"user2flower_id": str(userflower[0]), "user_id": str(userflower[1]),
                                   "flower_id": str(userflower[2]), "date_of_inception": date,
                                   "email": userflower[4]}
                        payload.append(content)
                    c.close()
                    conn.close()
                    return jsonify(payload)
                else:
                    c.close()
                    conn.close()
                    return {'msg': 'No data to return.'}

            if check == 'tuple':
                data = c.fetchone()
                if data is not None and c.rowcount != 0:
                    date = data[3]
                    date = date.strftime('%Y-%m-%d')
                    content = {"user2flower_id": str(data[0]), "user_id": str(data[1]),
                               "flower_id": str(data[2]), "date_of_inception": date,
                               "email": data[4]}
                    c.close()
                    conn.close()
                    return content
                else:
                    c.close()
                    conn.close()
                    return "No data to return."

        if operation == 'PUT':
            executeQuery(c, conn, data)
            return {"msg": "User2flower with user2flower_id " + str(user2flower_id) + " is updated."}

        if operation == 'DELETE':
            executeQuery(c, conn, data)
            return {"msg": "User2flower with user2flower_id " + str(user2flower_id) + " is deleted from DB."}

    except Exception as e:
        c.close()
        conn.close()
        print(e)
        return {'msg': 'Something went wrong while executing ' + operation + ' operation on users2flowers.'}, 500
コード例 #3
0
ファイル: dbquery.py プロジェクト: markocrnic/user-API
def querydb(data, operation, check=None, user_id=None):
    try:
        # Open connection to DB and check if the CB is open
        c, conn = connection()
        if c == {'msg': 'Circuit breaker is open, reconnection in porgress'}:
            return c, 500

        # Based on operation, execute query to DB
        if operation == 'POST':
            executeQuery(c, conn, data)
            return {"msg": "New user added to DB."}, 201

        if operation == 'GET':

            c.execute(data)

            # Check if the expected payload is a list or tuple
            if check == 'list':
                data = c.fetchall()
                payload = []

                if data is not None and c.rowcount != 0:
                    for user in data:
                        content = {
                            "user_id": str(user[0]),
                            "first_name": user[1],
                            "last_name": user[2],
                            "username": user[3],
                            "email": user[4],
                            "admin": str(user[5])
                        }
                        payload.append(content)
                    c.close()
                    conn.close()
                    return jsonify(payload)
                else:
                    c.close()
                    conn.close()
                    return {'msg': 'No data to return.'}, 204

            if check == 'tuple':
                data = c.fetchone()
                if data is not None and c.rowcount != 0:
                    content = {
                        "user_id": str(data[0]),
                        "first_name": data[1],
                        "last_name": data[2],
                        "username": data[3],
                        "email": data[4],
                        "admin": str(data[5]),
                        "password": str(data[6])
                    }
                    c.close()
                    conn.close()
                    return content
                else:
                    c.close()
                    conn.close()
                    return "No data to return."

        if operation == 'PUT':
            executeQuery(c, conn, data)
            return {
                "msg": "User with user_id " + str(user_id) + " is updated."
            }, 200

        if operation == 'DELETE':
            executeQuery(c, conn, data)
            return {
                "msg":
                "User with user_id " + str(user_id) + " is deleted from DB."
            }

    except Exception as e:
        c.close()
        conn.close()
        print(e)
        return {
            'msg':
            'Something went wrong while executing ' + operation +
            ' operation on users.'
        }, 500
コード例 #4
0
def querydb(data, operation, check=None, flower_id=None):
    try:
        c, conn = connection()
        if c == {'msg': 'Circuit breaker is open, reconnection in porgress'}:
            return c, 500

        if operation == 'POST':
            executeQuery(c, conn, data)
            return {"msg": "New flower added to DB."}, 201

        if operation == 'GET':

            c.execute(data)

            if check == 'list':
                data = c.fetchall()
                payload = []

                if data is not None and c.rowcount != 0:
                    for flower in data:
                        content = {
                            "flower_id": str(flower[0]),
                            "name_ser": flower[1],
                            "name_lat": flower[2],
                            "description": flower[3],
                            "watering_period": str(flower[4])
                        }
                        payload.append(content)
                    c.close()
                    conn.close()
                    return jsonify(payload)
                else:
                    c.close()
                    conn.close()
                    return {'msg': 'No data to return.'}, 204

            if check == 'tuple':
                data = c.fetchone()
                if data is not None and c.rowcount != 0:
                    content = {
                        "flower_id": str(data[0]),
                        "name_ser": data[1],
                        "name_lat": data[2],
                        "description": data[3],
                        "watering_period": str(data[4])
                    }
                    c.close()
                    conn.close()
                    return content
                else:
                    c.close()
                    conn.close()
                    return "No data to return."

        if operation == 'PUT':
            executeQuery(c, conn, data)
            return {
                "msg":
                "Flower with flower_id " + str(flower_id) + " is updated."
            }

        if operation == 'DELETE':
            executeQuery(c, conn, data)
            return {
                "msg":
                "Flower with flower_id " + str(flower_id) +
                " is deleted from DB."
            }

    except Exception as e:
        c.close()
        conn.close()
        print(e)
        return {
            'msg':
            'Something went wrong while executing ' + operation +
            ' operation on flowers.'
        }, 500