from flask import Flask, jsonify import random app = Flask(__name__) # AltGR + F|G = [|] # AltGR + B|N = {|} hrdinove = [ #{"jmeno":"","rasa":"","hp":100,"level":20} {"jmeno":"Aragorn","rasa":"clovek","hp":100,"level":20}, {"jmeno":"Legolas","rasa":"elf","hp":80,"level":18}, {"jmeno":"Gimli","rasa":"trpaslik","hp":120,"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 rozcesníkem""" # AltGR + ,|. = <|> 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 dle jeho indexu v seznamu 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_heroes_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ý hrnina rasy '{rasa}'"}) return jsonify(vysledek) if __name__ == "__main__": print("--- HERO SERVER NASTARTOVÁN ---") print("Server běží na http://localhost:8080") print("Vypnout server -> CTRL + C") app.run(host="0.0.0.0",port=8080,debug=True)