in datahub/models/results.py [0:0]
def parse_content(cls, content, **kwargs):
crc, compute_crc, pb_str = unwrap_pb_frame(content)
if crc != compute_crc:
raise DatahubException('Parse pb response body fail, error: crc check error. crc: %s, compute crc: %s'
% (crc, compute_crc))
project_name = kwargs['project_name']
topic_name = kwargs['topic_name']
init_schema = kwargs['init_schema']
schema_register = kwargs['schema_register']
pb_get_record_response = GetBinaryRecordsResponse()
pb_get_record_response.ParseFromString(pb_str)
next_cursor = pb_get_record_response.next_cursor
record_count = 0
start_sequence = pb_get_record_response.start_sequence
total_records_list = []
schema_object = SchemaObject(project_name, topic_name, schema_register)
for i in range(pb_get_record_response.record_count):
pb_record = pb_get_record_response.records[i]
byte_data = pb_record.data
records_list = BatchSerializer.deserialize(init_schema, schema_object, byte_data)
index, records_len = 0, len(records_list)
for record in records_list:
record.system_time = pb_record.system_time
record.sequence = pb_record.sequence
record.batch_size = records_len
record.batch_index = index
index += 1
total_records_list += records_list
record_count += records_len
return cls(next_cursor, record_count, start_sequence, total_records_list)