Skip to content

v0.1.1

Latest

Choose a tag to compare

@him229 him229 released this 24 Apr 02:01
· 10 commits to main since this release

Fixed

  • Parser: keep star-less hotels. search_parser._find_hotel_entries no longer drops listings whose entry[3] star-class tuple is None. 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.search now applies a stable post-sort when sort_by is LOWEST_PRICE, HIGHEST_RATING, or MOST_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 / None remain no-ops. None values sort to the end on every mode.

Tests

  • New offline suite test_search_sort_post_sort.py covering the three sort modes, None-last behavior on each, RELEVANCE/None no-op, and Python-sort stability on ties.
  • New regression guard test_budget_hotels_without_star_class_are_kept asserting the 5 known star-less NYC hotels surface by name.
  • New test_detail_finds_exactly_one_hotel_entry confirming the relaxed heuristic still resolves exactly one entry for detail responses.
  • test_cli_live LOWEST_PRICE scenario tightened from "≤2 inversions" to strict monotonic; added live E2E scenarios for HIGHEST_RATING and MOST_REVIEWED.

Full changelog: v0.1.0...v0.1.1