Advertisement
teslariu

webserver

Aug 20th, 2022
833
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.17 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # pip install Flask
  5.  
  6. from flask import Flask, jsonify, request
  7.  
  8. app = Flask(__name__)
  9. """
  10. alumnos = [{"id":1, "nombre":"Juan", "cursos":5},
  11.            {"id":2, "nombre":"Ana", "cursos":1},
  12.            {"id":3, "nombre":"Luisa", "cursos":3},
  13.    ]
  14. """
  15. alumnos = []
  16.  
  17. @app.route("/")
  18. def home():
  19.     return "<h1><em>HOME</em></h1>"
  20.    
  21. @app.route("/alumno",methods=['GET','POST','PUT','DELETE'])
  22. def alumno():
  23.     if request.method == "GET":
  24.         return jsonify({"alumnos":alumnos})
  25.    
  26.     elif request.method == "POST":
  27.         if not alumnos:
  28.             codigo = 1
  29.         else:
  30.             codigo = alumnos[-1]['id'] + 1
  31.         alumno = {
  32.             'id': codigo,
  33.             'nombre': request.json['nombre'],
  34.             'cursos': request.json['cursos']
  35.         }
  36.         alumnos.append(alumno)
  37.         return jsonify("Alumno añadido")
  38.        
  39.     elif request.method == "PUT":
  40.         codigo = request.json['id']
  41.         for alumno in alumnos:
  42.             if codigo == alumno.get('id'):
  43.                 if request.json['nombre'] is not None:
  44.                     alumno['nombre'] = request.json['nombre']
  45.                 if request.json['cursos'] is not None:
  46.                     alumno['cursos'] = request.json['cursos']
  47.                 return jsonify("Datos modificados")
  48.         return jsonify(f"Alumno con id={codigo} no encontrado")
  49.        
  50.     elif request.method == "DELETE":
  51.         codigo = request.json['id']
  52.         for alumno in alumnos:
  53.             if codigo == alumno.get('id'):
  54.                 alumnos.remove(alumno)
  55.                 return jsonify("Alumno eliminado")
  56.         return jsonify(f"Alumno con id={codigo} no encontrado")
  57.        
  58. @app.route("/alumno/<int:i>")
  59. def get_alumno(i):
  60.     try:
  61.         return jsonify({"alumno":alumnos[i-1]})
  62.     except IndexError:
  63.         return jsonify(f"Alumno con id={i} no encontrado")
  64.  
  65. @app.route("/admin")
  66. def admin():
  67.     return "EN CONSTRUCCION"
  68.  
  69.  
  70. if __name__ == "__main__":
  71.     app.run(debug=True)
  72.    
  73. """
  74. # LINUX:
  75. export FLASK_APP=webserver.py
  76. flask run
  77.    
  78. # WINDOWS
  79. set FLASK_APP=webserver.py
  80. python -m flask run
  81. """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement