# HG changeset patch # User ymh # Date 1413476721 -7200 # Node ID 2323ee3ad20f6cf77ea285896f807268d7448f3f # Parent c2294ac6e875418da1362ae48cb0cea4155ac61a improve timezone management diff -r c2294ac6e875 -r 2323ee3ad20f annot-server/baseserver.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 diff -r c2294ac6e875 -r 2323ee3ad20f annot-server/oscserver.py --- 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,