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))
pb_get_record_response = GetRecordsResponse()
pb_get_record_response.ParseFromString(pb_str)
next_cursor = pb_get_record_response.next_cursor
record_count = pb_get_record_response.record_count
start_sequence = pb_get_record_response.start_sequence
records = []
for pb_record in pb_get_record_response.records:
record_schema = kwargs['record_schema']
if record_schema:
values = [bp_field_data.value for bp_field_data in pb_record.data.data]
record = TupleRecord(schema=record_schema)
record._set_values(values)
else:
record = BlobRecord(blob_data=pb_record.data.data[0].value)
record._attributes = {
attribute.key: attribute.value for attribute in pb_record.attributes.attributes
}
record.system_time = pb_record.system_time
record.sequence = pb_record.sequence
records.append(record)
return cls(next_cursor, record_count, start_sequence, records)