def get_duration(self, workout): duration = 0 self.duration = utils.sGet(workout, 'duration')/60000 self.pace_vec = [] try: for item in workout['history']: if item['type'] == "SPEED" and item['intervalUnit'] == "SEC": self.duration = len(item['values']) * item['intervalMetric'] / 60. self.pace_vec = item['values'] except: self.duration = 0 print "Duration: ", self.duration
def loadRawData(self, activity, workout): self.id = utils.sGet(activity, 'activityId') self.distance = utils.sGet(activity, 'distance') self.calories = utils.sGet(activity, 'calories') self.fuel = utils.sGet(activity, 'fuel') self.gender = utils.sGet(workout, 'gender') self.get_duration(activity) # Minutes per mile try: self.avg_pace = self.duration/(self.distance/1.6) except: self.avg_pace = 0 self.status = utils.sGet(activity, 'status') self.date = utils.sGet(activity, 'startTimeUtc') self.time_zone = utils.sGet(activity, 'timeZone')
import utils import json from DataObjects import * import numpy as np file = open("crappy_workout_json.txt", "r") out = open("clean_data.txt", 'w') athletes = [] i = 0 for line in file: i += 1 data = utils.sLoad(line) user = Athlete(utils.sGet(data, 'user_id')) invalidUser = False workouts = utils.sGet(data, 'workouts') if not workouts: continue for w in workouts: activity = utils.sGet(w, 'activity') if not activity: print "Missing activity information, skipping..." invalidUser = True break workout = Workout() workout.loadRawData(activity, w) #print "Workout: %s, distance: %f"%(workout.id, workout.distance) user.addWorkout(workout) if invalidUser:
def loadObject(self, data): self.id = data['id'] self.gender = utils.sGet(data, 'gender') for w in data['workouts']: workout = Workout() self.workouts.append(workout.loadObject(w))