
    Ki
                    4    S r SSKJr  SSKJr   " S S5      rg)zAustralian harness racing client.

Provides data ingestion from Australian harness racing sources
(e.g., HarnessWeb, AU TAB API equivalents) for expanding coverage
beyond New Zealand racing.
    )annotations)Anyc                      \ rS rSrSr  S     SS jjr  S     SS jjr    SS jr    SS jr    SS jr	    SS	 jr
S
rg)AustralianHarnessClient   zClient for Australian harness racing data.

Ingests meetings, races, and results from Australian sources
and normalizes them into the TipSharks data model.
c                <    UR                  S5      U l        X l        g)zInitialize the Australian harness client.

Args:
    base_url: API base URL for the Australian harness data source.
    timeout: Request timeout in seconds.
/N)rstripbase_urltimeout)selfr   r   s      ?/root/tipsharks/tipsharks-elo-api/packages/regions/australia.py__init__ AustralianHarnessClient.__init__   s     !,    Nc                   #    [         e7f)zFetch meetings from Australian harness API.

Args:
    date_from: Start date (YYYY-MM-DD). Defaults to today.
    date_to: End date (YYYY-MM-DD). Defaults to today.

Returns:
    List of meeting dicts normalized to TipSharks format.
NotImplementedError)r   	date_fromdate_tos      r   get_meetings$AustralianHarnessClient.get_meetings"   s      "!   	c                   #    [         e7f)zFetch race results for an Australian meeting.

Args:
    meeting_id: Meeting identifier from the source API.

Returns:
    List of race dicts with runner results.
r   )r   
meeting_ids     r   get_race_results(AustralianHarnessClient.get_race_results2         "!r   c                   #    [         e7f)zzFetch detailed runner/horse information.

Args:
    runner_id: Runner/horse identifier.

Returns:
    Runner detail dict.
r   )r   	runner_ids     r   get_runner_details*AustralianHarnessClient.get_runner_details@   r   r   c                    [         e)zNormalize an Australian API meeting into TipSharks format.

Args:
    raw_meeting: Raw meeting data from the Australian API.

Returns:
    Normalized meeting dict compatible with MeetingRepository.
r   )r   raw_meetings     r   normalize_meeting)AustralianHarnessClient.normalize_meetingN   
     "!r   c                    [         e)zNormalize an Australian API runner into TipSharks format.

Args:
    raw_runner: Raw runner data from the Australian API.

Returns:
    Normalized runner dict compatible with StarterRepository.
r   )r   
raw_runners     r   normalize_runner(AustralianHarnessClient.normalize_runner\   r'   r   )r   r   )zhttps://api.harness.org.au/v1g      >@)r   strr   floatreturnNone)NN)r   
str | Noner   r0   r.   list[dict[str, Any]])r   r,   r.   r1   )r    r,   r.   dict[str, Any])r$   r2   r.   r2   )r)   r2   r.   r2   )__name__
__module____qualname____firstlineno____doc__r   r   r   r!   r%   r*   __static_attributes__ r   r   r   r      s     8  
	  !%""" " 
	" "" 
""" 
""#" 
"""" 
"r   r   N)r7   
__future__r   typingr   r   r9   r   r   <module>r<      s    # [" ["r   