Удалено скачивание видео (видео не сохраняется, кнопка убрана); исправлено перекрытие строк в PDF (ячейки-Paragraph + семейство шрифтов)
This commit is contained in:
1 parent
ce67122035
commit
25ed2e3899
3 files changed
+33
-71
No files matched your search
@@ -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([
|
||||
|
||||
Reference in new issue
Block a user