in azure-kusto-data/azure/kusto/data/streaming_response.py [0:0]
def parse_frame(self, frame_type: FrameType) -> Dict[str, Any]:
if frame_type == FrameType.DataSetHeader:
frame = self.extract_props(frame_type, ("IsProgressive", JsonTokenType.BOOLEAN), ("Version", JsonTokenType.STRING))
if frame["IsProgressive"]:
raise KustoUnsupportedApiError.progressive_api_unsupported()
return frame
if frame_type in [FrameType.TableHeader, FrameType.TableFragment, FrameType.TableCompletion, FrameType.TableProgress]:
raise KustoUnsupportedApiError.progressive_api_unsupported()
if frame_type == FrameType.DataTable:
props = self.extract_props(
frame_type,
("TableId", JsonTokenType.NUMBER),
("TableKind", JsonTokenType.STRING),
("TableName", JsonTokenType.STRING),
("Columns", JsonTokenType.START_ARRAY),
)
self.reader.skip_until_property_name("Rows")
props["Rows"] = self.row_iterator()
if props["TableKind"] != WellKnownDataSet.PrimaryResult.value:
props["Rows"] = list(props["Rows"])
return props
if frame_type == FrameType.DataSetCompletion:
res = self.extract_props(frame_type, ("HasErrors", JsonTokenType.BOOLEAN), ("Cancelled", JsonTokenType.BOOLEAN))
token = self.reader.skip_until_property_name_or_end_object("OneApiErrors")
if token.token_type != JsonTokenType.END_MAP:
res["OneApiErrors"] = self.parse_array(skip_start=False)
return res