From e471deb9d0224188ed99283281cbf8a01401aa51 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Tue, 6 Dec 2016 17:36:50 +0000 Subject: [PATCH] fix #61; SteamLeaderboard.__getitem__ return list for single item lookup --- steam/client/builtins/leaderboards.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/steam/client/builtins/leaderboards.py b/steam/client/builtins/leaderboards.py index 4606651..fca6a96 100644 --- a/steam/client/builtins/leaderboards.py +++ b/steam/client/builtins/leaderboards.py @@ -145,15 +145,21 @@ class SteamLeaderboard(object): if step < 0: start, stop = stop, start step = abs(step) + + if start >= stop: return [] else: if x < 0: x += self.entry_count start, stop, step = x, x + 1, 1 - if start >= stop: return [] + if x < 0 or x >= self.entry_count: + raise IndexError('list index out of range') entries = self.get_entries(start+1, stop) - return [entries[i] for i in _range(0, len(entries), step)] + if isinstance(x, slice): + return [entries[i] for i in _range(0, len(entries), step)] + else: + return entries[0] def get_iter(self, times, seconds, chunk_size=2000): """Make a iterator over the entries