def get_entries_by_date(uid): """Given a user, get the user's entries by date.""" from ec import et entries = get_entries_for_user(uid) by_date = {} for entry in entries: by_date.setdefault(entry.date, []) by_date[entry.date].append(entry) entry['exercise_type'] = et.get_exercise_type(entry.exercise_type_id) entry['data_points'] = get_data_points_for_entry(entry.id) for data_point in entry['data_points']: data_point['measure'] = et.get_measure(data_point.measure_id) return sorted(by_date.items(), reverse=True)
def render(self, date, entries, can_delete=False): if entries: user = ec.users.get_user(entries[0].user_id) else: user = None for entry in entries: if 'exercise_type' not in entry: entry['exercise_type'] = et.get_exercise_type(entry.exercise_type_id) if 'data_points' not in entry: entry['data_points'] = ec.entries.get_data_points_for_entry(entry.id) for data_point in entry['data_points']: if 'measure' not in data_point: data_point['measure'] = et.get_measure(data_point.measure_id) return super(EntriesBox, self).render( legend=date.strftime("%B %d"), content=self.render_string( "templates/ui/entries-list.html", entries=entries, user=user, can_delete=can_delete))