def presence_start_end_per_weekday_view(user_id):
    """
    Returns list of mean presence start and end 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 = start_end_group_by_weekday(data[user_id])
    mean_start_end = mean_start_end_by_weekday(weekdays)
    result = [(calendar.day_abbr[weekday], start_end[0], start_end[1])
              for weekday, start_end in enumerate(mean_start_end)]
    return result
def presence_start_end_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)

    week_stats = mean_start_end_by_weekday(data[user_id])
    result = [
        (calendar.day_abbr[weekday], start, end)
        for weekday, start, end in week_stats
    ]

    return result
def presence_start_end_per_weekday_view(user_id):
    """
    Returns list of mean presence start and end 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 = start_end_group_by_weekday(data[user_id])
    mean_start_end = mean_start_end_by_weekday(weekdays)
    result = [
        (calendar.day_abbr[weekday], start_end[0], start_end[1])
        for weekday, start_end in enumerate(mean_start_end)
    ]
    return result
 def test_mean_start_end_grouped_by_weekday(self):
     """
     Test mean start/end presence by workday.
     """
     data = utils.get_data()
     grouped_by_weekday = utils.start_end_group_by_weekday(data[11])
     mean_start_end_by_day = utils.mean_start_end_by_weekday(
         grouped_by_weekday)
     self.assertEqual(mean_start_end_by_day, [
         ['09:12:14', '15:54:17'],
         ['09:19:50', '13:55:54'],
         ['09:13:26', '16:15:27'],
         ['09:53:22', '16:16:26'],
         ['13:16:56', '15:04:02'],
         ['00:00:00', '00:00:00'],
         ['00:00:00', '00:00:00'],
     ])
 def test_mean_start_end_grouped_by_weekday(self):
     """
     Test mean start/end presence by workday.
     """
     data = utils.get_data()
     grouped_by_weekday = utils.start_end_group_by_weekday(data[11])
     mean_start_end_by_day = utils.mean_start_end_by_weekday(
         grouped_by_weekday)
     self.assertEqual(
         mean_start_end_by_day,
         [
             ['09:12:14', '15:54:17'],
             ['09:19:50', '13:55:54'],
             ['09:13:26', '16:15:27'],
             ['09:53:22', '16:16:26'],
             ['13:16:56', '15:04:02'],
             ['00:00:00', '00:00:00'],
             ['00:00:00', '00:00:00'],
         ]
     )