From 09010c6743d2ec4ebc6e7a785e5539c48d8060d7 Mon Sep 17 00:00:00 2001 From: Ellis Percival <flyte@failcode.co.uk> Date: Wed, 3 Apr 2019 21:35:30 +0100 Subject: [PATCH] Just allow strings and ints for pins. --- config.schema.yml | 10 ++++++---- pi_mqtt_gpio/__init__.py | 10 ++++++---- pi_mqtt_gpio/server.py | 13 ------------- 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/config.schema.yml b/config.schema.yml index 6fa3531..133374e 100644 --- a/config.schema.yml +++ b/config.schema.yml @@ -148,10 +148,11 @@ digital_inputs: required: yes empty: no pin: - type: string + type: + - string + - integer required: yes empty: no - coerce: int_if_possible on_payload: type: string required: yes @@ -187,10 +188,11 @@ digital_outputs: type: string required: yes pin: - type: string + type: + - string + - integer required: yes empty: no - coerce: int_if_possible on_payload: type: string required: no diff --git a/pi_mqtt_gpio/__init__.py b/pi_mqtt_gpio/__init__.py index d3a4def..65cc2cb 100644 --- a/pi_mqtt_gpio/__init__.py +++ b/pi_mqtt_gpio/__init__.py @@ -151,10 +151,11 @@ digital_inputs: required: yes empty: no pin: - type: string + type: + - string + - integer required: yes empty: no - coerce: int_if_possible on_payload: type: string required: yes @@ -190,10 +191,11 @@ digital_outputs: type: string required: yes pin: - type: string + type: + - string + - integer required: yes empty: no - coerce: int_if_possible on_payload: type: string required: no diff --git a/pi_mqtt_gpio/server.py b/pi_mqtt_gpio/server.py index e3777f9..37dc166 100644 --- a/pi_mqtt_gpio/server.py +++ b/pi_mqtt_gpio/server.py @@ -87,19 +87,6 @@ class ConfigValidator(cerberus.Validator): """ return str(value) - @staticmethod - def _normalize_coerce_int_if_possible(value): - """ - Convert value to integer if possible. - :param value: Value to convert - :return: Value represented as an int if possible, else string. - :rtype: str or int - """ - try: - return int(value) - except ValueError: - return value - def on_log(client, userdata, level, buf): """ -- GitLab