Repository navigation
Conversation
kevin9327
added a commit
to kevin9327/kevin9327
that referenced
this pull request
Oct 20, 2026
Owner
|
Nice catch, I didn't think about float() taking nan and inf. I put your commit on main as is (you're the author), it goes out with the next push. Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
parse_timestampusesfloat()on each part, which also acceptsnan,infandinfinity. The< 0and>= 60checks are both False for NaN, so these values got through:parse_timestamp("nan")returnsnanparse_segments("1-inf")returnsSegmentRange(1.0, inf)when no duration is givenparse_segments("nan-5")makes a segment whose start is NaN. That breaks the sorting and merging innormalize_segments.Fix: raise
ValueError("invalid timestamp")when any part is not finite.Tests: I added
nan/inf/1:nan/infinityto the reject cases and addedtest_parse_segments_rejects_non_finite_bounds. These fail onmain(5 failures) and pass with the fix. All 24 tests intests/test_segments.pypass.AI-assistance note: I found and wrote this change with help from an AI coding assistant. I reviewed it and ran the tests myself.