Repository navigation
Fixed
- Parser: keep star-less hotels.
search_parser._find_hotel_entriesno longer drops listings whoseentry[3]star-class tuple isNone. Budget, boutique, and hostel properties (5 in the NYC fixture alone) were being silently skipped. The heuristic now anchors on coordinates at[2][0]plus FID/entity_key instead of star class. - Sort: stable post-sort for monotonic output.
SearchHotels.searchnow applies a stable post-sort whensort_byisLOWEST_PRICE,HIGHEST_RATING, orMOST_REVIEWED. Google's own ordering has same-price inversions and occasional sponsored-row interleaves; the post-sort gives callers strictly monotonic output on the non-None subsequence.RELEVANCE/Noneremain no-ops.Nonevalues sort to the end on every mode.
Tests
- New offline suite
test_search_sort_post_sort.pycovering the three sort modes,None-last behavior on each,RELEVANCE/Noneno-op, and Python-sort stability on ties. - New regression guard
test_budget_hotels_without_star_class_are_keptasserting the 5 known star-less NYC hotels surface by name. - New
test_detail_finds_exactly_one_hotel_entryconfirming the relaxed heuristic still resolves exactly one entry for detail responses. test_cli_liveLOWEST_PRICE scenario tightened from "≤2 inversions" to strict monotonic; added live E2E scenarios forHIGHEST_RATINGandMOST_REVIEWED.
Full changelog: v0.1.0...v0.1.1