aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/vk/utils/tracking/db/record.py
diff options
context:
space:
mode:
Diffstat (limited to 'vk/utils/tracking/db/record.py')
-rw-r--r--vk/utils/tracking/db/record.py32
1 files changed, 2 insertions, 30 deletions
diff --git a/vk/utils/tracking/db/record.py b/vk/utils/tracking/db/record.py
index fd276fc..93be97c 100644
--- a/vk/utils/tracking/db/record.py
+++ b/vk/utils/tracking/db/record.py
@@ -4,39 +4,11 @@
from collections import OrderedDict
from collections.abc import MutableMapping
-from datetime import datetime, timezone
+from datetime import datetime
+from .timestamp import Timestamp
from vk.user import LastSeen, LastSeenField, User, UserField
-class Timestamp:
- @staticmethod
- def _new():
- return datetime.utcnow()
-
- @staticmethod
- def _is_timezone_aware(dt):
- return dt.tzinfo is not None and dt.tzinfo.utcoffset(dt) is not None
-
- @staticmethod
- def _lose_timezone(dt):
- if Timestamp._is_timezone_aware(dt):
- return dt.astimezone(timezone.utc).replace(tzinfo=None)
- return dt
-
- def __init__(self, dt=None):
- if dt is None:
- dt = self._new()
- dt = dt.replace(microsecond=0)
- dt = self._lose_timezone(dt)
- self.dt = dt
-
- @staticmethod
- def from_string(s):
- return Timestamp(datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ'))
-
- def __str__(self):
- return self.dt.isoformat() + 'Z'
-
class Record(MutableMapping):
FIELDS = (
UserField.UID,