mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
31 lines
1 KiB
Python
31 lines
1 KiB
Python
from epc_api.client import EpcClient
|
|
from epc_data.config import EPC_AUTH_TOKEN
|
|
|
|
|
|
class Property:
|
|
|
|
def __init__(self, postcode, address1, epc_client=None, data=None):
|
|
self.postcode = postcode
|
|
self.address1 = address1
|
|
self.data = data
|
|
|
|
if epc_client:
|
|
self.epc_client = epc_client
|
|
else:
|
|
self.epc_client = EpcClient(auth_token=EPC_AUTH_TOKEN)
|
|
|
|
def search_address_epc(self):
|
|
"""
|
|
This method searches for an address in the EPC database and returns the first result
|
|
:return: property data
|
|
"""
|
|
if self.data:
|
|
return
|
|
|
|
# This will fail if a property does not have an EPC - this has been documented as a case to handle
|
|
response = self.epc_client.domestic.search(params={"address": self.address1, "postcode": self.postcode})
|
|
|
|
if len(response["rows"]) > 1:
|
|
raise Exception("More than one result found for this address - investigate me")
|
|
|
|
self.data = response["rows"][0]
|