style: apply ruff format to all source files
This commit is contained in:
@@ -19,8 +19,12 @@ class XLSXFormatter(Formatter):
|
||||
и числовой столбец с часами для удобного суммирования.
|
||||
"""
|
||||
|
||||
_HEADER_FILL = PatternFill(start_color="D9E1F2", end_color="D9E1F2", fill_type="solid")
|
||||
_TOTAL_FILL = PatternFill(start_color="FFF2CC", end_color="FFF2CC", fill_type="solid")
|
||||
_HEADER_FILL = PatternFill(
|
||||
start_color="D9E1F2", end_color="D9E1F2", fill_type="solid"
|
||||
)
|
||||
_TOTAL_FILL = PatternFill(
|
||||
start_color="FFF2CC", end_color="FFF2CC", fill_type="solid"
|
||||
)
|
||||
_BORDER = Border(
|
||||
left=Side(style="thin"),
|
||||
right=Side(style="thin"),
|
||||
@@ -40,7 +44,15 @@ class XLSXFormatter(Formatter):
|
||||
else:
|
||||
ws.title = "Report"
|
||||
|
||||
headers = ["Project", "Version", "Issue ID", "Subject", "Status", "Hours", "Spent Time"]
|
||||
headers = [
|
||||
"Project",
|
||||
"Version",
|
||||
"Issue ID",
|
||||
"Subject",
|
||||
"Status",
|
||||
"Hours",
|
||||
"Spent Time",
|
||||
]
|
||||
ws.append(headers)
|
||||
self._style_header_row(ws, headers)
|
||||
|
||||
@@ -89,7 +101,10 @@ class XLSXFormatter(Formatter):
|
||||
)
|
||||
self._style_total_row(ws, current_row, bold=False)
|
||||
ws.merge_cells(
|
||||
start_row=current_row, start_column=2, end_row=current_row, end_column=5
|
||||
start_row=current_row,
|
||||
start_column=2,
|
||||
end_row=current_row,
|
||||
end_column=5,
|
||||
)
|
||||
current_row += 1
|
||||
|
||||
@@ -99,7 +114,8 @@ class XLSXFormatter(Formatter):
|
||||
|
||||
if not self.no_time:
|
||||
project_hours = sum(
|
||||
sum(r.get("hours", 0.0) for r in task_rows) for task_rows in versions.values()
|
||||
sum(r.get("hours", 0.0) for r in task_rows)
|
||||
for task_rows in versions.values()
|
||||
)
|
||||
ws.append(
|
||||
[
|
||||
@@ -114,7 +130,10 @@ class XLSXFormatter(Formatter):
|
||||
)
|
||||
self._style_total_row(ws, current_row, bold=True)
|
||||
ws.merge_cells(
|
||||
start_row=current_row, start_column=1, end_row=current_row, end_column=5
|
||||
start_row=current_row,
|
||||
start_column=1,
|
||||
end_row=current_row,
|
||||
end_column=5,
|
||||
)
|
||||
current_row += 1
|
||||
project_totals[project] = project_hours
|
||||
@@ -137,7 +156,9 @@ class XLSXFormatter(Formatter):
|
||||
]
|
||||
)
|
||||
self._style_total_row(ws, current_row, bold=True)
|
||||
ws.merge_cells(start_row=current_row, start_column=1, end_row=current_row, end_column=5)
|
||||
ws.merge_cells(
|
||||
start_row=current_row, start_column=1, end_row=current_row, end_column=5
|
||||
)
|
||||
|
||||
for start, end in project_ranges:
|
||||
ws.merge_cells(start_row=start, start_column=1, end_row=end, end_column=1)
|
||||
@@ -167,7 +188,9 @@ class XLSXFormatter(Formatter):
|
||||
cell.font = Font(bold=True)
|
||||
cell.fill = self._HEADER_FILL
|
||||
cell.border = self._BORDER
|
||||
cell.alignment = Alignment(horizontal="center", vertical="center", wrap_text=True)
|
||||
cell.alignment = Alignment(
|
||||
horizontal="center", vertical="center", wrap_text=True
|
||||
)
|
||||
|
||||
def _style_data_row(self, ws: Worksheet, row: int) -> None:
|
||||
for col_idx in range(1, 8):
|
||||
@@ -190,7 +213,15 @@ class XLSXFormatter(Formatter):
|
||||
|
||||
def _apply_column_widths(self, ws: Worksheet) -> None:
|
||||
# Минимальные ширины по умолчанию
|
||||
widths: Dict[int, float] = {1: 18.0, 2: 16.0, 3: 12.0, 4: 45.0, 5: 14.0, 6: 10.0, 7: 14.0}
|
||||
widths: Dict[int, float] = {
|
||||
1: 18.0,
|
||||
2: 16.0,
|
||||
3: 12.0,
|
||||
4: 45.0,
|
||||
5: 14.0,
|
||||
6: 10.0,
|
||||
7: 14.0,
|
||||
}
|
||||
|
||||
for row in ws.iter_rows(min_row=2, max_row=ws.max_row):
|
||||
for col_idx, cell in enumerate(row, start=1):
|
||||
|
||||
Reference in New Issue
Block a user