From 76aead490da1fc6286ce9db429570b34f5be7c4c Mon Sep 17 00:00:00 2001 From: Ziang Song Date: Thu, 3 Dec 2015 16:40:44 -0500 Subject: https://github.com/gweis/isodate/issues/33 --- src/isodate/duration.py | 5 ++++- src/isodate/tests/test_duration.py | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/isodate/duration.py b/src/isodate/duration.py index 5408315..7eeffad 100644 --- a/src/isodate/duration.py +++ b/src/isodate/duration.py @@ -121,7 +121,10 @@ class Duration(object): if self.years: params.append('%d years' % self.years) if self.months: - params.append('%d months' % self.months) + fmt = "%d months" + if self.months <= 1: + fmt = "%d month" + params.append(fmt % self.months) params.append(str(self.tdelta)) return ', '.join(params) diff --git a/src/isodate/tests/test_duration.py b/src/isodate/tests/test_duration.py index 0b80a54..5bb8acb 100644 --- a/src/isodate/tests/test_duration.py +++ b/src/isodate/tests/test_duration.py @@ -314,6 +314,13 @@ class DurationTest(unittest.TestCase): self.assertEqual('isodate.duration.Duration(10, 10, 0,' ' years=10, months=10)', repr(dur)) + dur = Duration(months=0) + self.assertEqual('0:00:00', str(dur)) + + dur = Duration(months=1) + self.assertEqual('1 month, 0:00:00', str(dur)) + + def test_hash(self): ''' Test __hash__ for Duration objects. -- cgit v1.2.1 From db82f87fcca4ff08de4aecfe31f06a1ae4e2170b Mon Sep 17 00:00:00 2001 From: Ziang Song Date: Thu, 3 Dec 2015 16:45:31 -0500 Subject: Removed the unnecessory lines. --- src/isodate/tests/test_duration.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/isodate/tests/test_duration.py b/src/isodate/tests/test_duration.py index 5bb8acb..d34902b 100644 --- a/src/isodate/tests/test_duration.py +++ b/src/isodate/tests/test_duration.py @@ -313,14 +313,11 @@ class DurationTest(unittest.TestCase): self.assertEqual('10 years, 10 months, 10 days, 0:00:10', str(dur)) self.assertEqual('isodate.duration.Duration(10, 10, 0,' ' years=10, months=10)', repr(dur)) - dur = Duration(months=0) self.assertEqual('0:00:00', str(dur)) - dur = Duration(months=1) self.assertEqual('1 month, 0:00:00', str(dur)) - def test_hash(self): ''' Test __hash__ for Duration objects. -- cgit v1.2.1 From 91f15b25b72085866482a61f39d6d1a3e8569691 Mon Sep 17 00:00:00 2001 From: Ziang Song Date: Thu, 3 Dec 2015 16:53:44 -0500 Subject: Removed the trailing space. --- src/isodate/duration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/isodate/duration.py b/src/isodate/duration.py index 7eeffad..a215aa0 100644 --- a/src/isodate/duration.py +++ b/src/isodate/duration.py @@ -122,7 +122,7 @@ class Duration(object): params.append('%d years' % self.years) if self.months: fmt = "%d months" - if self.months <= 1: + if self.months <= 1: fmt = "%d month" params.append(fmt % self.months) params.append(str(self.tdelta)) -- cgit v1.2.1