Skip to content

Commit 4646bfe

Browse files
authored
Fix relative date in CLI for weeks and months (#2481)
1 weeks -> 1 week 1 months -> 1 month
1 parent 5889213 commit 4646bfe

2 files changed

Lines changed: 24 additions & 3 deletions

File tree

src/dstack/_internal/utils/common.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,15 @@ def pretty_date(time: datetime) -> str:
6767
if diff.days < 7:
6868
return str(diff.days) + " days ago"
6969
if diff.days < 31:
70-
return str(round(diff.days / 7)) + " weeks ago"
70+
weeks = round(diff.days / 7)
71+
if weeks == 1:
72+
return str(weeks) + " week ago"
73+
return str(weeks) + " weeks ago"
7174
if diff.days < 365:
72-
return str(round(diff.days / 30)) + " months ago"
75+
months = round(diff.days / 30)
76+
if months == 1:
77+
return str(months) + " month ago"
78+
return str(months) + " months ago"
7379
years = round(diff.days / 365)
7480
if years == 1:
7581
return str(years) + " year ago"

src/tests/_internal/utils/test_common.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,21 +67,36 @@ def test_days_ago(self):
6767
past_time = now - timedelta(days=5)
6868
assert pretty_date(past_time) == "5 days ago"
6969

70+
def test_week_ago(self):
71+
now = datetime.now(tz=timezone.utc)
72+
past_time = now - timedelta(days=7)
73+
assert pretty_date(past_time) == "1 week ago"
74+
7075
def test_weeks_ago(self):
7176
now = datetime.now(tz=timezone.utc)
7277
past_time = now - timedelta(days=21)
7378
assert pretty_date(past_time) == "3 weeks ago"
7479

80+
def test_month_ago(self):
81+
now = datetime.now(tz=timezone.utc)
82+
past_time = now - timedelta(days=31)
83+
assert pretty_date(past_time) == "1 month ago"
84+
7585
def test_months_ago(self):
7686
now = datetime.now(tz=timezone.utc)
7787
past_time = now - timedelta(days=90)
7888
assert pretty_date(past_time) == "3 months ago"
7989

80-
def test_years_ago(self):
90+
def test_year_ago(self):
8191
now = datetime.now(tz=timezone.utc)
8292
past_time = now - timedelta(days=400)
8393
assert pretty_date(past_time) == "1 year ago"
8494

95+
def test_years_ago(self):
96+
now = datetime.now(tz=timezone.utc)
97+
past_time = now - timedelta(days=700)
98+
assert pretty_date(past_time) == "2 years ago"
99+
85100
def test_future_time(self):
86101
now = datetime.now(tz=timezone.utc)
87102
future_time = now + timedelta(hours=1)

0 commit comments

Comments
 (0)