from flask import Flask, jsonify import random app = Flask(__name__) # AltGR + F|G = [|] hrdinove = [ #{"jmeno":"","rasa":"","hp":100,"level":10}, {"jmeno":"Aragorn","rasa":"clovek","hp":100,"level":20}, {"jmeno":"Legolas","rasa":"elf","hp":80,"level":18}, {"jmeno":"Gimli","rasa":"trpaslik","hp":130,"level":21}, {"jmeno":"Frodo","rasa":"hobbit","hp":40,"level":5}, {"jmeno":"Gandalf","rasa":"clovek","hp":150,"level":50}, {"jmeno":"Sauron","rasa":"demon","hp":500,"level":100}, ] @app.route("/") def index(): """Hlavní stránka s rozcestníkem (HTML pro snadné klikání)""" return """

RPG Heroes API Server

""" @app.route("/api/heroes") def get_all_heroes(): """Vrátí celý seznam hrdinů jako JSON""" return jsonify(hrdinove) @app.route("/api/heroes/random") def get_random_hero(): """Vrátí náhodného hrdinu jako JSON""" nahodny = random.choice(hrdinove) return jsonify(nahodny) @app.route("/api/heroes/") def get_hero_by_id(hero_id): """Vrátí hrdinu podle jeho indexu v seznamu v poli(array)""" if 0 <= hero_id < len(hrdinove): return jsonify(hrdinove[hero_id]) else: return jsonify({"chyba":"Hrdina s tímto ID neexistuje"}), 404 @app.route("/api/heroes/filter/") def filter_heores_by_race(rasa): """Vrátí hrdiny, kteří odpovídají zadané rase""" vysledek = [] for hrdina in hrdinove: if hrdina["rasa"].lower() == rasa.lower(): vysledek.append(hrdina) if not vysledek: return jsonify({"chyba":f"Žádný hrdina rasy '{rasa}'!"}) return jsonify(vysledek) if __name__ == "__main__": print("--- HERO API SERVER NASTARTOVÁN ---") print("Server běží na http://localhost:80") print("Vypnout server -> Ctrl + C") app.run(host="0.0.0.0",port=80,debug=True)