def log_user_exercise_filter(self, exercise_filter): self._log("Starting individual workout generation. User for " + "fitness %s, experience %s, phase %s, and %s equipment items: %s" % ( self.user.fitness_level, self.user.experience, Phase.get_by_id(self.user.current_phase_id).title, len(self.user.get_available_equipment_ids()), exercise_filter.count() ) )
def to_json(self): return { 'username': self._user.username, 'email': self._user.email, 'enabled_days': self.get_enabled_isoweekdays(), 'minutes_per_day': self._user.minutes_per_day, 'fitness_level': self._user.fitness_level, 'experience': self._user.experience, 'status': StatusState.from_index(self._user.status_state_id).canonical_name, 'goal': Goal.get_by_id_as_json(self._user.goal_id), 'gender': GenderType.from_index(self._user.gender_id).canonical_name, 'age': self._user.age, 'equipment_ids': self.get_available_equipment_ids(), 'current_week_in_phase': self._user.current_week_in_phase, 'total_weeks_in_phase': self._user.total_weeks_in_phase, 'max_heart_rate': 220 - self._user.age, 'phase': Phase.get_by_id(self._user.current_phase_id).to_json() if self._user.current_phase_id else None }
def phase(self): return Phase.get_by_id(self.phase_id)