teslariu

server

Sep 20th, 2021 (edited)
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.99 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 = [ {'id':1, 'nombre':'Juan', 'cursos':5},
  10.             {'id':2, 'nombre':'Josefa', 'cursos':1},
  11.             {'id':3, 'nombre':'Ana', 'cursos':3},
  12.             {'id':4, 'nombre':'Jose', 'cursos':9},
  13.         ]
  14. """
  15.  
  16. alumnos = []
  17.  
  18. @app.route("/")
  19. def home():
  20.     return "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.             id_alumno = 1
  31.         else:
  32.             id_alumno = alumnos[-1]['id'] + 1
  33.         alumno = {
  34.                 'id': id_alumno,
  35.                 'nombre': request.json['nombre'],
  36.                 'cursos': request.json['cursos']
  37.         }
  38.         alumnos.append(alumno)
  39.         return jsonify("Alumno añadido correctamente")
  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.        
  53.     elif request.method == "DELETE":
  54.         id_alumno = request.json['id']
  55.         for alumno in alumnos:
  56.             if id_alumno == alumno.get('id'):
  57.                 alumnos.remove(alumno)
  58.                 return jsonify("Alumno borrado")
  59.         return jsonify("Alumno no hallado")
  60.        
  61.  
  62. @app.route('/alumno/<int:i>')
  63. def get_alumno(i):
  64.     try:
  65.         return jsonify({"alumno":alumnos[i-1]})
  66.     except IndexError:
  67.         return jsonify(f"No existe el alumno con id {i}")
  68.  
  69. @app.route('/instructor')
  70. def get_instructor():
  71.     return "Sección de instructores"
  72.        
  73. @app.route('/administrativo')
  74. def get_admin():
  75.     return "En construcción..."
  76.    
  77.    
  78. if __name__ == '__main__':
  79.     app.run(debug=True)
  80.    
  81.    
  82. # LINUX
  83. # export FLASK_APP=webserver.py
  84. # flask run
  85.  
  86. # WINDOWS
  87. # set FLASK_APP=webserver.py   
  88. # python -m flask run
  89.        
Add Comment
Please, Sign In to add comment