Model/epc_data/Property.py
Khalim Conn-Kowlessar ec95fcf99c data cleaning wip
2023-06-07 23:00:59 +01:00

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]