teslariu

ser

Aug 19th, 2021
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.53 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4.  
  5. from flask import Flask, jsonify, request
  6.  
  7. app = Flask(__name__)
  8.  
  9. """
  10. alumnos = [ {'id':1, 'nombre':'Ale', 'cursos':3},
  11.            {'id':2, 'nombre':'Juana', 'cursos':5},
  12.            {'id':3, 'nombre':'Luisa', 'cursos':8},
  13.        ]
  14. """
  15. alumnos = []
  16.  
  17. @app.route('/')
  18. def home():
  19.     return "BIENVENIDOS AL HOME"
  20.  
  21.  
  22. @app.route('/alumnos', methods=["GET","POST","PUT","DELETE"])
  23. def alumno():
  24.    
  25.     if request.method == "GET":
  26.         return jsonify({'alumnos':alumnos})
  27.        
  28.    
  29.     elif request.method == "POST":
  30.         if not alumnos:
  31.             ID = 1
  32.         else:
  33.             ID = alumnos[-1]['id'] + 1
  34.         alumno = {
  35.             'id': ID,
  36.             'nombre': request.json['nombre'],
  37.             'cursos': request.json['cursos'],
  38.             }
  39.         alumnos.append(alumno)
  40.         return jsonify("Alumno añadido")
  41.        
  42.        
  43.     elif request.method == "PUT":
  44.         id_alumno = request.json['id']
  45.         for alumno in alumnos:
  46.             if id_alumno == alumno.get('id'):
  47.                 if request.json['nombre'] is not None:
  48.                     alumno['nombre'] = request.json['nombre']
  49.                 if request.json['cursos'] is not None:
  50.                     alumno['cursos'] = request.json['cursos']
  51.                 if request.json['nombre'] is None and request.json['cursos'] is None:
  52.                     return("No has mandado datos para modificar")
  53.                 return jsonify("Datos modificados")
  54.         return jsonify(f"No se ha encontrado el id {id_alumno}")    
  55.    
  56.        
  57.     elif request.method == "DELETE":
  58.         id_alumno = request.json['id']
  59.         for alumno in alumnos:
  60.             if id_alumno == alumno.get('id'):
  61.                 alumnos.remove(alumno)
  62.                 return jsonify(f"Alumno con id {id_alumno} borrado")
  63.         return jsonify(f"No se ha encontrado al alumno con id {id_alumno}")
  64.    
  65.    
  66.    
  67.    
  68. @app.route('/alumnos/<int:i>')
  69. def get_alumno(i):
  70.     try:
  71.         return jsonify({"alumno":alumnos[i-1]})
  72.     except IndexError:
  73.         return jsonify(f"No se ha encontrado al alumno con id {i}")
  74.        
  75.        
  76. @app.route("/instructores")
  77. def get_instructores():
  78.     return "EN CONSTRUCCION ...."    
  79.        
  80.  
  81. @app.route("/administrativos")
  82. def get_admin():
  83.     return "Próximamente..."
  84.    
  85. if __name__ == '__main__':
  86.     app.run(debug = True)
  87.    
  88. # LINUX
  89. # export FLASK_APP=webserver.py
  90. # flask run
  91.  
  92. # WINDOWS
  93. # set FLASK_APP=webserver.py
  94. # python -m flask run
Advertisement
Add Comment
Please, Sign In to add comment