Small bugfix for potential divide by zero error during sparkline rendering. #113
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.
Issue
Sometimes, when the same data is repeatedly added to a sparkline to be rendered a
ZeroDivisionError
is thrown.Steps to recreate
Run this script:
Proposed solution
The problem can be traced to Line 1000 in cvui.py. Specifically: when the calculated value for
aScale
becomes zero, aZeroDivisionError
will be thrown. This occurs when boththeMax
andtheMin
are the same value which can be done by providing the call tocvui.sparkline(...)
with a array of all the same values.The proposed fix is to either use the calculated
aScale
value (i.e.theMax - theMin
) but if that computes to zero, use1
instead.