Revision: 679fe006ff65
Author: Mikko Korpela <[email protected]>
Date: Tue Nov 22 12:27:39 2011
Log: Fix daylight saving time handling.
robottime.py#_timestamp_to_millis use datetime to handle dst correctly --
it will automatically identify if dst was in use at the given time when
assuming that the time is in local time
http://code.google.com/p/robotframework/source/detail?r=679fe006ff65
Modified:
/src/robot/utils/robottime.py
/utest/reporting/test_js_serializer.py
=======================================
--- /src/robot/utils/robottime.py Sat Jun 18 14:28:07 2011
+++ /src/robot/utils/robottime.py Tue Nov 22 12:27:39 2011
@@ -13,6 +13,7 @@
# limitations under the License.
import time
+import datetime
from normalizing import normalize
from misc import plural_or_not
@@ -334,7 +335,7 @@
def _timestamp_to_millis(timestamp, seps):
Y, M, D, h, m, s, millis = _split_timestamp(timestamp, seps)
- secs = time.mktime((Y, M, D, h, m, s, 0, 0, time.daylight))
+ secs = time.mktime(datetime.datetime(Y, M, D, h, m, s).timetuple())
return int(round(1000*secs + millis))
def _split_timestamp(timestamp, seps):
=======================================
--- /utest/reporting/test_js_serializer.py Wed Nov 9 09:21:04 2011
+++ /utest/reporting/test_js_serializer.py Tue Nov 22 12:27:39 2011
@@ -4,6 +4,7 @@
import os
import unittest
+import datetime
from robot.output.xmllogger import XmlLogger
from robot.reporting.outputparser import OutputParser,
CombiningOutputParser
@@ -310,7 +311,7 @@
def test_generated_millis(self):
self._context.timestamp('19790101 12:00:00.000')
data_model = self._get_data_model(self.SUITE_XML)
- basetime = 284040000 + time.altzone
+ basetime = time.mktime(datetime.datetime(1979,1,1,12).timetuple())
data_model._set_generated(time.localtime(basetime))
assert_equals(data_model._robot_data['baseMillis'], basetime*1000)
assert_equals(data_model._robot_data['generatedMillis'], 0)