From 1248ea53129718d4e18e9cfca566e9ad4ceb4e88 Mon Sep 17 00:00:00 2001 From: Kamil Cukrowski Date: Tue, 13 Aug 2024 21:36:03 +0200 Subject: [PATCH] watch: fix naive datetime --- src/nomad_tools/entry_watch.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/nomad_tools/entry_watch.py b/src/nomad_tools/entry_watch.py index 8fe30d0..7450493 100755 --- a/src/nomad_tools/entry_watch.py +++ b/src/nomad_tools/entry_watch.py @@ -89,6 +89,8 @@ def print_all_threads_stacktrace(*_): out = "\n".join(x for x in "\n".join(text).splitlines() if x) eprint("\n\n" + out + "\n\n") +def datetime_is_naive(d: datetime.datetime) -> bool: + return d.tzinfo is None or d.tzinfo.utcoffset(d) is None ############################################################################### @@ -216,6 +218,7 @@ def __post_init__(self): assert self.what in [ e.value for e in LogWhat ], f"{self.what} value is not a valid what" + assert not datetime_is_naive(self.now), f"{self}" @property def mark(self): @@ -571,7 +574,7 @@ def log_deploy(cls, deploy: nomadlib.Deploy, message: str): return cls.__log( what=LogWhat.deploy, id=deploy.ID, - now=ns2dt(job.SubmitTime) if job else datetime.datetime.now(), + now=ns2dt(job.SubmitTime) if job else datetime.datetime.now().astimezone(), jobversion=deploy.JobVersion, message=message, ModifyIndex=deploy.ModifyIndex, @@ -740,7 +743,7 @@ def run(self): code = e.response.status_code if e.response is not None else None text = e.response.text if e.response is not None else None self.tk.log_alloc( - datetime.datetime.now(), + datetime.datetime.now().astimezone(), f"Error getting {self.__typestr()} logs: {code} {text!r}", ) finally: