File size: 2,797 Bytes
11dd5ef |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
from flask import Flask, jsonify, request
import json
app = Flask(__name__)
# Load users data from JSON file
with open('users.json', 'r') as f:
users = json.load(f)
# Load provider data from JSON file
with open('adscore.json', 'r') as f:
data = json.load(f)
# Root route
@app.route('/')
def index():
return "Welcome to Adscore Provider API!"
# Login route
@app.route('/login', methods=['POST'])
def login():
data = request.form # Mengambil data dari form POST
username = data.get('username')
password = data.get('password')
if not username or not password:
return jsonify({"error": "Username and password required"}), 400 # Jika username atau password kosong
# Cek apakah username dan password sesuai dengan yang ada di JSON file
for user in users:
if user['username'] == username and user['password'] == password:
return jsonify({"message": "Login successful"}), 200
return jsonify({"error": "Invalid username or password"}), 401
# Define a route to fetch provider data by code
@app.route('/get_provider', methods=['GET'])
def get_provider():
provider_code = request.args.get('provider_code')
if not provider_code:
return jsonify({"error": "No provider code provided"}), 400 # Handle case where no code is provided
for provider in data:
if provider.get("new_code_provider") == provider_code.strip(): # Use strip() to remove any extra spaces
return jsonify(provider), 200 # Return provider data if found
return jsonify({"error": "Provider not found"}), 404 # Return error if provider not found
# Define a route to fetch the score type
@app.route('/get_score', methods=['GET'])
def get_score():
provider_code = request.args.get('provider_code')
if not provider_code:
return jsonify({"error": "No provider code provided"}), 400 # Handle case where no code is provided
for provider in data:
if provider.get("new_code_provider") == provider_code.strip(): # Use strip() to remove any extra spaces
total_score = provider.get("total_score", 0) # Default to 0 if total_score is not present
# Determine the score type based on total_score
if total_score <= 9:
score_type = "Bad Score"
elif 10 <= total_score <= 14:
score_type = "Moderate Score"
else:
score_type = "Good Score"
return jsonify({"total_score": total_score, "score_type": score_type}), 200 # Return score info
return jsonify({"error": "Provider not found"}), 404 # Return error if provider not found
if __name__ == '__main__':
# app.run(debug=True)
app.run() |