mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
25 lines
1 KiB
Python
25 lines
1 KiB
Python
from repositories.unstandardised_address.unstandardised_address_list_repository import (
|
|
UnstandardisedAddressListRepository,
|
|
)
|
|
from domain.addresses.unstandardised_address import AddressList
|
|
|
|
|
|
class SALOrchestrator:
|
|
def __init__(self, unstandardised_address_repo: UnstandardisedAddressListRepository) -> None:
|
|
self._unstandardised_address_repo = unstandardised_address_repo
|
|
|
|
def get_unstandardised_addresses(
|
|
self,
|
|
input_s3_uri: str,
|
|
) -> AddressList:
|
|
return self._unstandardised_address_repo.load_batch(input_s3_uri)
|
|
|
|
def get_col_to_description_mappings(
|
|
self, list_of_unstandardised_address: AddressList
|
|
) -> dict[str, set[str]]:
|
|
mappings: dict[str, set[str]] = {}
|
|
for unstandardised_address in list_of_unstandardised_address:
|
|
for key, value in unstandardised_address.additional_info.items():
|
|
# Lower-case so case-only typos collapse to one variant.
|
|
mappings.setdefault(key, set()).add(value.lower())
|
|
return mappings
|