def get_paused_sessions(): if not os.path.exists(PAUSED_SESSIONS_FILE): return [] try: sessions_f = open_locked(PAUSED_SESSIONS_FILE, 'r') except IOError as err: logger.error('Error opening the paused sessions file: {}'.format(err)) return [] else: with sessions_f: paused_sessions = [] for session in sessions_f: if not session: continue try: new_session = TrackingSession.loads(session) except TypeError: logger.warn( 'Failed to process session: {}'.format(session)) continue paused_sessions.append(new_session) return paused_sessions
def test_pause_tracking_sessions(tracking_session, sample_tracking_sessions): import kano_profile.tracker.tracking_sessions as tracking_sessions from kano_profile.tracker.tracking_session import TrackingSession from kano_profile.paths import PAUSED_SESSIONS_FILE open_session = tracking_session.format_session('active-session', 987654321, os.getpid(), 55, False) open_session_obj = TrackingSession(name=open_session['name'], pid=open_session['pid']) sample_tracking_sessions.append(open_session) tracking_session.setup_sessions(sample_tracking_sessions) tracking_session.setup_paused_sessions(None) assert tracking_sessions.get_open_sessions() == [open_session_obj] assert tracking_sessions.get_paused_sessions() == [] tracking_sessions.pause_tracking_sessions() assert tracking_sessions.get_open_sessions() == [] assert tracking_sessions.get_paused_sessions() == [open_session_obj] with open(PAUSED_SESSIONS_FILE, 'r') as paused_sessions_f: tracking_session = [line for line in paused_sessions_f if line] assert len(tracking_session) == 1 assert TrackingSession.loads(tracking_session[0]) == open_session_obj
def test_pause_tracking_sessions(tracking_session, sample_tracking_sessions): import kano_profile.tracker.tracking_sessions as tracking_sessions from kano_profile.tracker.tracking_session import TrackingSession from kano_profile.paths import PAUSED_SESSIONS_FILE open_session = tracking_session.format_session( 'active-session', 987654321, os.getpid(), 55, False ) open_session_obj = TrackingSession( name=open_session['name'], pid=open_session['pid'] ) sample_tracking_sessions.append(open_session) tracking_session.setup_sessions(sample_tracking_sessions) tracking_session.setup_paused_sessions(None) assert tracking_sessions.get_open_sessions() == [open_session_obj] assert tracking_sessions.get_paused_sessions() == [] tracking_sessions.pause_tracking_sessions() assert tracking_sessions.get_open_sessions() == [] assert tracking_sessions.get_paused_sessions() == [open_session_obj] with open(PAUSED_SESSIONS_FILE, 'r') as paused_sessions_f: tracking_session = [ line for line in paused_sessions_f if line ] assert len(tracking_session) == 1 assert TrackingSession.loads(tracking_session[0]) == open_session_obj
def get_paused_sessions(): if not os.path.exists(PAUSED_SESSIONS_FILE): return [] try: sessions_f = open_locked(PAUSED_SESSIONS_FILE, 'r') except IOError as err: logger.error('Error opening the paused sessions file: {}'.format(err)) return [] else: with sessions_f: paused_sessions = [] for session in sessions_f: if not session: continue try: new_session = TrackingSession.loads(session) except TypeError: logger.warn('Failed to process session: {}'.format(session)) continue paused_sessions.append(new_session) return paused_sessions