gendesign/backend/app/services/exporters
Light1YT 25f7052084
All checks were successful
Deploy / changes (push) Successful in 7s
Deploy / build-backend (push) Successful in 1m41s
Deploy / build-frontend (push) Has been skipped
Deploy / build-worker (push) Successful in 2m34s
Deploy / deploy (push) Successful in 1m12s
CI / changes (push) Successful in 8s
CI / backend-tests (push) Has been skipped
feat(export): Markdown + JSON download of §22 forecast report (#959)
render_report_markdown (pure, no new runtime deps) reuses report_pdf's str
helpers (DRY), + GET /{cad_num}/forecast/export?format=md|json. No forecast run
→ 404; graceful on thin/empty reports; GFM-safe table escaping. PDF/XLSX already
existed; this adds the cheapest no-dep formats. Part of EPIC #959.
2026-06-06 18:39:51 +00:00
..
__init__.py init 2026-04-25 13:45:19 +03:00
dxf.py init 2026-04-25 13:45:19 +03:00
excel.py fix(exporters): read real SiteFinderReport keys in PDF/Excel (#989, #991) 2026-06-04 10:56:51 +05:00
layout_tz_pdf.py fix(analyze): district KeyError 500 in #994 persist + revive by-bbox tests 2026-06-03 18:04:37 +05:00
pdf.py init 2026-04-25 13:45:19 +03:00
report_md.py feat(export): Markdown + JSON download of §22 forecast report (#959) 2026-06-06 18:39:51 +00:00
report_pdf.py fix(exporters): read real SiteFinderReport keys in PDF/Excel (#989, #991) 2026-06-04 10:56:51 +05:00
snapshot_pdf.py feat(sf-b7): GET /parcels/{cad}/snapshot.pdf — 1-page WeasyPrint export (#334) 2026-05-17 21:11:03 +00:00
trade_in_pdf.py fix(analyze): district KeyError 500 in #994 persist + revive by-bbox tests 2026-06-03 18:04:37 +05:00