diff --git a/app.py b/app.py index c9e829e..92a5f83 100644 --- a/app.py +++ b/app.py @@ -5,6 +5,7 @@ from src.util.utils import * from src.api.get_monsters import * from src.api.get_families import * from src.api.get_monster_stats import * +from src.api.get_breeding_pairs import * from src.views.serve_content import * from src.views.breed_info import * @@ -20,6 +21,7 @@ app.teardown_request(teardown_request) app.register_blueprint(get_families_bp) app.register_blueprint(get_monsters_bp) app.register_blueprint(get_monster_stats_bp) +app.register_blueprint(get_breeding_pairs_bp) # Register Serve Content Blueprints app.register_blueprint(serve_content) diff --git a/src/api/get_breeding_pairs.py b/src/api/get_breeding_pairs.py new file mode 100644 index 0000000..ddf2881 --- /dev/null +++ b/src/api/get_breeding_pairs.py @@ -0,0 +1,46 @@ +from flask import Flask, jsonify, request, Blueprint + +get_breeding_pairs_bp = Blueprint('breeding_pairs',__name__) + +import os + +# Get the current script directory +script_dir = os.path.dirname(os.path.abspath(__file__)) + +# Construct the path to the CSV file in the data directory +csv_file_path = os.path.join(script_dir, '..', 'data', 'updated_breeding_pairs.csv') + +# Read the CSV file and store breeding information +breeding_info = [] +with open(csv_file_path, 'r') as file: + lines = file.readlines() + header = lines[0].strip().split(',') + for line in lines[1:]: + data = line.strip().split(',') + breeding_info.append(dict(zip(header, data))) + +def get_breeding_pairs(monster): + pairs = [] + for entry in breeding_info: + if entry['base'].lower() == monster.lower() or entry['mate'].lower() == monster.lower(): + pairs.append({'base': entry['base'], 'mate': entry['mate'], 'offspring': entry['offspring']}) + return pairs + +#def get_usage_list(monster): +# used_in = [] +# for entry in breeding_info: +# if entry['offspring'].lower() == monster.lower(): +# used_in.append({'base': entry['base'], 'mate': entry['mate']}) +# return used_in + +@get_breeding_pairs_bp.route('/breeding-pairs/', methods=['GET']) +def breeding_pairs(monster): + pairs = get_breeding_pairs(monster) + return jsonify({'breeding_pairs': pairs}) + +#@app.route('/usage-list/', methods=['GET']) +#def usage_list(monster): +# used_in = get_usage_list(monster) +# return jsonify({'used_in': used_in}) +# + diff --git a/src/data/updated_breeding_pairs.csv b/src/data/updated_breeding_pairs.csv index 32d431b..1cc563c 100644 --- a/src/data/updated_breeding_pairs.csv +++ b/src/data/updated_breeding_pairs.csv @@ -1,3 +1,4 @@ +base,mate,offspring beast,dragon,Almiraj Saccer,dragon,Antbear beast,PutrePup,Arrowdog