annot-server/baseserver.py
changeset 31 2323ee3ad20f
parent 0 e1d4d7a8255a
child 32 dc1c745850d8
equal deleted inserted replaced
30:c2294ac6e875 31:2323ee3ad20f
     6 
     6 
     7 import copy
     7 import copy
     8 import datetime
     8 import datetime
     9 import uuid
     9 import uuid
    10 import json
    10 import json
       
    11 
       
    12 from dateutil.tz import tzutc
    11 
    13 
    12 from models import insert_annot_async
    14 from models import insert_annot_async
    13 
    15 
    14 class BaseProtocol(object) :
    16 class BaseProtocol(object) :
    15 
    17 
    21     """
    23     """
    22     Mixin class to add helper methods
    24     Mixin class to add helper methods
    23     """
    25     """
    24     def process_annotation(self, params):
    26     def process_annotation(self, params):
    25 
    27 
    26         ts = params.setdefault('ts', datetime.datetime.utcnow())
    28         ts = params.setdefault('ts', datetime.datetime.now(tzutc()))
       
    29         if ts.tzinfo is None:
       
    30             ts = ts.replace(tzinfo=tzutc())
    27         uuid_val = params.setdefault('uuid', uuid.uuid4())
    31         uuid_val = params.setdefault('uuid', uuid.uuid4())
    28 
    32 
    29         params_broadcast = copy.copy(params)
    33         params_broadcast = copy.copy(params)
    30         params_broadcast.update({ 'ts' : ts.isoformat()+'Z'})
    34         params_broadcast.update({ 'ts' : ts.isoformat() })
    31         params_broadcast['uuid'] = str(params_broadcast['uuid'])
    35         params_broadcast['uuid'] = str(params_broadcast['uuid'])
    32 
    36 
    33         #broadcast to websocket
    37         #broadcast to websocket
    34         self.ws_factory.broadcast(json.dumps(params_broadcast), params_broadcast)
    38         self.ws_factory.broadcast(json.dumps(params_broadcast), params_broadcast)
    35 
    39