@@ -50,16 +50,16 @@ def __init__(self, token, session=None, timeout=30, is_async=False, **options):
5050 self .loop = options .get ('loop' , asyncio .get_event_loop ()) if self .is_async else None
5151 self .connector = options .get ('connector' )
5252
53+ self .debug = options .get ('debug' , False )
54+ self .cache = TTLCache (3200 * 3 , 60 * 3 ) # 3200 requests per minute
55+
5356 # Session and request options
5457 self .session = options .get ('session' ) or (
5558 aiohttp .ClientSession (loop = self .loop , connector = self .connector ) if self .is_async else requests .Session ()
5659 )
5760 self .timeout = timeout
5861 self .prevent_ratelimit = options .get ('prevent_ratelimit' , False )
59- self .api = API (options .get ('base_url' ), version = 1 )
60-
61- self .debug = options .get ('debug' , False )
62- self .cache = TTLCache (3200 * 3 , 60 * 3 ) # 3200 requests per minute
62+ self .api = API (base_url = options .get ('base_url' ), version = 1 )
6363
6464 # Request/response headers
6565 self .headers = {
@@ -68,6 +68,13 @@ def __init__(self, token, session=None, timeout=30, is_async=False, **options):
6868 'Accept-Encoding' : 'gzip'
6969 }
7070
71+ # Load brawlers for get_rankings
72+ if self .is_async :
73+ brawlers_info = self .loop .run_until_complete (self .get_brawlers ())
74+ else :
75+ brawlers_info = self .get_brawlers ()
76+ self .api .set_brawlers (brawlers_info )
77+
7178 def __repr__ (self ):
7279 return '<Client async={} timeout={} debug={}>' .format (self .is_async , self .timeout , self .debug )
7380
@@ -272,19 +279,20 @@ def get_rankings(self, *, ranking: str, region=None, limit: int=200, brawler=Non
272279
273280 Returns Ranking
274281 """
275- if region is None :
276- region = 'global'
277-
278282 if brawler is not None :
279283 if isinstance (brawler , str ):
280284 brawler = brawler .lower ()
285+
281286 # Replace brawler name with ID
282- if brawler in self .api .BRAWLERS .keys ():
283- brawler = self .api .BRAWLERS [brawler ]
287+ if brawler in self .api .CURRENT_BRAWLERS .keys ():
288+ brawler = self .api .CURRENT_BRAWLERS [brawler ]
284289
285- if brawler not in self .api .BRAWLERS .values ():
290+ if brawler not in self .api .CURRENT_BRAWLERS .values ():
286291 raise ValueError ('Invalid brawler.' )
287292
293+ if region is None :
294+ region = 'global'
295+
288296 # Check for invalid parameters
289297 if ranking not in ('players' , 'clubs' , 'brawlers' ):
290298 raise ValueError ("'ranking' must be 'players', 'clubs' or 'brawlers'." )
@@ -319,4 +327,4 @@ def get_brawlers(self):
319327
320328 Returns Brawlers
321329 """
322- return self ._get_model (self .api .BRAWLERS_URL , model = Brawlers )
330+ return self ._get_model (self .api .BRAWLERS , model = Brawlers )
0 commit comments