Advertisement
teslariu

webserver.py

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