From b59d59b124575c16c625c7435bbe72f91022412f Mon Sep 17 00:00:00 2001 From: Chris Lumens Date: Thu, 2 Aug 2018 15:16:01 -0400 Subject: [PATCH] Add a new timestamp.py file to the API directory (#409). This is responsible for writing out a new times.toml file, containing important timestamps in the life of a compose. This seems a little more reliable than attempting to infer things from the filesystem, especially in light of the fact that we can't ever really know when a file was created. --- src/pylorax/api/timestamp.py | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/pylorax/api/timestamp.py diff --git a/src/pylorax/api/timestamp.py b/src/pylorax/api/timestamp.py new file mode 100644 index 00000000..a0e3994d --- /dev/null +++ b/src/pylorax/api/timestamp.py @@ -0,0 +1,47 @@ +# +# Copyright (C) 2018 Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +import pytoml as toml +import time + +from pylorax.sysutils import joinpaths + +def write_timestamp(destdir, ty): + path = joinpaths(destdir, "times.toml") + + try: + contents = toml.loads(open(path, "r").read()) + except IOError: + contents = toml.loads("") + + if ty == "created": + contents["created"] = time.time() + elif ty == "started": + contents["started"] = time.time() + elif ty == "finished": + contents["finished"] = time.time() + + with open(path, "w") as f: + f.write(toml.dumps(contents).encode("UTF-8")) + +def timestamp_dict(destdir): + path = joinpaths(destdir, "times.toml") + + try: + return toml.loads(open(path, "r").read()) + except IOError: + return toml.loads("")