author | rougeronj |
Thu, 22 Jan 2015 15:03:58 +0100 | |
changeset 121 | df6b39f962bc |
parent 32 | dc1c745850d8 |
child 165 | 7dfdafb88968 |
permissions | -rw-r--r-- |
0 | 1 |
|
2 |
# |
|
3 |
# See LICENCE for detail |
|
4 |
# Copyright (c) 2014 IRI |
|
5 |
# |
|
6 |
||
7 |
import copy |
|
8 |
import datetime |
|
9 |
import uuid |
|
10 |
import json |
|
11 |
||
31 | 12 |
from dateutil.tz import tzutc |
13 |
||
0 | 14 |
from models import insert_annot_async |
15 |
||
16 |
class BaseProtocol(object) : |
|
17 |
||
18 |
def _init_props(self, ws_factory, conn): |
|
19 |
self.conn = conn |
|
20 |
self.ws_factory = ws_factory |
|
21 |
||
22 |
||
23 |
""" |
|
24 |
Mixin class to add helper methods |
|
25 |
""" |
|
26 |
def process_annotation(self, params): |
|
27 |
||
31 | 28 |
ts = params.setdefault('ts', datetime.datetime.now(tzutc())) |
29 |
if ts.tzinfo is None: |
|
30 |
ts = ts.replace(tzinfo=tzutc()) |
|
32
dc1c745850d8
small correction on timezone management
ymh <ymh.work@gmail.com>
parents:
31
diff
changeset
|
31 |
params['ts'] = ts |
0 | 32 |
uuid_val = params.setdefault('uuid', uuid.uuid4()) |
33 |
||
34 |
params_broadcast = copy.copy(params) |
|
31 | 35 |
params_broadcast.update({ 'ts' : ts.isoformat() }) |
0 | 36 |
params_broadcast['uuid'] = str(params_broadcast['uuid']) |
37 |
||
38 |
#broadcast to websocket |
|
39 |
self.ws_factory.broadcast(json.dumps(params_broadcast), params_broadcast) |
|
40 |
||
41 |
#TODO treat errors |
|
42 |
return insert_annot_async(params, self.conn) |