@@ -40,7 +40,9 @@ async def async_process_event(
4040
4141 for event in events :
4242 event_state = "NOT_FOUND"
43-
43+ values ["event_name" ] = await async_get_value (
44+ data , "events" , 0 , "name" , default = ""
45+ )
4446 grouping_index = - 1
4547 for grouping_index , grouping in enumerate (
4648 await async_get_value (event , "groupings" , default = [])
@@ -474,20 +476,35 @@ async def competitor_not_found(
474476 API_LIMIT ,
475477 search_key ,
476478 )
477- else :
478- values ["api_message" ] = (
479- "No competition scheduled for '"
480- + team_id
481- + "' between "
482- + first_date .strftime ("%Y-%m-%dT%H:%MZ" )
483- + " and "
484- + last_date .strftime ("%Y-%m-%dT%H:%MZ" )
485- )
486- _LOGGER .debug (
487- "%s: No competitor information '%s' returned by API" ,
488- sensor_name ,
489- search_key ,
479+ return
480+
481+ if values ["sport_path" ] == "racing" and values ["event_name" ] is not None :
482+ competition = await async_get_value (
483+ values , "events" , 0 , "competitions" , 0 , "competitors" , default = None
490484 )
485+ if competition is None :
486+ values ["api_message" ] = f"Driver not found. Field not set for race ({ values ['event_name' ]} )"
487+ _LOGGER .debug (
488+ "%s: No drivers in race field for %s" ,
489+ sensor_name ,
490+ values ["event_name" ]
491+ )
492+ return
493+
494+ values ["api_message" ] = (
495+ "No competition scheduled for '"
496+ + team_id
497+ + "' between "
498+ + first_date .strftime ("%Y-%m-%dT%H:%MZ" )
499+ + " and "
500+ + last_date .strftime ("%Y-%m-%dT%H:%MZ" )
501+ )
502+ _LOGGER .debug (
503+ "%s: No competitor information '%s' returned by API" ,
504+ sensor_name ,
505+ search_key ,
506+ )
507+
491508 return
492509
493510
0 commit comments