Skip to contents

Convenience wrappers binding the Genius family to the Greek Basket League (ESAKE) (men's; Genius ORG ESAKE, LiveStats ORG ESAKE). Season rule: END year; Genius year + 1 (2022-23 = 2023).

Usage

esake_competitions(return_parsed = TRUE)

esake_schedule(season = NULL, comp_id = NULL, round_number = -1, return_parsed = TRUE)

esake_team_box(match_id, return_parsed = TRUE)

esake_player_box(match_id, return_parsed = TRUE)

esake_pbp(match_id, return_parsed = TRUE)

esake_shots(match_id, return_parsed = TRUE)

Arguments

season

END-year season (see the season rule). NULL (default) = the newest season the org lists.

comp_id

Genius competition id; skips the season lookup (needed when the label rule matches several competitions).

round_number

Round to list; -1 (default) lists every round.

match_id

Genius match id (match_id of esake_schedule()) of a game of this competition.

return_parsed

Parse into a tibble (default TRUE); FALSE returns the raw list.

Value

The base function's hoopR_data tibble, same columns and types (the raw list when return_parsed = FALSE) of each function:

Details

The season's competition is picked from the ESAKE chooser by the label rule include = basket league|gbl, exclude = super cup|woman (case-insensitive); cups and play-offs have their own comp_id. Several matching competitions raise hoopR_bad_request (pass comp_id); none raises hoopR_no_data.

Genius match ids are one global sequence shared by every customer and data.json names no competition, so each game alias checks the id on the game's LiveStats shell (/u/ESAKE/<match_id>/: one extra request per game, cached per process for an hour): its competition name must pass the label rule. Another org's game, a cup or play-off game of ESAKE, or a shell request that fails twice (or names no competition) raises hoopR_asset_fetch. The base genius_*() function reads any game unchecked.

Access, proxy and error notes: see genius_game().