Advertisement
teslariu

server

Nov 8th, 2021
603
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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':'Ale', 'cursos':5},
  11.         {'id':2, 'nombre':'Ana', 'cursos':1},
  12.         {'id':3, 'nombre':'Luisa', 'cursos':2},
  13.         {'id':4, 'nombre':'Juana', 'cursos':3},
  14.     ]
  15. """
  16. alumnos = []
  17.  
  18. @app.route("/")
  19. def home():
  20.     return "En el home"
  21.  
  22. @app.route("/alumno", methods=['GET', 'POST', 'PUT', 'DELETE'])
  23. def alumno():
  24.    
  25.     if request.method == "GET":
  26.         return jsonify({"alumnos":alumnos})
  27.        
  28.     elif request.method == "POST":
  29.         if not alumnos:
  30.             codigo = 1
  31.         else:
  32.             codigo = alumnos[-1]['id'] + 1
  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.  
  61. @app.route("/alumno/<int:i>")
  62. def mostrar_alumno(i):
  63.     try:
  64.         return jsonify({'alumno':alumnos[i-1]})
  65.     except IndexError:
  66.         return jsonify(f"No existe el alumno con id {i}")
  67.        
  68. @app.route("/instructor")
  69. def instructor():
  70.     return "Sección de instructores"
  71.    
  72. @app.route("/administrativo")
  73. def admin():
  74.     return "En construcción ..."      
  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
RAW Paste Data Copied
Advertisement