def _DashboardJsonToRawRows(dash_json_dict):
    "Formats a Dashboard JSON dict as a list of row dicts.\n\n  For the dashboard to begin accepting the Telemetry Dashboard JSON format\n  as per go/telemetry-json, this function chunks a Dashboard JSON literal\n  into rows and passes the resulting list to _AddTasks.\n\n  Args:\n    dash_json_dict: A dashboard JSON v1.0 dict.\n\n  Returns:\n    A list of dicts, each of which represents a point.\n\n  Raises:\n    AssertionError: The given argument wasn't a dict.\n    BadRequestError: The content of the input wasn't valid.\n  "
    assert (type(dash_json_dict) is dict)
    if (not dash_json_dict.get('master')):
        raise BadRequestError('No master name given.')
    if (not dash_json_dict.get('bot')):
        raise BadRequestError('No bot name given.')
    if (not dash_json_dict.get('point_id')):
        raise BadRequestError('No point_id number given.')
    if (not dash_json_dict.get('chart_data')):
        raise BadRequestError('No chart data given.')
    test_suite_name = _TestSuiteName(dash_json_dict)
    chart_data = dash_json_dict.get('chart_data', {})
    charts = chart_data.get('charts', {})
    if (not charts):
        return []
    tracing_links = None
    if ('trace' in charts):
        tracing_links = charts['trace'].copy()
        del charts['trace']
    row_template = _MakeRowTemplate(dash_json_dict)
    benchmark_description = chart_data.get('benchmark_description', '')
    trace_rerun_options = dict(chart_data.get('trace_rerun_options', []))
    is_ref = bool(dash_json_dict.get('is_ref'))
    rows = []
    for chart in charts:
        for trace in charts[chart]:
            row = copy.deepcopy(row_template)
            specific_vals = _FlattenTrace(test_suite_name, chart, trace, charts[chart][trace], is_ref, tracing_links, benchmark_description)
            if (not (math.isnan(specific_vals['value']) or math.isnan(specific_vals['error']))):
                if specific_vals['tracing_uri']:
                    row['supplemental_columns']['a_tracing_uri'] = specific_vals['tracing_uri']
                if trace_rerun_options:
                    row['supplemental_columns']['a_trace_rerun_options'] = trace_rerun_options
                row.update(specific_vals)
                rows.append(row)
    return rows
Formats a Dashboard JSON dict as a list of row dicts.

For the dashboard to begin accepting the Telemetry Dashboard JSON format
as per go/telemetry-json, this function chunks a Dashboard JSON literal
into rows and passes the resulting list to _AddTasks.

Args:
  dash_json_dict: A dashboard JSON v1.0 dict.

Returns:
  A list of dicts, each of which represents a point.

Raises:
  AssertionError: The given argument wasn't a dict.
  BadRequestError: The content of the input wasn't valid.
def _DashboardJsonToRawRows(dash_json_dict):
    "Formats a Dashboard JSON dict as a list of row dicts.\n\n  For the dashboard to begin accepting the Telemetry Dashboard JSON format\n  as per go/telemetry-json, this function chunks a Dashboard JSON literal\n  into rows and passes the resulting list to _AddTasks.\n\n  Args:\n    dash_json_dict: A dashboard JSON v1.0 dict.\n\n  Returns:\n    A list of dicts, each of which represents a point.\n\n  Raises:\n    AssertionError: The given argument wasn't a dict.\n    BadRequestError: The content of the input wasn't valid.\n  "
    assert (type(dash_json_dict) is dict)
    if (not dash_json_dict.get('master')):
        raise BadRequestError('No master name given.')
    if (not dash_json_dict.get('bot')):
        raise BadRequestError('No bot name given.')
    if (not dash_json_dict.get('point_id')):
        raise BadRequestError('No point_id number given.')
    if (not dash_json_dict.get('chart_data')):
        raise BadRequestError('No chart data given.')
    test_suite_name = _TestSuiteName(dash_json_dict)
    chart_data = dash_json_dict.get('chart_data', {})
    charts = chart_data.get('charts', {})
    if (not charts):
        return []
    tracing_links = None
    if ('trace' in charts):
        tracing_links = charts['trace'].copy()
        del charts['trace']
    row_template = _MakeRowTemplate(dash_json_dict)
    benchmark_description = chart_data.get('benchmark_description', )
    trace_rerun_options = dict(chart_data.get('trace_rerun_options', []))
    is_ref = bool(dash_json_dict.get('is_ref'))
    rows = []
    for chart in charts:
        for trace in charts[chart]:
            row = copy.deepcopy(row_template)
            specific_vals = _FlattenTrace(test_suite_name, chart, trace, charts[chart][trace], is_ref, tracing_links, benchmark_description)
            if (not (math.isnan(specific_vals['value']) or math.isnan(specific_vals['error']))):
                if specific_vals['tracing_uri']:
                    row['supplemental_columns']['a_tracing_uri'] = specific_vals['tracing_uri']
                if trace_rerun_options:
                    row['supplemental_columns']['a_trace_rerun_options'] = trace_rerun_options
                row.update(specific_vals)
                rows.append(row)
    return rows