|
|
- import os
- import json
-
- from modules import utils
-
- from flask import Flask, request
- from flask_restful import Resource, Api
-
- app = Flask(__name__)
- api = Api(app)
- db_path = os.path.join(app.root_path, 'databases', 'users.json')
-
- with open(db_path, 'r') as f:
- users = json.load(f)
-
- class Resources(Resource):
- def post(self):
- """
- POST Data:
- user_id=<id>&type=<electricity|water>
- :return:
- """
- user = utils.find_by_id(users.values(), request.form['user_id'])
- if request.form["type"] == "electricity":
- usage = user['daily_electricity_usage']
- ideal = user['ideal_electricity_usage']
-
- diff = [abs(a-b) for a in usage for b in ideal]
-
- sum_diff = sum(diff)
-
- point = 10 - (sum_diff * 0.0001)
- eff = point * 10
- bill = ( user['electricity_bill'] * eff)/100
- return {
- 'daily_electricity_usage': usage,
- 'ideal_electricity_usage': ideal,
- 'points': point,
- 'efficiency': eff,
- 'bill': bill
- }
-
- elif request.form["type"] == "water":
- usage = user['daily_water_usage']
- ideal = user['ideal_water_usage']
-
- diff = [abs(a-b) for a in usage for b in ideal]
-
- sum_diff = sum(diff)
-
- point = 10 - (sum_diff * 0.0001)
- eff = point * 10
- bill = (user['water_bill'] * eff)/100
-
- return {
- 'daily_water_usage': usage,
- 'ideal_water_usage': ideal,
- 'point': point,
- 'efficiency': eff,
- 'bill': bill
- }
-
- if __name__ == '__main__':
- api.add_resource(Resources, '/resources', '/resources/')
-
- app.run(host='0.0.0.0', port=5000)
|