From e9b5a84437aa032cfba1470cd7c5eb12da6c3b6a Mon Sep 17 00:00:00 2001 From: Florian Bezannier Date: Sun, 14 Jan 2024 10:17:09 +0100 Subject: [PATCH] fix: #726 chc is None --- .../psacc/application/car_controller.py | 2 +- psa_car_controller/web/view/api.py | 22 +++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/psa_car_controller/psacc/application/car_controller.py b/psa_car_controller/psacc/application/car_controller.py index 34b34f5..5e06a31 100644 --- a/psa_car_controller/psacc/application/car_controller.py +++ b/psa_car_controller/psacc/application/car_controller.py @@ -48,7 +48,7 @@ class PSACarController(metaclass=Singleton): def __init__(self): self.args = parse_args() self.myp: PSAClient - self.chc: ChargeControls + self.chc: ChargeControls = None self.config_name = DEFAULT_NAME self.is_good: bool = True self.offline = self.args.offline diff --git a/psa_car_controller/web/view/api.py b/psa_car_controller/web/view/api.py index 4bd123c..d416d24 100644 --- a/psa_car_controller/web/view/api.py +++ b/psa_car_controller/web/view/api.py @@ -106,15 +106,19 @@ def get_position(vin): def get_charge_control(): logger.info(request) vin = request.args['vin'] - charge_control = APP.chc.get(vin) - if charge_control is None: - return jsonify("error: VIN not in list") - if 'hour' in request.args and 'minute' in request.args: - charge_control.set_stop_hour([int(request.args["hour"]), int(request.args["minute"])]) - if 'percentage' in request.args: - charge_control.percentage_threshold = int(request.args['percentage']) - APP.chc.save_config() - return jsonify(charge_control.get_dict()) + if APP.chc: + charge_control = APP.chc.get(vin) + if charge_control is None: + return jsonify({"error": "VIN not in list"}) + if 'hour' in request.args and 'minute' in request.args: + charge_control.set_stop_hour([int(request.args["hour"]), int(request.args["minute"])]) + if 'percentage' in request.args: + charge_control.percentage_threshold = int(request.args['percentage']) + APP.chc.save_config() + return jsonify(charge_control.get_dict()) + error = "Charge control not setup check your PSACC configuration and logs" + logger.error(error) + return jsonify({"error": error}) @app.route('/positions')