Tighten configuration and export handling
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
from html import escape
|
||||
from typing import Dict, List
|
||||
from .base import Formatter
|
||||
|
||||
from ..types import ReportRow
|
||||
from .base import Formatter
|
||||
|
||||
|
||||
class HTMLFormatter(Formatter):
|
||||
@@ -36,34 +38,38 @@ class HTMLFormatter(Formatter):
|
||||
]
|
||||
|
||||
for project, versions in projects.items():
|
||||
project_text = escape(project)
|
||||
total_project_rows = sum(len(tasks) for tasks in versions.values())
|
||||
first_version_in_project = True
|
||||
|
||||
for version, task_rows in versions.items():
|
||||
version_text = escape(version)
|
||||
row_span_version = len(task_rows)
|
||||
first_row_in_version = True
|
||||
|
||||
for r in task_rows:
|
||||
task_cell = escape(f"{r['issue_id']}. {r['subject']}")
|
||||
status_text = escape(r["status_ru"])
|
||||
time_text = escape(r["time_text"])
|
||||
lines.append(" <tr>")
|
||||
|
||||
# Ячейка "Проект" - только в первой строке проекта
|
||||
if first_version_in_project and first_row_in_version:
|
||||
lines.append(
|
||||
f' <td rowspan="{total_project_rows}" style="vertical-align: top;">{project}</td>'
|
||||
f' <td rowspan="{total_project_rows}" style="vertical-align: top;">{project_text}</td>'
|
||||
)
|
||||
|
||||
# Ячейка "Версия" - только в первой строке версии
|
||||
if first_row_in_version:
|
||||
lines.append(
|
||||
f' <td rowspan="{row_span_version}" style="vertical-align: top;">{version}</td>'
|
||||
f' <td rowspan="{row_span_version}" style="vertical-align: top;">{version_text}</td>'
|
||||
)
|
||||
first_row_in_version = False
|
||||
|
||||
# Остальные колонки
|
||||
task_cell = f"{r['issue_id']}. {r['subject']}"
|
||||
lines.append(f" <td>{task_cell}</td>")
|
||||
lines.append(f" <td>{r['status_ru']}</td>")
|
||||
lines.append(f" <td>{r['time_text']}</td>")
|
||||
lines.append(f" <td>{status_text}</td>")
|
||||
lines.append(f" <td>{time_text}</td>")
|
||||
|
||||
lines.append(" </tr>")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user