From 4f8676f10e25189620612c9318c2e461c05c2eb5 Mon Sep 17 00:00:00 2001 From: Lauri Himanen <lauri.himanen@aalto.fi> Date: Wed, 13 Jul 2016 10:07:01 +0300 Subject: [PATCH] Removed the use of the datetime.timestamp() function since python2 doesn't support it. --- .../cpmdparser/versions/cpmd41/mainparser.py | 16 ++++++++++++---- test/unittests/cpmd_4.1/run_tests.py | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/parser/parser-cpmd/cpmdparser/versions/cpmd41/mainparser.py b/parser/parser-cpmd/cpmdparser/versions/cpmd41/mainparser.py index dbc4e36..3e24715 100644 --- a/parser/parser-cpmd/cpmdparser/versions/cpmd41/mainparser.py +++ b/parser/parser-cpmd/cpmdparser/versions/cpmd41/mainparser.py @@ -7,6 +7,8 @@ from .commonparser import CPMDCommonParser from .inputparser import CPMDInputParser import re import logging +import time +import pytz import datetime import numpy as np logger = logging.getLogger("nomad") @@ -306,13 +308,19 @@ class CPMDMainParser(MainHierarchicalParser): #======================================================================= # misc. functions def timestamp_from_string(self, timestring): + """Returns the seconds since epoch for the given date and the wall + clock seconds for the given wall clock time. Assumes UTC timezone. + """ timestring = timestring.strip() - date, time = timestring.split() + date, clock_time = timestring.split() year, month, day = [int(x) for x in date.split("-")] - hour, minute, second, msec = [float(x) for x in re.split("[:.]", time)] - date_stamp = datetime.datetime(year, month, day).timestamp() + hour, minute, second, msec = [float(x) for x in re.split("[:.]", clock_time)] + + date_obj = datetime.datetime(year, month, day, tzinfo=pytz.utc) + date_timestamp = (date_obj - datetime.datetime(1970, 1, 1, tzinfo=pytz.utc)).total_seconds() + wall_time = hour*3600+minute*60+second+0.001*msec - return date_stamp, wall_time + return date_timestamp, wall_time def vector_from_string(self, vectorstr): """Returns a numpy array from a string comprising of floating diff --git a/test/unittests/cpmd_4.1/run_tests.py b/test/unittests/cpmd_4.1/run_tests.py index 70182d7..a460ec9 100644 --- a/test/unittests/cpmd_4.1/run_tests.py +++ b/test/unittests/cpmd_4.1/run_tests.py @@ -113,7 +113,7 @@ class TestSinglePoint(unittest.TestCase): def test_time_run_date_start(self): result = self.results["time_run_date_start"] - self.assertEqual(result, 1467579600.0) + self.assertEqual(result, 1467590400.0) def test_time_run_wall_start(self): result = self.results["time_run_wall_start"] -- GitLab