in tbapi/__init__.py [0:0]
def stream_to_dict(db, stream, fields=None, ts_from=0, ts_to=JAVA_LONG_MAX_VALUE):
if ts_to > JAVA_LONG_MAX_VALUE:
ts_to = JAVA_LONG_MAX_VALUE
if not db.isOpen():
raise Exception('Database is not opened.')
options = SelectionOptions()
options.to = ts_to
messages = []
table = defaultdict(list)
with open_TickCursor(stream, ts_from, options) as cursor:
counter = 0
while cursor.next():
message = vars(cursor.getMessage())
messages.append(message)
if fields is None:
def to_write(x):
return True
else:
def to_write(x):
return x in fields
for key in table.keys():
if key in message:
table[key].append(message[key])
del message[key]
else:
table[key].append(None)
for key in message:
if to_write(key):
table[key] = [None] * counter
table[key].append(message[key])
counter += 1
return table