rates/backend
jtricerolph 83b46bee8f Fix JS extractor under-counting rooms: iterate all tbody rows like scrapy
The previous approach walked siblings from [id^="room_type_id_"] anchors
and only processed rows with js-rt-block-row class, causing the first rate
row of some room types to be silently skipped when that class was absent.

Now iterates all #available_rooms tbody tr rows with data-block-id (same
strategy as the original scrapy spider), using the room_type_id_ element
presence to identify room names only on the first row, with fallback to the
stored name for subsequent rows of the same room type.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-10 00:37:35 +00:00
..
api Fix own hotel excluded from scrape and 1-person rates hidden in matrix 2026-07-10 00:31:08 +00:00
jobs Parity: best-available comparison as default, term-matching optional 2026-07-06 08:04:15 +00:00
services Fix JS extractor under-counting rooms: iterate all tbody rows like scrapy 2026-07-10 00:37:35 +00:00
auth.py
database.py
Dockerfile Revert to headed Chrome + Xvfb; add shm_size 256m to fix Xvfb in Docker 2026-07-09 17:36:27 +00:00
main.py
migrate_direct_data.py Restore guestline-monitor features: room stock/occupancy, rate history, room stats 2026-07-06 06:50:37 +00:00
requirements.txt Scraper stealth: headful+xvfb, playwright-stealth, coherent UA, warm-up, click-paginate 2026-07-05 16:26:01 +00:00
scheduler.py Scraper: force-reset endpoint + watchdog to prevent stuck lock 2026-07-09 16:56:35 +00:00
schema.sql Add hotel-page scraper backend with full room/rate plan extraction 2026-07-09 23:08:03 +00:00