mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
include address and postcode on magicplan plan 🟩
This commit is contained in:
parent
3b9d40f2f8
commit
069e6693ae
2 changed files with 16 additions and 0 deletions
|
|
@ -7,10 +7,24 @@ def map_plan(mp: MagicPlan) -> Plan:
|
|||
return Plan(
|
||||
uid=mp.plan.id,
|
||||
name=mp.plan.name,
|
||||
address=_map_address(mp.plan.address),
|
||||
postcode=mp.plan.address.postal_code if mp.plan.address else None,
|
||||
floors=[_map_floor(f) for f in mp.plan_detail.plan.floors],
|
||||
)
|
||||
|
||||
|
||||
def _map_address(addr: api.Address | None) -> str | None:
|
||||
if addr is None:
|
||||
return None
|
||||
street = (
|
||||
f"{addr.street_number} {addr.street}".strip()
|
||||
if addr.street_number
|
||||
else addr.street
|
||||
)
|
||||
parts = [p for p in [street, addr.city, addr.country] if p]
|
||||
return ", ".join(parts) if parts else None
|
||||
|
||||
|
||||
def _map_floor(f: api.Floor) -> Floor:
|
||||
return Floor(
|
||||
level=f.level,
|
||||
|
|
|
|||
|
|
@ -35,4 +35,6 @@ class Floor:
|
|||
class Plan:
|
||||
uid: str
|
||||
name: str | None
|
||||
address: str | None = None
|
||||
postcode: str | None = None
|
||||
floors: list[Floor] = field(default_factory=list[Floor])
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue