launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #22498
[Merge] lp:~cjwatson/python-timeline/division into lp:python-timeline
Colin Watson has proposed merging lp:~cjwatson/python-timeline/division into lp:python-timeline.
Commit message:
Use floor division for consistent output between Python 2 and 3.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~cjwatson/python-timeline/division/+merge/345341
I noticed this while attempting to port oops-timeline.
--
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~cjwatson/python-timeline/division into lp:python-timeline.
=== modified file 'NEWS'
--- NEWS 2018-05-10 08:22:00 +0000
+++ NEWS 2018-05-10 08:44:57 +0000
@@ -3,6 +3,13 @@
Changes and improvements to timeline, grouped by release.
+NEXT
+----
+
+* Use floor division so that intervals are always represented as integer
+ numbers of milliseconds, preserving output compatibility between Python 2
+ and 3. (Colin Watson)
+
0.0.5
-----
=== 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 @@
log_tuple = action.logTuple()
self.assertEqual(5, len(log_tuple), "!= 5 elements %s" % (log_tuple,))
# The first element is the start offset in ms.
- self.assertAlmostEqual(2, log_tuple[0])
+ self.assertIsInstance(log_tuple[0], int)
+ self.assertEqual(2, log_tuple[0])
# The second element is the end offset in ms.
- self.assertAlmostEqual(6, log_tuple[1])
+ self.assertIsInstance(log_tuple[1], int)
+ self.assertEqual(6, log_tuple[1])
self.assertEqual("foo", log_tuple[2])
self.assertEqual("bar", log_tuple[3])
# The fifth element defaults to None:
@@ -74,8 +76,10 @@
action._interval_to_now = lambda: datetime.timedelta(0, 0, 0, 3)
log_tuple = action.logTuple()
self.assertEqual(5, len(log_tuple), "!= 5 elements %s" % (log_tuple,))
- self.assertAlmostEqual(2, log_tuple[0])
- self.assertAlmostEqual(5, log_tuple[1])
+ self.assertIsInstance(log_tuple[0], int)
+ self.assertEqual(2, log_tuple[0])
+ self.assertIsInstance(log_tuple[1], int)
+ self.assertEqual(5, log_tuple[1])
self.assertEqual("foo", log_tuple[2])
self.assertEqual("bar", log_tuple[3])
=== 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 @@
"""Time a single categorised action."""
-from __future__ import absolute_import, print_function
+from __future__ import absolute_import, division, print_function
__all__ = ['TimedAction']
@@ -89,7 +89,7 @@
def _td_to_ms(self, td):
"""Tweak on a backport from python 2.7"""
return (td.microseconds + (
- td.seconds + td.days * 24 * 3600) * 10**6) / 10**3
+ td.seconds + td.days * 24 * 3600) * 10**6) // 10**3
def finish(self):
"""Mark the TimedAction as finished."""