Mirror the S5a web dual-display in the WeasyPrint PDF cover: equal-prominence «Ожидаемая цена продажи» figure (value + range + ₽/м²) next to «Ориентир запроса», with a −N% discount chip and the ДКП-Росреестра explainer. Graceful single-asking fallback when expected_sold is None/0; each sold sub-field guarded. Pure rendering change — no DB/schema/API impact. WeasyPrint import made lazy so the HTML builders are testable without the native GTK stack. - trade_in_pdf.py: _dual_price_block / _price_figure_cell / _discount_pct + cover wiring - tests/services/test_trade_in_pdf_dual_price.py: 10 unit tests |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_cadastral_reverse.py | ||
| test_dadata.py | ||
| test_estimator_precision.py | ||
| test_trade_in_pdf_dual_price.py | ||