From d6a1ac792cac8aef0b9b8e75ff06b201ee6335c7 Mon Sep 17 00:00:00 2001 From: Pedro Ferreira Date: Sun, 4 Feb 2018 22:17:38 +0100 Subject: [PATCH] Use proper timestamp instead of OS-dependent --- ssb/{feed.py => feed/models.py} | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) rename ssb/{feed.py => feed/models.py} (92%) diff --git a/ssb/feed.py b/ssb/feed/models.py similarity index 92% rename from ssb/feed.py rename to ssb/feed/models.py index 565e3d5..8d28432 100644 --- a/ssb/feed.py +++ b/ssb/feed/models.py @@ -1,4 +1,4 @@ -import time +import datetime from base64 import b64encode from collections import namedtuple, OrderedDict from hashlib import sha256 @@ -20,6 +20,10 @@ def to_ordered(data): return OrderedDict((k, getattr(smsg, k)) for k in smsg._fields) +def get_millis_1970(): + return int(datetime.datetime.utcnow().timestamp() * 1000) + + class Feed(object): def __init__(self, public_key): self.public_key = public_key @@ -59,7 +63,7 @@ class Message(object): else: self.sequence = sequence - self.timestamp = int(time.time() * 1000) if timestamp is None else timestamp + self.timestamp = get_millis_1970() if timestamp is None else timestamp @classmethod def parse(cls, data, feed): @@ -108,7 +112,7 @@ class LocalMessage(Message): else: self.sequence = sequence - self.timestamp = int(time.time() * 1000) if timestamp is None else timestamp + self.timestamp = get_millis_1970() if timestamp is None else timestamp if signature is None: self.signature = self._sign()