Skip to content

Commit 9c6b29b

Browse files
committed
Allow for FiniteDatetimeRange to be considered as "half-open"
1 parent 8f79c0b commit 9c6b29b

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

xocto/ranges.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1200,7 +1200,14 @@ def _is_datetime_range(value: Any) -> bool:
12001200
)
12011201

12021202

1203+
def _is_datetime_range_and_bounded(value: Any) -> bool:
1204+
return _is_datetime_range(value) and (
1205+
isinstance(value.start, datetime.datetime)
1206+
or isinstance(value.end, datetime.datetime)
1207+
)
1208+
1209+
12031210
# Subscripted generics may not be used with isinstance directly.
12041211
# TODO: A TypeGuard would be nicer, once we drop Python 3.9.
12051212
def _is_half_finite_datetime_range(value: Any) -> bool:
1206-
return _is_datetime_range(value) and isinstance(value, HalfFiniteRange)
1213+
return _is_datetime_range_and_bounded(value) or isinstance(value, HalfFiniteRange)

0 commit comments

Comments
 (0)