Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions schedule/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,10 +299,15 @@ def is_repr(j):
else:
call_repr = "[None]"

if self.unit is not None:
unit = self.unit[:-1] if self.interval == 1 else self.unit
else:
unit = "[None]"

if self.at_time is not None:
return "Every %s %s at %s do %s %s" % (
self.interval,
self.unit[:-1] if self.interval == 1 else self.unit,
unit,
self.at_time,
call_repr,
timestats,
Expand All @@ -317,7 +322,7 @@ def is_repr(j):
return fmt % dict(
interval=self.interval,
latest=self.latest,
unit=(self.unit[:-1] if self.interval == 1 else self.unit),
unit=unit,
call_repr=call_repr,
timestats=timestats,
)
Expand Down
6 changes: 5 additions & 1 deletion test_schedule.py
Original file line number Diff line number Diff line change
Expand Up @@ -1358,7 +1358,11 @@ def job_fun():

# Ensure Job.__repr__ does not throw exception on a partially-composed Job
s3 = repr(schedule.every(10))
assert s3 == "Every 10 None do [None] (last run: [never], next run: [never])"
assert s3 == "Every 10 [None] do [None] (last run: [never], next run: [never])"

# Ensure repr does not crash when interval is 1 and unit is None
s4 = repr(schedule.every(1))
assert s4 == "Every 1 [None] do [None] (last run: [never], next run: [never])"

def test_to_string_lambda_job_func(self):
assert len(str(every().minute.do(lambda: 1))) > 1
Expand Down