def update_heart_sleep(self, base_date, heartfile, sleepfile, end_date=None): today = self._get_date_str(end_date) if end_date else \ self._get_date_str(datetime.datetime.today()) bd = self._get_date_str(base_date) config_from_file(heartfile, self.get_heartrate_info(base_date=bd, end_date=today),update=True) config_from_file(sleepfile, self.get_sleep_info(base_date=bd, end_date=today),update=True)
def sleep_time_series(speepfile='sleep.txt'): sleepinfo = config_from_file(speepfile) return pd.DataFrame( list( flatten([[{ 'dateOfSleep': dateOfSleep, 'minutesAsleep': spp['minutesAsleep'] } for spp in sp] for dateOfSleep, sp in sleepinfo.items()])))
def update_heart_intraday(self,base_date,heartintradayfile, end_date=None): bdate = self._get_date_str(base_date) today = self._get_date_str(end_date) if end_date else \ self._get_date_str(datetime.datetime.today()) return self.limited_date_API_call(bdate,today, lambda bd,ed: config_from_file(heartintradayfile, self.get_intraday_heartrate_info(base_date=bd, end_date=ed, detail_level = '1sec'),update=True))
def save_token(self, token): config_contents = { ATTR_ACCESS_TOKEN: token['access_token'], ATTR_REFRESH_TOKEN: token['refresh_token'], ATTR_CLIENT_ID: self.client_id, ATTR_CLIENT_SECRET: self.client_secret, ATTR_LAST_SAVED_AT: int(time.time()) } return config_from_file(FITBIT_CONFIG_FILE, config_contents)
# # # API Request limit on heartrate intraday info # try: # remaining_range = fbApi.update_heart_intraday(base_date,'heartrate-intraday.txt') # except : # pass # # remaining_range # load from files heartrateinfo = config_from_file('heartrate.txt') heartrateintradayinfo = config_from_file('heartrate-intraday.txt') sleepinfo = config_from_file('sleep.txt') hr = heartrateintradayinfo hr['2018-06-10'] sleepts = pdw.sleep_time_series('sleep.txt')
def intraday_hr_dataframe(heartfile='heartrate-intraday.txt'): hr = config_from_file(heartfile) return dictsOfDicts_to_dataframes({ dateTime: info['activities-heart-intraday']['dataset'] for dateTime, info in hr.items() })