From 95e45ab0730b05cd9745246aa3915ed975436a5e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 17 Dec 2023 13:05:11 +0100 Subject: [PATCH] avoid inconsistencies --- python/damask/_result.py | 11 ++++------- python/damask/util.py | 6 ++++-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 24061ff28..4167dbdea 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -2,7 +2,6 @@ import re import fnmatch import os import copy -import datetime import xml.etree.ElementTree as ET # noqa import xml.dom.minidom import functools @@ -1471,9 +1470,8 @@ class Result: path = '/'.join(['/',increment[0],ty[0],x,field[0]]) h5_dataset = f[path].create_dataset(r['label'],data=result1) - now = datetime.datetime.now().astimezone() - h5_dataset.attrs['created'] = now.strftime('%Y-%m-%d %H:%M:%S%z') if h5py3 else \ - now.strftime('%Y-%m-%d %H:%M:%S%z').encode() + h5_dataset.attrs['created'] = util.time_stamp() if h5py3 else \ + util.time_stamp().encode() for l,v in r['meta'].items(): h5_dataset.attrs[l.lower()]=v.encode() if not h5py3 and type(v) is str else v @@ -1558,9 +1556,8 @@ class Result: compression_opts = 6 if compress else None, shuffle=True,fletcher32=True) - now = datetime.datetime.now().astimezone() - dataset.attrs['created'] = now.strftime('%Y-%m-%d %H:%M:%S%z') if h5py3 else \ - now.strftime('%Y-%m-%d %H:%M:%S%z').encode() + dataset.attrs['created'] = util.time_stamp() if h5py3 else \ + util.time_stamp().encode() for l,v in result['meta'].items(): dataset.attrs[l.lower()]=v.encode() if not h5py3 and type(v) is str else v diff --git a/python/damask/util.py b/python/damask/util.py index eda668564..599eebf55 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -214,13 +214,15 @@ def open_text(fname: _FileHandle, return fname if not isinstance(fname, (str,_Path)) else \ open(_Path(fname).expanduser(),mode,newline=('\n' if mode == 'w' else None)) +def time_stamp() -> str: + """Timestamp the execution of a (function within a) class.""" + return _datetime.datetime.now().astimezone().strftime('%Y-%m-%d %H:%M:%S%z') def execution_stamp(class_name: str, function_name: _Optional[str] = None) -> str: """Timestamp the execution of a (function within a) class.""" - now = _datetime.datetime.now().astimezone().strftime('%Y-%m-%d %H:%M:%S%z') _function_name = '' if function_name is None else f'.{function_name}' - return f'damask.{class_name}{_function_name} v{_version} ({now})' + return f'damask.{class_name}{_function_name} v{_version} ({time_stamp()})' def natural_sort(key: str) -> _List[_Union[int, str]]: