diff --git a/session.py b/session.py index 0acee9d7f..51adcd839 100755 --- a/session.py +++ b/session.py @@ -120,7 +120,16 @@ class SessionProtocol(StatefulTelnetProtocol): create \"\" \n\r""" buffer += '-'*50 self.msg(buffer) - + + def is_loggedin(self): + """ + Returns a boolean True if the session is logged in. + """ + try: + return self.logged_in + except: + return False + def login(self, user): """ After the user has authenticated, handle logging him in. diff --git a/session_mgr.py b/session_mgr.py index 649637508..7571652c9 100644 --- a/session_mgr.py +++ b/session_mgr.py @@ -14,11 +14,14 @@ def add_session(session): session_list.insert(0, session) print 'Sessions active:', len(get_session_list()) -def get_session_list(): +def get_session_list(return_unlogged=False): """ Lists the connected session objects. """ - return session_list + if return_unlogged: + return session_list + else: + return [sess for sess in session_list if sess.is_loggedin()] def disconnect_all_sessions(): """