From 8cfe056f79b164764b8161e15f538127426da4fe Mon Sep 17 00:00:00 2001 From: Zachary Hampton <69336300+ZacharyHampton@users.noreply.github.com> Date: Fri, 23 Aug 2024 10:54:43 -0700 Subject: [PATCH] - office mls set --- homeharvest/core/scrapers/models.py | 1 + homeharvest/core/scrapers/realtor/__init__.py | 3 ++- homeharvest/utils.py | 2 ++ pyproject.toml | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/homeharvest/core/scrapers/models.py b/homeharvest/core/scrapers/models.py index 60a940c..bbda390 100644 --- a/homeharvest/core/scrapers/models.py +++ b/homeharvest/core/scrapers/models.py @@ -106,6 +106,7 @@ class Agent(Entity): @dataclass class Office(Entity): + mls_set: str | None = None email: str | None = None href: str | None = None phones: list[dict] | AgentPhone | None = None diff --git a/homeharvest/core/scrapers/realtor/__init__.py b/homeharvest/core/scrapers/realtor/__init__.py index 57c5b9a..459c9c7 100644 --- a/homeharvest/core/scrapers/realtor/__init__.py +++ b/homeharvest/core/scrapers/realtor/__init__.py @@ -130,7 +130,8 @@ class RealtorScraper(Scraper): if advertiser.get("office"): #: has an office processed_advertisers.office = Office( - uuid=_parse_fulfillment_id(advertiser["office"].get("fulfillment_id")) or advertiser["office"].get("mls_set"), + uuid=_parse_fulfillment_id(advertiser["office"].get("fulfillment_id")), + mls_set=advertiser["office"].get("mls_set"), name=advertiser["office"].get("name"), email=advertiser["office"].get("email"), phones=advertiser["office"].get("phones"), diff --git a/homeharvest/utils.py b/homeharvest/utils.py index 428f959..6de5292 100644 --- a/homeharvest/utils.py +++ b/homeharvest/utils.py @@ -53,6 +53,7 @@ ordered_properties = [ "builder_id", "builder_name", "office_id", + "office_mls_set", "office_name", "office_email", "office_phones", @@ -102,6 +103,7 @@ def process_result(result: Property) -> pd.DataFrame: prop_data["office_name"] = office_data.name prop_data["office_email"] = office_data.email prop_data["office_phones"] = office_data.phones + prop_data["office_mls_set"] = office_data.mls_set prop_data["price_per_sqft"] = prop_data["prc_sqft"] prop_data["nearby_schools"] = filter(None, prop_data["nearby_schools"]) if prop_data["nearby_schools"] else None diff --git a/pyproject.toml b/pyproject.toml index dc972aa..110013e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "homeharvest" -version = "0.4.1" +version = "0.4.2" description = "Real estate scraping library" authors = ["Zachary Hampton ", "Cullen Watson "] homepage = "https://github.com/Bunsly/HomeHarvest"