models.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from flask import jsonify
  2. from flask_restful import Resource
  3. from database import e
  4. from json import dumps
  5. class Demandas_Meta(Resource):
  6. def get(self):
  7. #Connect to database
  8. conn = e.connect()
  9. #Perform query and return JSON data
  10. query = conn.execute("select distinct PAIS from GENERACION_EOR_TR")
  11. result = query.cursor.fetchall()
  12. data = {'paises' : [row[0] for row in result]}
  13. return jsonify(data)
  14. class Demandas(Resource):
  15. def get(self):
  16. #Connect to database
  17. conn = e.connect()
  18. #Perform query and return JSON data
  19. query = conn.execute("select * from DEMANDA_MER")
  20. columns = query.keys()
  21. data = []
  22. result = query.cursor.fetchall()
  23. for row in result:
  24. data.append(dict(zip(columns, row)))
  25. #List of Dicts to Dict of List (LD to DL)
  26. v = dict(zip(data[0], zip(*[d.values() for d in data])))
  27. response = jsonify({'data' : v})
  28. #Response is List of Dicts (LD)
  29. #response = jsonify({'data' : data})
  30. return response
  31. class Demanda_Max(Resource):
  32. def get(self, pais):
  33. #Connect to database
  34. conn = e.connect()
  35. #Perform query and return JSON data
  36. query = conn.execute("SELECT fecha_hora, pais, demanda FROM generacion_eor_tr WHERE \
  37. demanda = (select max(demanda) from generacion_eor_tr where pais = '{0}') \
  38. and pais = '{0}'".format(pais.upper()))
  39. columns = query.keys()
  40. data = []
  41. result = query.cursor.fetchall()
  42. for row in result:
  43. data.append(dict(zip(columns, row)))
  44. response = jsonify({'data' : data})
  45. return response