Advertisement
teslariu

server

Apr 21st, 2022
818
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/env python
  2.  
  3. from flask import Flask, jsonify, request
  4.  
  5. app = Flask(__name__)
  6. """
  7. alumnos = [
  8.    {'id':1, 'nombre':'Ale, 'cursos':5},
  9.    {'id':2, 'nombre':'Ana, 'cursos':3},
  10.    {'id':3, 'nombre':'Juan, 'cursos':4},
  11. ]
  12. """
  13. alumnos = []
  14.  
  15. @app.route("/")
  16. def home():
  17.     return "<html><h1><em>HOME</em></h1></html>"
  18.  
  19. @app.route("/alumno", methods=['GET','POST','PUT','DELETE'])
  20. def alumno():
  21.     if request.method == "GET":
  22.         return jsonify({'alumnos':alumnos})
  23.  
  24.     elif request.method == "POST":
  25.         if not alumnos:
  26.             codigo = 1
  27.         else:
  28.             codigo = alumnos[-1]['id'] + 1
  29.         alumno = {
  30.             'id':codigo,
  31.             'nombre':request.json['nombre'],
  32.             'cursos':request.json['cursos']
  33.         }
  34.         alumnos.append(alumno)
  35.         return jsonify("Alumno añadido")
  36.  
  37.     elif request.method == "PUT":
  38.         id_alumno = request.json['id']
  39.         for alumno in alumnos:
  40.             if id_alumno == alumno.get('id'):
  41.                 if request.json['nombre'] is not None:
  42.                     alumno['nombre'] = request.json['nombre']
  43.                 if request.json['cursos'] is not None:
  44.                     alumno['cursos'] = request.json['cursos']
  45.                 return jsonify("Datos modificados")
  46.         return jsonify("No se ha encontrado al alumno")
  47.  
  48.     elif request.method == "DELETE":
  49.         id_alumno = request.json['id']
  50.         for alumno in alumnos:
  51.             if id_alumno == alumno.get('id'):
  52.                 alumnos.remove(alumno)
  53.                 return jsonify("Alumno eliminado")
  54.         return jsonify("No se ha encontrado al alumno")
  55.  
  56. @app.route('/alumno/<int:i>')
  57. def get_alumno(i):
  58.     try:
  59.         return jsonify({'alumno':alumnos[i-1]})
  60.     except IndexError:
  61.         return jsonify("No existe el alumno")
  62.  
  63. @app.route("/admin")
  64. def get_admin():
  65.     return "<html><h1>En construcción</h1></html>"
  66.  
  67.  
  68.  
  69. if __name__ == "__main__":
  70.     app.run(debug=True)
  71.  
  72. # LINUX
  73. # export FLASK_APP=webserver.py
  74. # flask run
  75. # WINDOWS
  76. # set FLASK_APP=webserver.py
  77. # python -m flask run
Advertisement
RAW Paste Data Copied
Advertisement