This commit is contained in:
silva guimaraes 2025-07-26 20:19:28 -03:00
parent 116ed0068b
commit f613203cbe

View file

@ -309,6 +309,21 @@ let tables_of_api_standings_total (s : api_standings_total) : table list =
let matches_of_api_events (e : api_events) = let matches_of_api_events (e : api_events) =
e.events e.events
|> List.map (fun (m : api_match) -> |> List.map (fun (m : api_match) ->
let period_start_timestamp =
match m.time with
| {
currentPeriodStartTimestamp = Some x;
injuryTime1 = _;
injuryTime2 = _;
} ->
x
| {
currentPeriodStartTimestamp = None;
injuryTime1 = _;
injuryTime2 = _;
} ->
m.startTimestamp
in
{ {
home_team = m.homeTeam; home_team = m.homeTeam;
away_team = m.awayTeam; away_team = m.awayTeam;
@ -336,14 +351,13 @@ let matches_of_api_events (e : api_events) =
{ {
injuryTime1 = x; injuryTime1 = x;
injuryTime2 = None; injuryTime2 = None;
currentPeriodStartTimestamp = Some z; currentPeriodStartTimestamp = _;
} ) -> } ) ->
InProgress InProgress
{ {
start_timestamp = m.startTimestamp; start_timestamp = m.startTimestamp;
half = half =
First_Half First_Half { injury_time1 = x; period_start_timestamp };
{ injury_time1 = x; period_start_timestamp = z };
score = score =
{ {
home_score = m.homeScore.current; home_score = m.homeScore.current;
@ -355,7 +369,7 @@ let matches_of_api_events (e : api_events) =
{ {
injuryTime1 = x; injuryTime1 = x;
injuryTime2 = y; injuryTime2 = y;
currentPeriodStartTimestamp = Some z; currentPeriodStartTimestamp = _;
} ) -> } ) ->
InProgress InProgress
{ {
@ -365,7 +379,7 @@ let matches_of_api_events (e : api_events) =
{ {
injury_time1 = x; injury_time1 = x;
injury_time2 = y; injury_time2 = y;
period_start_timestamp = z; period_start_timestamp;
}; };
score = score =
{ {
@ -378,7 +392,7 @@ let matches_of_api_events (e : api_events) =
{ {
injuryTime1 = x; injuryTime1 = x;
injuryTime2 = y; injuryTime2 = y;
currentPeriodStartTimestamp = Some z; currentPeriodStartTimestamp = _;
} ) -> } ) ->
InProgress InProgress
{ {
@ -388,7 +402,7 @@ let matches_of_api_events (e : api_events) =
{ {
injury_time1 = x; injury_time1 = x;
injury_time2 = y; injury_time2 = y;
period_start_timestamp = z; period_start_timestamp;
}; };
score = score =
{ {
@ -420,7 +434,7 @@ let matches_of_api_events (e : api_events) =
{ {
injuryTime1 = x; injuryTime1 = x;
injuryTime2 = y; injuryTime2 = y;
currentPeriodStartTimestamp = Some z; currentPeriodStartTimestamp = _;
} ) -> } ) ->
InProgress InProgress
{ {
@ -430,7 +444,7 @@ let matches_of_api_events (e : api_events) =
{ {
injury_time1 = x; injury_time1 = x;
injury_time2 = y; injury_time2 = y;
period_start_timestamp = z; period_start_timestamp;
}; };
score = score =
{ {
@ -438,6 +452,23 @@ let matches_of_api_events (e : api_events) =
away_score = m.awayScore.current; away_score = m.awayScore.current;
}; };
} }
| ( "Awaiting penalties",
"inprogress",
{
injuryTime1 = _;
injuryTime2 = _;
currentPeriodStartTimestamp = _;
} ) ->
InProgress
{
start_timestamp = m.startTimestamp;
half = Penalties;
score =
{
home_score = m.homeScore.current;
away_score = m.awayScore.current;
};
}
| ( "Penalties", | ( "Penalties",
"inprogress", "inprogress",
{ {
@ -496,6 +527,9 @@ let matches_of_api_events (e : api_events) =
(show_api_time m.time)); (show_api_time m.time));
}) })
(* https://www.sofascore.com/api/v1/unique-tournament/480/season/70070/rounds *)
(* https://www.sofascore.com/api/v1/unique-tournament/480/season/70070/events/round/636/slug/playoff-round *)
let fetch ctx order (* "last" for previous matches "next" for future matches *) let fetch ctx order (* "last" for previous matches "next" for future matches *)
= =
try%lwt try%lwt