mirror of
https://github.com/Bunsly/HomeHarvest.git
synced 2026-03-04 19:44:29 -08:00
feat: add pandas
This commit is contained in:
@@ -2,12 +2,43 @@ from dataclasses import dataclass
|
||||
from enum import Enum
|
||||
|
||||
|
||||
class SiteName(Enum):
|
||||
ZILLOW = "zillow"
|
||||
REDFIN = "redfin"
|
||||
REALTOR = "realtor.com"
|
||||
|
||||
|
||||
class ListingType(Enum):
|
||||
FOR_SALE = "for_sale"
|
||||
FOR_RENT = "for_rent"
|
||||
SOLD = "sold"
|
||||
|
||||
|
||||
class PropertyType(Enum):
|
||||
HOUSE = "HOUSE"
|
||||
CONDO = "CONDO"
|
||||
TOWNHOUSE = "townhousE"
|
||||
SINGLE_FAMILY = "SINGLE_FAMILY"
|
||||
MULTI_FAMILY = "MULTI_FAMILY"
|
||||
LAND = "LAND"
|
||||
OTHER = "OTHER"
|
||||
|
||||
@classmethod
|
||||
def from_int_code(cls, code):
|
||||
mapping = {
|
||||
1: cls.HOUSE,
|
||||
2: cls.CONDO,
|
||||
3: cls.TOWNHOUSE,
|
||||
4: cls.MULTI_FAMILY,
|
||||
5: cls.LAND,
|
||||
6: cls.OTHER,
|
||||
8: cls.SINGLE_FAMILY,
|
||||
13: cls.SINGLE_FAMILY,
|
||||
}
|
||||
|
||||
return mapping.get(code, cls.OTHER)
|
||||
|
||||
|
||||
@dataclass
|
||||
class Address:
|
||||
address_one: str
|
||||
@@ -18,35 +49,35 @@ class Address:
|
||||
address_two: str | None = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class Property:
|
||||
@dataclass()
|
||||
class Realty:
|
||||
site_name: SiteName
|
||||
address: Address
|
||||
url: str
|
||||
listing_type: ListingType | None = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class Property(Realty):
|
||||
price: int | None = None
|
||||
beds: int | None = None
|
||||
baths: float | None = None
|
||||
stories: int | None = None
|
||||
agent_name: str | None = None
|
||||
year_built: int | None = None
|
||||
square_feet: int | None = None
|
||||
price_per_square_foot: int | None = None
|
||||
year_built: int | None = None
|
||||
price: int | None = None
|
||||
mls_id: str | None = None
|
||||
|
||||
listing_type: ListingType | None = None
|
||||
agent_name: str | None = None
|
||||
property_type: PropertyType | None = None
|
||||
lot_size: int | None = None
|
||||
description: str | None = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class Building:
|
||||
address: Address
|
||||
url: str
|
||||
|
||||
class Building(Realty):
|
||||
num_units: int | None = None
|
||||
min_unit_price: int | None = None
|
||||
max_unit_price: int | None = None
|
||||
avg_unit_price: int | None = None
|
||||
|
||||
listing_type: str | None = None
|
||||
|
||||
Reference in New Issue
Block a user