lxa_iobus: server: fix string/integer type confusion in set_pin() #43
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The form encoded parameter
value
sent via POST request is parsed by aiohttp so it can be used in set_pin().It is however passed in as string ("0", "1" or "toggle") so it will always be considered true-ish, resulting in the current implementation always turning the output on, even if "0" was requested.
Treat the value as integer instead (as long as it is not "toggle") and check that for true-ish-ness.
Fixes: 9236c1d introduced in #38.
TODO before merging:
server.py
is sound.It is unclear why this worked previously, because there was no type conversion in the code that 9236c1d replaced.There was a type conversion. I just overlooked it in the diff.