сценарий
mt_report_utils.format_mt_mode_section_rows_for_allure(parsed_report.section_rows),
name="Строки участков отчёта",
мт мод реп
format_duration_seconds,
is_duration_cell_filled,
def format_mt_mode_section_rows_for_allure(section_rows: List[MtModeReportSectionRow]) -> str:
"""Форматирует строки участков отчёта о режиме МТ для вложения в Allure."""
lines = []
for row in section_rows:
durations_text = ", ".join(
f"{column}={format_duration_seconds(seconds)}"
for column, seconds in row.mode_durations_seconds.items()
)
lines.append(
f"row#{row.row_index}: {row.section_name} | sum={format_duration_seconds(row.modes_sum_seconds)} | "
f"{durations_text}"
)
return "\n".join(lines)
__all__ = [
"MtModeReportParsed",
"MtModeReportSectionRow",
"is_chart_title_valid",
"is_duration_cell_filled",
"is_expected_dominant_mode_column",
"is_valid_mt_mode_chart_series_formula",
"parse_mt_mode_report_worksheet",
"read_mt_mode_chart_metadata",
"format_mt_mode_section_rows_for_allure",
"sum_duration_columns_across_rows",
]