3 Commits

Author SHA1 Message Date
shoko
53c268511a Add test for event happening exactly now shows LIVE
Added test_get_time_data_live_exactly_now to prevent regression.
2026-03-26 17:46:53 +00:00
shoko
7f3b885521 Fix: Event happening exactly now shows 'LIVE' instead of 'In 0m'
Changed condition from total_sec < 0 to total_sec <= 0 to catch the edge case where an event is happening right now.
2026-03-26 17:43:28 +00:00
shoko
e0ae6bbd14 Remove incorrect '100 pages safety cap' claim from SKILL.md
This limit doesn't exist in the code.
2026-03-26 17:37:41 +00:00
3 changed files with 13 additions and 3 deletions

View File

@@ -120,7 +120,7 @@ Use `--raw` to disable the tradeable filter and see all match markets regardless
## Pagination
The script fetches **ALL pages** until the API runs out of results (up to 100 pages as a safety cap).
The script fetches **ALL pages** until the API runs out of results.
### Parallel Fetching

View File

@@ -470,8 +470,8 @@ def _get_time_data(e: dict[str, Any], tz: timezone | None = None) -> TimeData:
delta = start_dt - now_utc
total_sec = delta.total_seconds()
if total_sec < 0:
# Event is in the past
if total_sec <= 0:
# Event is in the past or happening now
hours_ago = abs(total_sec) / 3600
if hours_ago < 1:
time_status = "LIVE"

View File

@@ -309,6 +309,16 @@ class TestTimeFunctions(unittest.TestCase):
self.assertEqual(td["time_urgency"], 3)
self.assertIn("WIB", td["abs_time"])
def test_get_time_data_live_exactly_now(self):
"""Event starts exactly now -> 'LIVE', urgency 3 (not 'In 0m')."""
frozen = self._frozen_dt(2026, 3, 25, 12, 0, 0)
with patch("browse.datetime", self._mock_datetime(frozen)):
from browse import _get_time_data
td = _get_time_data(self._make_event("2026-03-25T12:00:00Z"))
self.assertEqual(td["time_status"], "LIVE")
self.assertEqual(td["time_urgency"], 3)
def test_get_time_data_started_2h_ago(self):
"""Started 2 hours ago -> 'LIVE 2h', urgency 3."""
frozen = self._frozen_dt(2026, 3, 25, 14, 0, 0)