def update(self, max_strava_id): for result in self._fetch_data(group_by=self.group_by): Quantity.add_or_update(self.name, result.athlete, self._key(result), result.max_strava_id, result.distance, {'count': result.count, 'elevation_gain': result.elevation_gain, 'moving_time': result.moving_time, 'distance': result.distance, 'average_speed': result.distance/result.moving_time } )
def all(self): return Quantity.select().where(Quantity.class_name == self.name)
def get(self, athlete, key): try: return Quantity.get(class_name=self.name, athlete=athlete, key=self._key(key)) except Quantity.DoesNotExist: return Quantity(class_name=self.name, athlete=athlete, key=self._key(key), value=0)
def orphans(self): return Quantity.select().where(Quantity.class_name == self.name, ~(Quantity.key << self._key_query()))