Skip to content

Commit 018befc

Browse files
committed
weekday iterator bug fixed.
1 parent 74ce819 commit 018befc

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

crontools/crontab.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -339,22 +339,22 @@ def _weekday_iter(self, year: int, month: int, start_day: int = 1) -> Iterator[i
339339
curr_weekday = calendar.weekday(year, month, curr_day) + 1
340340
weekday_iter = self._weekday_field.iter(start_from=curr_weekday)
341341

342-
for _ in range(4):
343-
for weekday in it.cycle(it.chain(weekday_iter, (None,))):
344-
if weekday is None:
345-
curr_day += (8 - curr_weekday)
346-
curr_weekday = calendar.weekday(year, month, curr_day) + 1
347-
weekday_iter = self._weekday_field.iter()
348-
break
349-
else:
350-
curr_day += (weekday - curr_weekday)
351-
curr_weekday = calendar.weekday(year, month, curr_day) + 1
352-
342+
for _ in range(5):
343+
for weekday in weekday_iter:
344+
curr_day += (weekday - curr_weekday)
345+
curr_weekday += (weekday - curr_weekday)
353346
if curr_day > calendar.monthrange(year, month)[1]:
354347
return
355348

356349
yield curr_day
357350

351+
curr_day += (8 - curr_weekday)
352+
curr_weekday = 1
353+
if curr_day > calendar.monthrange(year, month)[1]:
354+
return
355+
356+
weekday_iter = self._weekday_field.iter()
357+
358358

359359
@dc.dataclass(frozen=True)
360360
class Crontab:

0 commit comments

Comments
 (0)