adscore / app.py
Andreean's picture
Upload 4 files
11dd5ef verified
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()