Merge lp:~cjwatson/python-timeline/division into lp:python-timeline

Proposed by Colin Watson
Status: Merged
Merged at revision: 15
Proposed branch: lp:~cjwatson/python-timeline/division
Merge into: lp:python-timeline
Diff against target: 70 lines (+17/-6)
3 files modified
NEWS (+7/-0)
timeline/tests/test_timedaction.py (+8/-4)
timeline/timedaction.py (+2/-2)
To merge this branch: bzr merge lp:~cjwatson/python-timeline/division
Reviewer Review Type Date Requested Status
William Grant code Approve
Review via email: mp+345341@code.launchpad.net

Commit message

Use floor division for consistent output between Python 2 and 3.

Description of the change

I noticed this while attempting to port oops-timeline.

To post a comment you must log in.
Revision history for this message
William Grant (wgrant) :
review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'NEWS'
--- NEWS 2018-05-10 08:22:00 +0000
+++ NEWS 2018-05-10 08:44:57 +0000
@@ -3,6 +3,13 @@
33
4Changes and improvements to timeline, grouped by release.4Changes and improvements to timeline, grouped by release.
55
6NEXT
7----
8
9* Use floor division so that intervals are always represented as integer
10 numbers of milliseconds, preserving output compatibility between Python 2
11 and 3. (Colin Watson)
12
60.0.5130.0.5
7-----14-----
815
916
=== modified file 'timeline/tests/test_timedaction.py'
--- timeline/tests/test_timedaction.py 2018-03-12 12:47:17 +0000
+++ timeline/tests/test_timedaction.py 2018-05-10 08:44:57 +0000
@@ -55,9 +55,11 @@
55 log_tuple = action.logTuple()55 log_tuple = action.logTuple()
56 self.assertEqual(5, len(log_tuple), "!= 5 elements %s" % (log_tuple,))56 self.assertEqual(5, len(log_tuple), "!= 5 elements %s" % (log_tuple,))
57 # The first element is the start offset in ms.57 # The first element is the start offset in ms.
58 self.assertAlmostEqual(2, log_tuple[0])58 self.assertIsInstance(log_tuple[0], int)
59 self.assertEqual(2, log_tuple[0])
59 # The second element is the end offset in ms.60 # The second element is the end offset in ms.
60 self.assertAlmostEqual(6, log_tuple[1])61 self.assertIsInstance(log_tuple[1], int)
62 self.assertEqual(6, log_tuple[1])
61 self.assertEqual("foo", log_tuple[2])63 self.assertEqual("foo", log_tuple[2])
62 self.assertEqual("bar", log_tuple[3])64 self.assertEqual("bar", log_tuple[3])
63 # The fifth element defaults to None:65 # The fifth element defaults to None:
@@ -74,8 +76,10 @@
74 action._interval_to_now = lambda: datetime.timedelta(0, 0, 0, 3)76 action._interval_to_now = lambda: datetime.timedelta(0, 0, 0, 3)
75 log_tuple = action.logTuple()77 log_tuple = action.logTuple()
76 self.assertEqual(5, len(log_tuple), "!= 5 elements %s" % (log_tuple,))78 self.assertEqual(5, len(log_tuple), "!= 5 elements %s" % (log_tuple,))
77 self.assertAlmostEqual(2, log_tuple[0])79 self.assertIsInstance(log_tuple[0], int)
78 self.assertAlmostEqual(5, log_tuple[1])80 self.assertEqual(2, log_tuple[0])
81 self.assertIsInstance(log_tuple[1], int)
82 self.assertEqual(5, log_tuple[1])
79 self.assertEqual("foo", log_tuple[2])83 self.assertEqual("foo", log_tuple[2])
80 self.assertEqual("bar", log_tuple[3])84 self.assertEqual("bar", log_tuple[3])
8185
8286
=== modified file 'timeline/timedaction.py'
--- timeline/timedaction.py 2018-03-12 12:47:17 +0000
+++ timeline/timedaction.py 2018-05-10 08:44:57 +0000
@@ -15,7 +15,7 @@
15"""Time a single categorised action."""15"""Time a single categorised action."""
1616
1717
18from __future__ import absolute_import, print_function18from __future__ import absolute_import, division, print_function
1919
20__all__ = ['TimedAction']20__all__ = ['TimedAction']
2121
@@ -89,7 +89,7 @@
89 def _td_to_ms(self, td):89 def _td_to_ms(self, td):
90 """Tweak on a backport from python 2.7"""90 """Tweak on a backport from python 2.7"""
91 return (td.microseconds + (91 return (td.microseconds + (
92 td.seconds + td.days * 24 * 3600) * 10**6) / 10**392 td.seconds + td.days * 24 * 3600) * 10**6) // 10**3
9393
94 def finish(self):94 def finish(self):
95 """Mark the TimedAction as finished."""95 """Mark the TimedAction as finished."""

Subscribers

People subscribed via source and target branches

to all changes: