Ejemplo n.º 1
0
def _trim_to_time(workout, user):
    if not workout.can_manipulate():
        return
    items_to_trim = [workout]
    cardio_session = workout.cardio_session
    if cardio_session:
        items_to_trim.append(cardio_session)
    total_time = sum([trimmable.get_total_time() for trimmable in items_to_trim])
    target_time = user.minutes_per_day
    if target_time >= total_time:
        return

    trim_by_percent = 1.0 - (float(target_time) / total_time)
    trim_by_percent = get_new_trim_by_percent(total_time, items_to_trim, trim_by_percent)

    for trimmable in items_to_trim:
        trimmable.trim_by_percent(trim_by_percent)

    workout.refresh_and_save()
Ejemplo n.º 2
0
 def _trim_by_exact_percent(self, percent):
     total_time = self.get_total_time()
     percent = get_new_trim_by_percent(total_time, self.cardio_intervals, percent)
     for cardio_interval in self.cardio_intervals:
         cardio_interval.trim_by_percent(percent)