Beispiel #1
0
 def data(self, index, role=Qt.DisplayRole):
     if not index.isValid():
         return None
     row = self._dataFrame.index[index.row()]
     col = self._dataFrame.columns[index.column()]
     if role == Qt.DisplayRole:
         if self._cur_drop_type == DropTypes.Drop:
             multiplier = self.rpe_table.ix[row, col]
             if not self._cur_e1rm:
                 return str(multiplier * 100)
             weight = round_5lbs(self._cur_e1rm * multiplier)
             rpe = self.rpe_table.index[self.rpe_table.index == row][0]
             reps = self.rpe_table.columns.tolist()[col-1]
             return '{}x{}@{} ({}%)'.format(weight, reps, rpe, int(multiplier*100))
         elif self._cur_drop_type == DropTypes.Repeat:
             pass    # TODO: Implement Repeat table
     elif role == Qt.BackgroundColorRole:
         try:
             per = self.rpe_table.ix[row].ix[col]
             if per > 0.89:
                 result = Theme.RpeBrushUndesirable
             elif 0.81 >= per >= 0.79:
                 result = Theme.RpeBrushIdeal
             else:
                 result = None
             return result
         except KeyError:
             pass
     else:
         return super().data(index, role)
Beispiel #2
0
 def make_workout(self, lift, sets, date):
     workout = pd.DataFrame()
     for set in sets:
         weight, reps, rpe = set
         weight = analysis.round_5lbs(weight)
         set_data = self.make_set(date=date, lift=lift, weight=weight, reps=reps, rpe=rpe)
         workout = workout.append(set_data, ignore_index=True)
     return workout