From 1526924b93fab19ff2b41ab9b0bc92c9b1396bf0 Mon Sep 17 00:00:00 2001 From: Griatch Date: Wed, 11 Mar 2015 23:54:44 +0100 Subject: [PATCH] Changed sessionhandler.all_connected_players() to return a list of Player objects rather than a list if uids (pointed out by Volund). Also changed sessionhandler.player_count() only return the count without any extra kwarg and doing so a little more efficiently. --- evennia/server/sessionhandler.py | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/evennia/server/sessionhandler.py b/evennia/server/sessionhandler.py index 64a4291810..75a2536839 100644 --- a/evennia/server/sessionhandler.py +++ b/evennia/server/sessionhandler.py @@ -365,32 +365,28 @@ class ServerSessionHandler(SessionHandler): and (tcurr - session.cmd_last) > _IDLE_TIMEOUT): self.disconnect(session, reason=reason) - def player_count(self, count=True): + def player_count(self): """ Get the number of connected players (not sessions since a player may have more than one session depending on settings). Only logged-in players are counted here. - Args: - count (bool): If true, return a count of players, otherwise - return a list. - Returns: - number (int): If count=True - players (list): I count=False + nplayer (int): Number of connected players """ - players = set(session.uid for session in self.sessions.values() if session.logged_in) - if count: - return len(players) - return players + return len(set(session.uid for session in self.sessions.values() if session.logged_in)) def all_connected_players(self): """ - Returns all conected players (not sessions, since a player may - have more than one session depending on sessions) + Get a unique list of connected and logged-in Players. + + Returns: + players (list): All conected Players (which may be fewer than the + amount of Sessions due to multi-playing). + """ - return self.player_count(count=False) + return list(set(session.player for session in self.sessions.values() if session.logged_in and session.player)) def session_from_sessid(self, sessid): """