5
5
from __future__ import print_function
6
6
from __future__ import unicode_literals
7
7
8
- from copy import copy
9
8
from datetime import datetime
10
9
from numbers import Integral
11
10
12
11
from pytz import UTC
13
12
from dateutil .parser import parse
14
- from six import binary_type , text_type , integer_types , PY2
13
+ from six import iteritems , binary_type , text_type , integer_types , PY2
15
14
16
15
EPOCH = UTC .localize (datetime .utcfromtimestamp (0 ))
17
16
@@ -108,7 +107,7 @@ def make_lines(data, precision=None):
108
107
matching the line protocol introduced in InfluxDB 0.9.0.
109
108
"""
110
109
lines = []
111
- static_tags = data .get ('tags' , None )
110
+ static_tags = data .get ('tags' )
112
111
for point in data ['points' ]:
113
112
elements = []
114
113
@@ -119,32 +118,29 @@ def make_lines(data, precision=None):
119
118
key_values = [measurement ]
120
119
121
120
# add tags
122
- if static_tags is None :
123
- tags = point .get ('tags' , {})
121
+ if static_tags :
122
+ tags = dict (static_tags ) # make a copy, since we'll modify
123
+ tags .update (point .get ('tags' ) or {})
124
124
else :
125
- tags = copy (static_tags )
126
- tags .update (point .get ('tags' , {}))
125
+ tags = point .get ('tags' ) or {}
127
126
128
127
# tags should be sorted client-side to take load off server
129
- for tag_key in sorted (tags . keys ( )):
128
+ for tag_key , tag_value in sorted (iteritems ( tags )):
130
129
key = _escape_tag (tag_key )
131
- value = _escape_tag (tags [ tag_key ] )
130
+ value = _escape_tag (tag_value )
132
131
133
132
if key != '' and value != '' :
134
- key_values .append ("{ key}={value}" . format ( key = key , value = value ) )
133
+ key_values .append (key + "=" + value )
135
134
key_values = ',' .join (key_values )
136
135
elements .append (key_values )
137
136
138
137
# add fields
139
138
field_values = []
140
- for field_key in sorted (point ['fields' ]. keys ( )):
139
+ for field_key , field_value in sorted (iteritems ( point ['fields' ])):
141
140
key = _escape_tag (field_key )
142
- value = _escape_value (point [ 'fields' ][ field_key ] )
141
+ value = _escape_value (field_value )
143
142
if key != '' and value != '' :
144
- field_values .append ("{key}={value}" .format (
145
- key = key ,
146
- value = value
147
- ))
143
+ field_values .append (key + "=" + value )
148
144
field_values = ',' .join (field_values )
149
145
elements .append (field_values )
150
146
0 commit comments