feat(sf-b7): GET /parcels/{cad}/snapshot.pdf — 1-page WeasyPrint export #334

Merged
lekss361 merged 1 commit from feat/sf-b7-snapshot-pdf into main 2026-05-17 21:11:04 +00:00

1 commit

Author SHA1 Message Date
lekss361
86c6070ff0 feat(sf-b7): GET /parcels/{cad}/snapshot.pdf — 1-page PDF export
Add 1-page A4 snapshot PDF endpoint for cadastral parcels (SF task B7).

- New service: app/services/exporters/snapshot_pdf.py — WeasyPrint +
  Jinja2 renderer with DejaVu Sans Cyrillic font support
- New template: app/templates/parcel_snapshot.html — styled A4 layout
  with header, KPI block, POI top-7 table, competitors top-5 table, footer
- New endpoint GET /parcels/{cad}/snapshot.pdf in parcels.py — fetches
  parcel meta (cad_parcels), geometry (cad_parcels_geom), POI (osm_poi_ekb
  1km), competitors (domrf_kn_objects 3km), district (ekb_districts),
  renders PDF and returns application/pdf attachment
- Add jinja2>=3.1.0 to pyproject.toml + uv.lock

Disclaimer included: not an official EGRN extract.
2026-05-18 00:06:58 +03:00