Advertisement
teslariu

servidor web

Dec 21st, 2021
1,096
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 = [ {'id':1, 'nombre':'Ana', 'cursos':3},
  10.             {'id':2, 'nombre':'Ale', 'cursos':1},
  11.             {'id':3, 'nombre':'Juana', 'cursos':2},
  12.             {'id':4, 'nombre':'Ema', 'cursos':5},
  13.     ]
  14. """
  15. alumnos = []
  16.  
  17. @app.route("/")
  18. def home():
  19.     return "<html><h1><em>Hola</em> a todos</h1></html>"
  20.    
  21. @app.route("/alumno", methods=["GET","POST","PUT","DELETE"])
  22. def alumno():
  23.    
  24.     if request.method == "GET":
  25.         return jsonify({"alumnos":alumnos})
  26.        
  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.        
  42.     elif request.method == 'PUT':
  43.         codigo = request.json['id']
  44.         for alumno in alumnos:
  45.             if codigo == alumno.get('id'):
  46.                 if request.json['nombre'] is not None:
  47.                     alumno['nombre'] = request.json['nombre']
  48.                 if request.json['cursos'] is not None:
  49.                     alumno['cursos'] = request.json['cursos']
  50.                 return jsonify("Datos modificados")
  51.         return jsonify(f"No se halló al alumno con id {codigo}")
  52.        
  53.        
  54.     elif request.method == "DELETE":
  55.         codigo = request.json['id']
  56.         for alumno in alumnos:
  57.             if codigo == alumno.get('id'):
  58.                 alumnos.remove(alumno)
  59.                 return jsonify("Alumno eliminado")
  60.         return jsonify(f"No se halló al alumno con id {codigo}")
  61.        
  62.        
  63. @app.route('/alumno/<int:i>')
  64. def get_alumno(i):
  65.     try:
  66.         return jsonify({"alumno":alumnos[i-1]})
  67.     except IndexError:
  68.         return jsonify(f"No existe el alumno con id {i}")
  69.  
  70.  
  71. @app.route("/instructor")
  72. def get_instructor():
  73.     return "Sección en construcción"
  74.    
  75. @app.route("/admin")
  76. def get_admin():
  77.     return "<html><h2>Sección en construcción</h2></html>"   
  78.    
  79.    
  80. if __name__ == "__main__":
  81.     app.run(debug=True)
  82.    
  83.    
  84. # LINUX
  85. # export FLASK_APP=webserver.py
  86. # flask run
  87.    
  88. # windows
  89. # set FLASK_APP=webserver.py
  90. # python -m flask run
Advertisement
Advertisement
Advertisement
RAW Paste Data Copied
Advertisement