Advertisement
teslariu

webserver.py

Oct 30th, 2021
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.95 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 Carlos', 'cursos':5},
  11.     {'id':2, 'nombre':'Ana', 'cursos':3},
  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.    
  23.     if request.method == "GET":
  24.         return jsonify({'alumnos':alumnos})
  25.        
  26.     elif request.method == "POST":
  27.         if not alumnos:
  28.             id_alumno = 1
  29.         else:
  30.             id_alumno = alumnos[-1]['id'] + 1
  31.         alumno = {
  32.             'id': id_alumno,
  33.             'nombre': request.json['nombre'],
  34.             'cursos': request.json['cursos']
  35.         }
  36.         alumnos.append(alumno)
  37.         return jsonify("Alumno añadido")
  38.        
  39.     elif request.method == "PUT":
  40.         id_alumno = request.json['id']
  41.         for alumno in alumnos:
  42.             if id_alumno == alumno.get('id'):
  43.                 if request.json['nombre'] is not None:
  44.                     alumno['nombre'] = request.json['nombre']
  45.                 if request.json['cursos'] is not None:
  46.                     alumno['cursos'] = request.json['cursos']
  47.                 return jsonify("Datos modificados...")
  48.         return jsonify(f"No se encontró alumno con id: {id_alumno}")
  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 eliminado")
  56.         return jsonify(f"No se encontró alumno con id: {id_alumno}")
  57.        
  58. @app.route("/alumno/<int:i>")
  59. def get_alumno(i):
  60.     try:
  61.         return jsonify({"alumno":alumnos[i-1]})
  62.     except IndexError:
  63.         return jsonify("Alumno inexistente")
  64.        
  65. @app.route('/instructor')
  66. def get_instructor():
  67.     return "Sección de instructores"
  68.    
  69. @app.route('/administrativo')
  70. def get_administrativo():
  71.     return "<html><h1>EN CONSTRUCCION ...</h1></html>"
  72.    
  73. if __name__ == "__main__":
  74.     app.run(debug=True)
  75.    
  76. # LINUX
  77. # export FLASK_APP=webserver.py
  78. # flask run
  79.  
  80. # WINDOWS
  81. # set FLASK_APP=webserver.py
  82. # python -m flask run
  83.        
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement