Удалено скачивание видео (видео не сохраняется, кнопка убрана); исправлено перекрытие строк в PDF (ячейки-Paragraph + семейство шрифтов)

This commit is contained in:
apuc committed 2026-09-22 13:46:07 +03:00
1 parent ce67122035
commit 25ed2e3899
3 files changed
+33 -71

No files matched your search

+28 -4
View File
@@ -33,6 +33,19 @@ for name, path in FONT_PATHS.items():
except Exception:
pass
# Регистрируем семейство, чтобы reportlab понимал, что DejaVuSans-Bold —
# это жирный вариант DejaVuSans (иначе Paragraph падает с "Can't map family/bold/italic").
try:
pdfmetrics.registerFontFamily(
'DejaVuSans',
normal='DejaVuSans',
bold='DejaVuSans-Bold',
italic='DejaVuSans',
boldItalic='DejaVuSans-Bold',
)
except Exception:
pass
STATUS_TEXT = {
"ok": "В норме",
"warning": "Обратить внимание",
@@ -109,6 +122,15 @@ def generate_pdf(share_id) -> bytes:
name="SmallRu", fontName="DejaVuSans", fontSize=8.5,
leading=12, textColor=colors.grey,
))
# Стили ячеек таблицы (Paragraph, чтобы текст переносился и не перекрывался)
styles.add(ParagraphStyle(
name="CellRu", fontName="DejaVuSans", fontSize=9.5,
leading=13, spaceAfter=0,
))
styles.add(ParagraphStyle(
name="CellRuBold", fontName="DejaVuSans-Bold", fontSize=9.5,
leading=13, spaceAfter=0, textColor=colors.white,
))
story = []
@@ -135,7 +157,9 @@ def generate_pdf(share_id) -> bytes:
metrics = _parse_json_list(result["metrics"])
if metrics:
story.append(Paragraph("Показатели", styles["H2Ru"]))
data = [["Показатель", "Значение", "Оценка"]]
data = [[Paragraph("Показатель", styles["CellRuBold"]),
Paragraph("Значение", styles["CellRuBold"]),
Paragraph("Оценка", styles["CellRuBold"])]]
for m in metrics:
value = m.get("value", "")
comment = m.get("comment", "")
@@ -143,9 +167,9 @@ def generate_pdf(share_id) -> bytes:
value = f"{value} ({comment})"
status = m.get("status", "info")
data.append([
m.get("name", ""),
value,
STATUS_TEXT.get(status, status),
Paragraph(m.get("name", ""), styles["CellRu"]),
Paragraph(value, styles["CellRu"]),
Paragraph(STATUS_TEXT.get(status, status), styles["CellRu"]),
])
table = Table(data, colWidths=[55 * mm, 75 * mm, 50 * mm])
table.setStyle(TableStyle([