From d748c93a11a23b22d9e310db3c58c2bfb18b38fb Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Mon, 19 May 2014 16:56:58 +0200 Subject: [PATCH] review uses of strftime to use a common central date format sfatime.SFATIME_FORMAT --- sfa/cortexlab/cortexlabshell.py | 4 ++-- sfa/iotlab/iotlabshell.py | 3 ++- sfa/managers/aggregate_manager_max.py | 3 ++- sfa/rspecs/rspec.py | 7 +++---- sfa/util/sfatime.py | 4 ++-- testbeds/iotlab/tests/driver_tests.py | 7 +++---- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/sfa/cortexlab/cortexlabshell.py b/sfa/cortexlab/cortexlabshell.py index 1321484a..b0739b14 100644 --- a/sfa/cortexlab/cortexlabshell.py +++ b/sfa/cortexlab/cortexlabshell.py @@ -7,7 +7,7 @@ holding information about which slice is running which job. from datetime import datetime from sfa.util.sfalogging import logger - +from sfa.util.sfatime import SFATIME_FORMAT from sfa.iotlab.iotlabpostgres import LeaseTableXP from sfa.cortexlab.LDAPapi import LDAPapi @@ -34,7 +34,7 @@ class CortexlabShell(): self.query_sites = CortexlabQueryNodes() self.ldap = LDAPapi() - self.time_format = "%Y-%m-%d %H:%M:%S" + self.time_format = SFATIME_FORMAT self.root_auth = config.SFA_REGISTRY_ROOT_AUTH self.grain = 60 # 10 mins lease minimum, 60 sec granularity #import logging, logging.handlers diff --git a/sfa/iotlab/iotlabshell.py b/sfa/iotlab/iotlabshell.py index ba62ca91..896e4d66 100644 --- a/sfa/iotlab/iotlabshell.py +++ b/sfa/iotlab/iotlabshell.py @@ -7,6 +7,7 @@ holding information about which slice is running which job. from datetime import datetime from sfa.util.sfalogging import logger +from sfa.util.sfatime import SFATIME_FORMAT from sfa.iotlab.OARrestapi import OARrestapi from sfa.iotlab.LDAPapi import LDAPapi @@ -30,7 +31,7 @@ class IotlabShell(): # self.leases_db = TestbedAdditionalSfaDB(config) self.oar = OARrestapi() self.ldap = LDAPapi() - self.time_format = "%Y-%m-%d %H:%M:%S" + self.time_format = SFATIME_FORMAT self.root_auth = config.SFA_REGISTRY_ROOT_AUTH self.grain = 60 # 10 mins lease minimum, 60 sec granularity #import logging, logging.handlers diff --git a/sfa/managers/aggregate_manager_max.py b/sfa/managers/aggregate_manager_max.py index 64fd0ecf..88df708f 100644 --- a/sfa/managers/aggregate_manager_max.py +++ b/sfa/managers/aggregate_manager_max.py @@ -4,6 +4,7 @@ import re #from sfa.util.faults import * from sfa.util.sfalogging import logger +from sfa.util.sfatime import SFATIME_FORMAT from sfa.util.config import Config from sfa.util.callids import Callids from sfa.util.version import version_core @@ -56,7 +57,7 @@ class AggregateManagerMax (AggregateManager): # save request RSpec xml content to a tmp file def save_rspec_to_file(self, rspec): path = AggregateManagerMax.RSPEC_TMP_FILE_PREFIX + "_" + \ - time.strftime('%Y%m%dT%H:%M:%S', time.gmtime(time.time())) +".xml" + time.strftime(SFATIME_FORMAT, time.gmtime(time.time())) +".xml" file = open(path, "w") file.write(rspec) file.close() diff --git a/sfa/rspecs/rspec.py b/sfa/rspecs/rspec.py index a17b7d67..8a66ff35 100755 --- a/sfa/rspecs/rspec.py +++ b/sfa/rspecs/rspec.py @@ -3,6 +3,7 @@ from datetime import datetime, timedelta from sfa.util.xml import XML, XpathFilter from sfa.util.faults import InvalidRSpecElement, InvalidRSpec +from sfa.util.sfatime import SFATIME_FORMAT from sfa.rspecs.rspec_elements import RSpecElement, RSpecElements from sfa.rspecs.version_manager import VersionManager @@ -35,11 +36,9 @@ class RSpec: self.version = self.version_manager.get_version(version) self.namespaces = self.version.namespaces self.parse_xml(self.version.template, self.version) - # eg. 2011-03-23T19:53:28Z - date_format = '%Y-%m-%dT%H:%M:%SZ' now = datetime.utcnow() - generated_ts = now.strftime(date_format) - expires_ts = (now + timedelta(hours=1)).strftime(date_format) + generated_ts = now.strftime(SFATIME_FORMAT) + expires_ts = (now + timedelta(hours=1)).strftime(SFATIME_FORMAT) self.xml.set('expires', expires_ts) self.xml.set('generated', generated_ts) diff --git a/sfa/util/sfatime.py b/sfa/util/sfatime.py index 992785e1..d14f44b0 100644 --- a/sfa/util/sfatime.py +++ b/sfa/util/sfatime.py @@ -27,7 +27,7 @@ import time from sfa.util.sfalogging import logger -DATEFORMAT = "%Y-%m-%dT%H:%M:%SZ" +SFATIME_FORMAT = "%Y-%m-%dT%H:%M:%SZ" def utcparse(input): """ Translate a string into a time using dateutil.parser.parse but make sure it's in UTC time and strip @@ -57,7 +57,7 @@ For safety this can also handle inputs that are either timestamps, or datetimes logger.error("Unexpected type in utcparse [%s]"%type(input)) def datetime_to_string(input): - return datetime.datetime.strftime(input, DATEFORMAT) + return datetime.datetime.strftime(input, SFATIME_FORMAT) def datetime_to_utc(input): return time.gmtime(datetime_to_epoch(input)) diff --git a/testbeds/iotlab/tests/driver_tests.py b/testbeds/iotlab/tests/driver_tests.py index 77b813b0..0a473e21 100644 --- a/testbeds/iotlab/tests/driver_tests.py +++ b/testbeds/iotlab/tests/driver_tests.py @@ -14,6 +14,7 @@ from sfa.util.sfalogging import logger #OAR imports from datetime import datetime +from sfa.util.sfatime import SFATIME_FORMAT from sfa.iotlab.OARrestapi import OARrestapi #Test iotlabdriver @@ -240,11 +241,9 @@ def TestOAR(job_id = None): message_and_wait("\r\n Get server's date and timezone") - time_format = "%Y-%m-%d %H:%M:%S" server_timestamp, server_tz = oar.parser.SendRequest("GET_timezone") print "\r\n OAR GetTimezone ", server_timestamp, server_tz - print(datetime.fromtimestamp(int(server_timestamp)).strftime( - time_format)) + print(datetime.fromtimestamp(int(server_timestamp)).strftime(SFATIME_FORMAT)) message_and_wait("\r\n Get all the resources with details from OAR") uri = '/oarapi/resources/full.json' @@ -380,4 +379,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main() -- 2.43.0