@@ -285,21 +285,21 @@ def parse_timestamp(t):
285285 # iterate over all values, select value group at specific
286286 # index v[i] and extract specific value [value]. The value
287287 # group may be undefined (None), hence filter for value v[i]
288- return [v [i ][value ] for v in self ['values' ].values () if v [i ]]
288+ return [v [i ][value ] for v in self ['values' ].values () if ( len ( v ) > i and v [i ]) ]
289289 else :
290290 # like above, but include timestamps
291- return [(parse_timestamp (k ), v [i ][value ]) for k , v in self ['values' ].items () if v [i ]]
291+ return [(parse_timestamp (k ), v [i ][value ]) for k , v in self ['values' ].items () if ( len ( v ) > i and v [i ]) ]
292292
293293 # all values
294294 else :
295295 if not timestamps :
296296 # iterate over all values, select value group at specific
297297 # index v[i] and extract both values (min, max). The value
298298 # group may be undefined (None), hence filter for value v[i]
299- return [(v [i ]['min' ], v [i ]['max' ]) for v in self ['values' ].values () if v [i ]]
299+ return [(v [i ]['min' ], v [i ]['max' ]) for v in self ['values' ].values () if ( len ( v ) > i and v [i ]) ]
300300 else :
301301 # like above, but include timestamps
302- return [(parse_timestamp (k ), v [i ]['min' ], v [i ]['max' ]) for k , v in self ['values' ].items () if v [i ]]
302+ return [(parse_timestamp (k ), v [i ]['min' ], v [i ]['max' ]) for k , v in self ['values' ].items () if ( len ( v ) > i and v [i ]) ]
303303
304304 # multiple series
305305 if isinstance (series , Sequence ):
@@ -314,13 +314,13 @@ def parse_timestamp(t):
314314 # in a None value in the tuple as well.
315315 return [
316316 # collect values of all indexes (None of not defined)
317- tuple (v [i ][value ] if v [i ] else None for i in ii )
317+ tuple (v [i ][value ] if ( len ( v ) > i and v [i ]) else None for i in ii )
318318 for v in self ['values' ].values ()
319319 ]
320320 else :
321321 # like above, but prepend with timestamps
322322 return [
323- (parse_timestamp (k ), * (v [i ][value ] if v [i ] else None for i in ii ))
323+ (parse_timestamp (k ), * (v [i ][value ] if ( len ( v ) > i and v [i ]) else None for i in ii ))
324324 for k , v in self ['values' ].items ()
325325 ]
326326
@@ -333,13 +333,13 @@ def parse_timestamp(t):
333333 # in a None value in the tuple as well.
334334 return [
335335 # collect values of all indexes (None of not defined)
336- tuple ((v [i ]['min' ], v [i ]['max' ]) if v [i ] else None for i in ii )
336+ tuple ((v [i ]['min' ], v [i ]['max' ]) if ( len ( v ) > i and v [i ]) else None for i in ii )
337337 for v in self ['values' ].values ()
338338 ]
339339 else :
340340 # like above, but prepend with timestamps
341341 return [
342- (parse_timestamp (k ), * ((v [i ]['min' ], v [i ]['max' ]) if v [i ] else None for i in ii ))
342+ (parse_timestamp (k ), * ((v [i ]['min' ], v [i ]['max' ]) if ( len ( v ) > i and v [i ]) else None for i in ii ))
343343 for k , v in self ['values' ].items ()
344344 ]
345345
0 commit comments