Advertisement
teslariu

servidor

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