Advertisement
teslariu

servidor

Jun 12th, 2021
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.35 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':'Ale', 'cursos':5},
  11.        {'id':2, 'nombre':'Tito', 'cursos':2},
  12.        {'id':3, 'nombre':'Ana', 'cursos':1},
  13.        ]
  14. """
  15. alumnos = []
  16.  
  17. @app.route("/")
  18. def home():
  19.     return "HOME"
  20.    
  21. @app.route("/alumno", methods = ["GET", "POST", "PUT", "DELETE"])
  22. def alumno():
  23.     if request.method == "GET":
  24.         return jsonify({'alumnos': alumnos})
  25.        
  26.    
  27.     elif request.method == "POST":
  28.         if not alumnos:
  29.             codigo = 1
  30.         else:
  31.             codigo = alumnos[-1]["id"] + 1
  32.         alumno = {
  33.                 'id': codigo,
  34.                 'nombre': request.json['nombre'],
  35.                 'cursos': request.json['cursos'],
  36.                 }
  37.         alumnos.append(alumno)
  38.         return jsonify("Alumno añadido")
  39.        
  40.     elif request.method == "PUT":
  41.         codigo = request.json['id']
  42.         for alumno in alumnos:
  43.             if codigo == alumno.get('id'):
  44.                 if request.json['nombre'] is not None:
  45.                     alumno['nombre'] = request.json['nombre']
  46.                 if request.json['cursos'] is not None:
  47.                     alumno['cursos'] = request.json['cursos']
  48.                 return jsonify("Datos modificados")
  49.         return jsonify(f"No se ha encontrado alumno con id {codigo}")
  50.            
  51.            
  52.     elif request.method == "DELETE":
  53.         codigo = request.json['id']
  54.         for alumno in alumnos:
  55.             if codigo == alumno.get('id'):
  56.                 alumnos.remove(alumno)
  57.                 return jsonify(f"Alumno con id {codigo} borrado")
  58.         return jsonify(f"No se ha encontrado alumno con id {codigo}")
  59.        
  60. @app.route('/alumno/<int:i>')
  61. def estudiante(i):
  62.     try:
  63.         return jsonify({'alumno':alumnos[i-1]})
  64.     except IndexError:
  65.         return jsonify(f"ID {i} no hallado")
  66.        
  67. @app.route("/instructor")
  68. def instructor():
  69.     return "EN CONSTRUCCION...."
  70.    
  71. @app.route("/admin")
  72. def admin():
  73.     return "DENTRO DE LA SECCION DE ADMIN..."
  74.  
  75. if __name__ == "__main__":
  76.     app.run(debug = True)
  77.    
  78. # como ejecutarlo desde consola:
  79.  
  80. # Linux:
  81. # export FLASK_APP=webserver.py
  82. # flask run
  83.  
  84. # WINDOWS
  85. # set FLASK_APP=webserver.py
  86. # python -m flask run
  87.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement