From 7d6e3df705a73710780b884bb0723c9207157c11 Mon Sep 17 00:00:00 2001 From: jlayec Date: Tue, 23 Mar 2021 23:19:37 +0000 Subject: [PATCH] fix trip engine for hybrid cars + locale + get_vehicles url --- trip_parser.py | 5 ++++- web/app.py | 2 +- web/views.py | 9 +++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/trip_parser.py b/trip_parser.py index 19b991c..227622c 100644 --- a/trip_parser.py +++ b/trip_parser.py @@ -32,7 +32,10 @@ class TripParser: def get_hybrid_consumption(start, end): res = [] for energy in [LEVEL, LEVEL_FUEL]: - res.append(start[energy] - end[energy]) + if start[energy] is not None and end[energy] is not None: + res.append(start[energy] - end[energy]) + else: + res.append(0) return res def __is_refuel_or_recharging(self, start, end, distance): diff --git a/web/app.py b/web/app.py index e79c7af..553fa8b 100644 --- a/web/app.py +++ b/web/app.py @@ -25,7 +25,7 @@ def start_app(title, base_path, debug: bool, host, port): lang = locale.getlocale()[0].split("_")[0] locale.setlocale(locale.LC_TIME, ".".join(locale.getlocale())) #make sure LC_TIME is set locale_url = [f"https://cdn.plot.ly/plotly-locale-{lang}-latest.js"] - except IndexError: + except (IndexError, locale.Error): locale_url = None logger.warning("Can't get language") app = Flask(__name__) diff --git a/web/views.py b/web/views.py index 4f6b4d2..3ad79f5 100644 --- a/web/views.py +++ b/web/views.py @@ -48,9 +48,14 @@ def display_value(value): figures.battery_table, max_millis, step, marks -@app.route('/getvehicles') +@app.route('/get_vehicles') def get_vehicules(): - return jsonify(myp.get_vehicles()) + response = app.response_class( + response=json.dumps(myp.get_vehicles(), default=lambda car: car.to_dict()), + status=200, + mimetype='application/json' + ) + return response @app.route('/get_vehicleinfo/')