From 97709ae84ec07aef803ae0a8de2560abdcabaaff Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Sun, 7 Jun 2020 18:13:29 +0100 Subject: [PATCH] python: create timestamps using datetime.utcnow() --- python/villas/node/sample.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/python/villas/node/sample.py b/python/villas/node/sample.py index 8a37e09ac..77bff9665 100644 --- a/python/villas/node/sample.py +++ b/python/villas/node/sample.py @@ -1,14 +1,24 @@ import re +from datetime import datetime class Timestamp: """Parsing the VILLASnode human-readable timestamp format""" - def __init__(self, seconds = 0, nanoseconds = None, offset = None, sequence = None): + def __init__(self, seconds=None, nanoseconds=None, offset=None, sequence=None): self.seconds = seconds self.nanoseconds = nanoseconds self.offset = offset self.sequence = sequence + @classmethod + def now(self, offset=None, sequence=None): + n = datetime.utcnow() + + secs = int(n.timestamp()) + nsecs = 1000 * n.microsecond + + return Timestamp(seconds=secs, nanoseconds=nsecs, offset=offset, sequence=sequence) + @classmethod def parse(self, ts): m = re.match('(\d+)(?:\.(\d+))?([-+]\d+(?:\.\d+)?(?:e[+-]?\d+)?)?(?:\((\d+)\))?', ts)