teslariu

servidor

Feb 5th, 2022
737
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.90 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 = [{'id':1, 'nombre':'Ale', 'cursos': 5},
  10.             {'id':2, 'nombre':'Juana', 'cursos': 3}
  11.             ]
  12. """
  13.  
  14. alumnos = []
  15.  
  16. @app.route("/")
  17. def home():
  18.     return "HOME"
  19.    
  20. @app.route("/alumno", methods=["GET", "POST", "PUT", "DELETE"])
  21. def alumno():
  22.     if request.method == "GET":
  23.         return jsonify({"alumnos":alumnos})
  24.    
  25.     elif request.method == "POST":
  26.         if not alumnos:
  27.             codigo = 1
  28.         else:
  29.             codigo = alumnos[-1]['id'] + 1
  30.         alumno = {
  31.             'id':codigo,
  32.             'nombre':request.json['nombre'],
  33.             'cursos':request.json['cursos']
  34.         }
  35.         alumnos.append(alumno)
  36.         return jsonify("Alumno añadido")
  37.        
  38.     elif request.method == "PUT":
  39.         id_alumno = request.json['id']
  40.         for alumno in alumnos:
  41.             if id_alumno == alumno.get('id'):
  42.                 if request.json['nombre'] is not None:
  43.                     alumno['nombre'] = request.json['nombre']
  44.                 if request.json['cursos'] is not None:
  45.                     alumno['cursos'] = request.json['cursos']
  46.                 return jsonify("Datos modificados")
  47.         return jsonify(f"id de alumno {id_alumno} no hallado")
  48.                
  49.     elif request.method == "DELETE":
  50.         id_alumno = request.json['id']
  51.         for alumno in alumnos:
  52.             if id_alumno == alumno.get('id'):
  53.                 alumnos.remove(alumno)
  54.                 return jsonify("Alumno borrado")
  55.         return jsonify(f"id de alumno no hallado")
  56.        
  57. @app.route('/alumno/<int:i>')
  58. def get_alumno(i):
  59.     try:
  60.         return jsonify({"alumno":alumnos[i-1]})
  61.     except IndexError:
  62.         return jsonify(f"id = {i} no hallado")
  63.        
  64.        
  65.    
  66.    
  67.    
  68. @app.route("/instructor")
  69. def instructor():
  70.     return "Sección de instructores"
  71.    
  72. @app.route("/administrador")
  73. def administrador():
  74.     return "Sección de administradores"   
  75.    
  76.    
  77.    
  78. if __name__ == "__main__":
  79.     app.run(debug = True)
  80.    
  81. # LINUX
  82. # export FLASK_APP=webserver.py
  83. # flask run
  84.  
  85. # WINDOWS
  86. # set FLASK_APP=webserver.py
  87. # python -m flask run
  88.  
Advertisement
Add Comment
Please, Sign In to add comment