def mean_time_weekday_view(user_id): """ Returns mean presence time of given user grouped by weekday. """ data = get_data() if user_id not in data: log.debug("User %s not found!", user_id) abort(404) weekdays = group_by_weekday(data[user_id]) result = [(weekday_abbr(weekday), mean(intervals)) for weekday, intervals in enumerate(weekdays)] return result
def start_end_time_view(user_id): """ Returns time periods of given user spend in office. """ data = get_data() if user_id not in data: log.debug("User %s not found!", user_id) abort(404) mean_start_end_times = get_mean_start_end_time(data[user_id]) results = [ (weekday_abbr(weekday), mean_times[0], mean_times[1]) for weekday, mean_times in enumerate(mean_start_end_times) ] return results
def presence_weekday_view(user_id): """ Returns total presence time of given user grouped by weekday. """ data = get_data() if user_id not in data: log.debug("User %s not found!", user_id) abort(404) weekdays = group_by_weekday(data[user_id]) result = [(weekday_abbr(weekday), sum(intervals)) for weekday, intervals in enumerate(weekdays)] result.insert(0, ("Weekday", "Presence (hours)")) return result
def test_weekday_abbr(self): """ Test returning correct weekday abbreviation. """ self.assertEqual(utils.weekday_abbr(2), 'Wed')