From: Zack Cerza Date: Wed, 5 Mar 2025 00:03:39 +0000 (-0700) Subject: util.time.parse_timestamp(): Add alt. format X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a47952147ca478f33a7acc36b6a573d2c800fa77;p=teuthology.git util.time.parse_timestamp(): Add alt. format Paddles uses this format. Signed-off-by: Zack Cerza --- diff --git a/teuthology/util/time.py b/teuthology/util/time.py index 8e0525fcc..eb7469602 100644 --- a/teuthology/util/time.py +++ b/teuthology/util/time.py @@ -4,18 +4,23 @@ from datetime import datetime, timedelta, timezone # When we're not using ISO format, we're using this TIMESTAMP_FMT = "%Y-%m-%d_%H:%M:%S" +# Or this, in the case of paddles timestamps +TIMESTAMP_FMT_ALT = "%Y-%m-%d %H:%M:%S.%f" def parse_timestamp(timestamp: str) -> datetime: """ - timestamp: A string either in ISO 8601 format or TIMESTAMP_FMT. - If no timezone is specified, UTC is assumed. + timestamp: A string either in ISO 8601 format, TIMESTAMP_FMT or + TIMESTAMP_FMT_ALT. If no timezone is specified, UTC is assumed. :returns: a datetime object """ try: dt = datetime.fromisoformat(timestamp) except ValueError: - dt = datetime.strptime(timestamp, TIMESTAMP_FMT) + try: + dt = datetime.strptime(timestamp, TIMESTAMP_FMT) + except ValueError: + dt = datetime.strptime(timestamp, TIMESTAMP_FMT_ALT) if dt.tzinfo is None: dt = dt.replace(tzinfo=timezone.utc) return dt