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."""
|
||||
if parameter is None or parameter == MATCH_ALL:
|
||||
res = list(range(min_value, max_value + 1))
|
||||
elif isinstance(parameter, str) and parameter.startswith("/"):
|
||||
parameter = int(parameter[1:])
|
||||
res = [x for x in range(min_value, max_value + 1) if x % parameter == 0]
|
||||
elif isinstance(parameter, str):
|
||||
if parameter.startswith("/"):
|
||||
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__"):
|
||||
res = [int(parameter)]
|
||||
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 [42] == dt_util.parse_time_expression(42, 0, 59)
|
||||
assert [42] == dt_util.parse_time_expression("42", 0, 59)
|
||||
|
||||
with pytest.raises(ValueError):
|
||||
dt_util.parse_time_expression(61, 0, 60)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue