This commit is contained in:
parent
9d1aa70c62
commit
b106149588
2 changed files with 8 additions and 3 deletions
|
@ -213,9 +213,13 @@ def parse_time_expression(parameter: Any, min_value: int, max_value: int) -> Lis
|
||||||
"""Parse the time expression part and return a list of times to match."""
|
"""Parse the time expression part and return a list of times to match."""
|
||||||
if parameter is None or parameter == MATCH_ALL:
|
if parameter is None or parameter == MATCH_ALL:
|
||||||
res = list(range(min_value, max_value + 1))
|
res = list(range(min_value, max_value + 1))
|
||||||
elif isinstance(parameter, str) and parameter.startswith("/"):
|
elif isinstance(parameter, str):
|
||||||
parameter = int(parameter[1:])
|
if parameter.startswith("/"):
|
||||||
res = [x for x in range(min_value, max_value + 1) if x % parameter == 0]
|
parameter = int(parameter[1:])
|
||||||
|
res = [x for x in range(min_value, max_value + 1) if x % parameter == 0]
|
||||||
|
else:
|
||||||
|
res = [int(parameter)]
|
||||||
|
|
||||||
elif not hasattr(parameter, "__iter__"):
|
elif not hasattr(parameter, "__iter__"):
|
||||||
res = [int(parameter)]
|
res = [int(parameter)]
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -187,6 +187,7 @@ def test_parse_time_expression():
|
||||||
assert [x for x in range(24)] == dt_util.parse_time_expression("*", 0, 23)
|
assert [x for x in range(24)] == dt_util.parse_time_expression("*", 0, 23)
|
||||||
|
|
||||||
assert [42] == dt_util.parse_time_expression(42, 0, 59)
|
assert [42] == dt_util.parse_time_expression(42, 0, 59)
|
||||||
|
assert [42] == dt_util.parse_time_expression("42", 0, 59)
|
||||||
|
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
dt_util.parse_time_expression(61, 0, 60)
|
dt_util.parse_time_expression(61, 0, 60)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue