"""Yandex Realty parsing helpers — JSON-LD + regex + DOM utilities for SERP, detail, newbuilding, and valuation parsers.""" from __future__ import annotations import json import re from datetime import date, timedelta from typing import Any from selectolax.parser import HTMLParser __all__ = [ "RE_AGENCY_FOUNDED", "RE_AGENCY_OBJECTS", "RE_FLOOR", "RE_JK_ID", "RE_METRO_WALK", "RE_OFFER_ID", "RE_PPM2", "RE_PRICE", "RE_STREET_ID", "RE_TITLE_AREA", "RE_TITLE_ROOMS", "RE_VIEWS", "RE_YEAR", "RU_MONTHS", "RU_MONTH_NOMINATIVE", "extract_json_ld", "find_ld_by_type", "parse_dmy", "parse_house_class", "parse_house_type", "parse_listing_date", "parse_ru_date", "parse_rub", ] # --------------------------------------------------------------------------- # Section 1 — JSON-LD extraction # --------------------------------------------------------------------------- def extract_json_ld(html: str) -> list[dict[str, Any]]: """Extract all