diff options
author | Gerhard Weis <gweis@gmx.at> | 2010-10-29 11:32:56 +1000 |
---|---|---|
committer | Gerhard Weis <gweis@gmx.at> | 2010-10-29 11:32:56 +1000 |
commit | bc1f74552d33a3548242503bf1d40eee5b3902df (patch) | |
tree | 8d50e2571e24358ec4e5db958581ca1b3b4cf65c | |
parent | fc0e0bf09d99113a8f8b9327b3a0cb6586e2a622 (diff) | |
download | isodate-bc1f74552d33a3548242503bf1d40eee5b3902df.tar.gz |
* Fixed problem with %P formating and fractions
-rw-r--r-- | CHANGES.txt | 5 | ||||
-rw-r--r-- | setup.py | 2 | ||||
-rw-r--r-- | src/isodate/isostrf.py | 5 | ||||
-rw-r--r-- | src/tests/test_duration.py | 5 |
4 files changed, 13 insertions, 4 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index 152710f..15f20e2 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,11 @@ CHANGES ======= +0.4.3 (2010-10-29) +------------------ + +- Fixed problem with %P formating and fractions (supplied by David Brooks) + 0.4.2 (2010-10-28) ------------------ @@ -36,7 +36,7 @@ def read(*rnames): setup(name = 'isodate', - version = '0.4.2', + version = '0.4.3', packages = find_packages('src', exclude=["tests"]), package_dir={'': 'src'}, diff --git a/src/isodate/isostrf.py b/src/isodate/isostrf.py index e39d7ec..6ab534b 100644 --- a/src/isodate/isostrf.py +++ b/src/isodate/isostrf.py @@ -151,7 +151,10 @@ def _strfduration(tdt, format, yeardigits=4): if minutes: ret.append('%sM' % minutes) if seconds or usecs: - ret.append(("%d.%06d" % (seconds, usecs)).rstrip('.0')) + if usecs: + ret.append(("%d.%06d" % (seconds, usecs)).rstrip('0')) + else: + ret.append("%d" % seconds) ret.append('S') # at least one component has to be there. return ret and ''.join(ret) or '0D' diff --git a/src/tests/test_duration.py b/src/tests/test_duration.py index 4eba608..bcc98eb 100644 --- a/src/tests/test_duration.py +++ b/src/tests/test_duration.py @@ -272,8 +272,8 @@ class DurationTest(unittest.TestCase): Test various other strftime combinations. ''' self.assertEqual(duration_isoformat(Duration(0)), 'P0D') - self.assertEqual(duration_isoformat(Duration(0)), 'P0D') - self.assertEqual(duration_isoformat(Duration(0)), 'P0D') + self.assertEqual(duration_isoformat(-Duration(0)), 'P0D') + self.assertEqual(duration_isoformat(Duration(seconds=10)), 'PT10S') self.assertEqual(duration_isoformat(Duration(years=-1, months=-1)), '-P1Y1M') self.assertEqual(duration_isoformat(-Duration(years=1, months=1)), @@ -287,6 +287,7 @@ class DurationTest(unittest.TestCase): self.assertEqual(duration_isoformat(dur), 'P3Y7M23DT5H25M0.33S') self.assertEqual(duration_isoformat(-dur), '-P3Y7M23DT5H25M0.33S') + def test_equal(self): ''' Test __eq__ and __ne__ methods. |