gendesign/backend/tests/services/exporters
bot-backend e796379074
All checks were successful
CI / changes (pull_request) Successful in 12s
CI Trade-In / changes (pull_request) Successful in 13s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 2m47s
CI / backend-tests (pull_request) Successful in 15m1s
feat(exporters): серверный статик-рендер карт для PDF-отчёта (#2259 PR-C Maps)
report_maps.py: headless matplotlib(Agg)+geopandas+contextily рендер PNG
без браузера. Участок + риск-зоны/красные линии/ЗОУИТ/opportunity +
конкуренты на OSM-подложке с bounded-таймаутом (10с) и graceful fallback
на белый фон. render_concept_footprint_png — контур + пятна корпусов с
этажностью. embed_map_png — data-URI img / плашка «карта недоступна».
Фигуры закрываются _managed_figure (finally) на любом пути; 2 no-leak
регресс-теста, мутационно проверены. Ловушка: долгота конкурентов = lng.

+contextily/matplotlib deps (uv.lock; rasterio-транзитивка GDAL — вес
образа отметить при ребилде) + mypy ignore-imports.

Refs #2259
2026-07-03 15:12:50 +05:00
..
__init__.py feat(exporters): Excel exporter for SiteFinderReport (#991, 955-A5) (#1022) 2026-06-03 08:57:00 +00:00
test_excel.py fix(exporters): annotate scenario deficit horizon in excel too (#1590 follow-up) 2026-06-17 21:23:57 +03:00
test_full_report_html_part_a.py feat(exporters): PURE HTML-агрегатор §1–§3 + альтернативы (#2259 PR-A Foundation) (#2284) 2026-07-03 09:52:32 +00:00
test_full_report_html_part_b.py feat(exporters): PURE HTML §4–§7 полного PDF-отчёта (#2259 PR-B Sections) (#2285) 2026-07-03 10:10:43 +00:00
test_report_docx.py feat(export): add DOCX export of §22 forecast report (#959) 2026-06-07 13:58:04 +05:00
test_report_maps.py feat(exporters): серверный статик-рендер карт для PDF-отчёта (#2259 PR-C Maps) 2026-07-03 15:12:50 +05:00
test_report_md.py feat(export): Markdown + JSON download of §22 forecast report (#959) 2026-06-06 18:39:51 +00:00
test_report_pdf.py feat(forecasting): add months-of-inventory (MOI) to §9.8 demand-supply forecast 2026-06-05 07:36:59 +05:00
test_report_pptx.py feat(export): add PPTX presentation export of §22 forecast report (#959) 2026-06-07 14:09:35 +05:00
test_report_telegram.py feat(export): compact Telegram summary export for §22 forecast (#959) 2026-06-06 18:55:47 +00:00