File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import logging
2+ import time
23from enum import Enum
34
45from aiohttp import ClientSession
@@ -54,7 +55,8 @@ async def get(
5455 player : str ,
5556 mode : Mode = Mode .OLDSCHOOL ,
5657 session : ClientSession | None = None ,
57- ) -> PlayerStats :
58+ return_latency : bool = False ,
59+ ) -> PlayerStats | tuple [PlayerStats , float ]:
5860 """
5961 Fetches player stats from the OSRS hiscores API.
6062
@@ -74,6 +76,8 @@ async def get(
7476 """
7577 await self .rate_limiter .check ()
7678
79+ start_time = time .perf_counter ()
80+
7781 logger .debug (f"Performing hiscores lookup on { player } " )
7882 url = f"{ self .BASE_URL } /m={ mode .value } /index_lite.json"
7983 params = {"player" : player }
@@ -99,4 +103,8 @@ async def get(
99103 if session is None :
100104 await _session .close ()
101105
106+ if return_latency :
107+ total_time = time .perf_counter () - start_time
108+ return PlayerStats (** data ), total_time
109+
102110 return PlayerStats (** data )
Original file line number Diff line number Diff line change @@ -26,5 +26,5 @@ async def check(self):
2626 # If time_span is less than interval seconds, sleep for the remaining time
2727 if time_span < self .interval :
2828 sleep_time = self .interval - time_span
29- logger .debug (f"Rate limit reached. Sleeping for { sleep_time } seconds." )
29+ logger .info (f"Rate limit reached. Sleeping for { sleep_time } seconds." )
3030 await asyncio .sleep (sleep_time )
You can’t perform that action at this time.
0 commit comments