-
Notifications
You must be signed in to change notification settings - Fork 36
Closed
Labels
Description
Problem
def is_player_authorized(self, index, permission):
"""Return True if the player has been granted the given permission.
:rtype: bool
"""
return permission in self.get_player_permissions(index) def get_player_permissions(self, index):
""".. seealso:: :meth:`get_player_permissions_from_steamid`"""
return self.get_player_permissions_from_steamid(
playerinfo_from_index(index).steamid)get_player_permissions_from_steamid
def get_player_permissions_from_steamid(self, steamid):
"""Return the permissions of a player.
:param str/int steamid:
The SteamID2, SteamID3 or SteamID64 of a player.
:return:
If the given SteamID is invalid (e.g. 'BOT'), None will be
returned.
:rtype: PlayerPermissions
"""
try:
return self.players[steamid]
except ValueError:
return NoneSee, get_player_permissions_from_steamid (and thus get_player_permissions) can return None. But in that case the following line in is_player_authorized:
return permission in self.get_player_permissions(index)will raise TypeError: argument of type 'NoneType' is not iterable
Possible solution
def is_player_authorized(self, index, permission):
"""Return True if the player has been granted the given permission.
:rtype: bool
"""
permissions = self.get_player_permissions(index)
if permissions is None:
return False
return permission in permissions