improve timezone management
authorymh <ymh.work@gmail.com>
Thu, 16 Oct 2014 18:25:21 +0200
changeset 31 2323ee3ad20f
parent 30 c2294ac6e875
child 32 dc1c745850d8
improve timezone management
annot-server/baseserver.py
annot-server/oscserver.py
--- a/annot-server/baseserver.py	Thu Oct 16 16:23:06 2014 +0200
+++ b/annot-server/baseserver.py	Thu Oct 16 18:25:21 2014 +0200
@@ -9,6 +9,8 @@
 import uuid
 import json
 
+from dateutil.tz import tzutc
+
 from models import insert_annot_async
 
 class BaseProtocol(object) :
@@ -23,11 +25,13 @@
     """
     def process_annotation(self, params):
 
-        ts = params.setdefault('ts', datetime.datetime.utcnow())
+        ts = params.setdefault('ts', datetime.datetime.now(tzutc()))
+        if ts.tzinfo is None:
+            ts = ts.replace(tzinfo=tzutc())
         uuid_val = params.setdefault('uuid', uuid.uuid4())
 
         params_broadcast = copy.copy(params)
-        params_broadcast.update({ 'ts' : ts.isoformat()+'Z'})
+        params_broadcast.update({ 'ts' : ts.isoformat() })
         params_broadcast['uuid'] = str(params_broadcast['uuid'])
 
         #broadcast to websocket
--- a/annot-server/oscserver.py	Thu Oct 16 16:23:06 2014 +0200
+++ b/annot-server/oscserver.py	Thu Oct 16 18:25:21 2014 +0200
@@ -14,6 +14,8 @@
 
 import ntplib
 
+from dateutil.tz import tzutc
+
 from baseserver import BaseProtocol
 import utils
 
@@ -31,7 +33,7 @@
     def processPianorollAnnotation(self, message, address):
 
         values = message.getValues()
-        ts = datetime.datetime.utcfromtimestamp(ntplib.ntp_to_system_time(values[0]))
+        ts = datetime.datetime.fromtimestamp(ntplib.ntp_to_system_time(values[0]), tzutc())
 
         params = {
             'ts' : ts,