diff --git a/src/data/streams/mutations/fitbit/parse_calories_intraday_json.py b/src/data/streams/mutations/fitbit/parse_calories_intraday_json.py index 5712215f..283d3ab4 100644 --- a/src/data/streams/mutations/fitbit/parse_calories_intraday_json.py +++ b/src/data/streams/mutations/fitbit/parse_calories_intraday_json.py @@ -18,7 +18,7 @@ def parseCaloriesData(calories_data): dataset = record["activities-calories-intraday"]["dataset"] for data in dataset: d_time = datetime.strptime(data["time"], '%H:%M:%S').time() - d_datetime = datetime.combine(curr_date, d_time) + d_datetime = datetime.combine(curr_date, d_time).strftime("%Y-%m-%d %H:%M:%S") row_intraday = (device_id, data["level"], data["mets"], data["value"], d_datetime, 0) records_intraday.append(row_intraday) diff --git a/src/data/streams/mutations/fitbit/parse_heartrate_intraday_json.py b/src/data/streams/mutations/fitbit/parse_heartrate_intraday_json.py index be1db124..121cde6b 100644 --- a/src/data/streams/mutations/fitbit/parse_heartrate_intraday_json.py +++ b/src/data/streams/mutations/fitbit/parse_heartrate_intraday_json.py @@ -32,13 +32,13 @@ def parseHeartrateZones(heartrate_data): def parseHeartrateIntradayData(records_intraday, dataset, device_id, curr_date, heartrate_zones_range): for data in dataset: d_time = datetime.strptime(data["time"], '%H:%M:%S').time() - d_datetime = datetime.combine(curr_date, d_time) + d_datetime = datetime.combine(curr_date, d_time).strftime("%Y-%m-%d %H:%M:%S") d_hr = data["value"] # Get heartrate zone by range: min <= heartrate < max d_hrzone = None for hrzone, hrrange in heartrate_zones_range.items(): - if d_hr >= hrrange[0] and d_hr < hrrange[1]: + if d_hr >= hrrange[0] and d_hr <= hrrange[1]: d_hrzone = hrzone break diff --git a/src/data/streams/mutations/fitbit/parse_heartrate_summary_json.py b/src/data/streams/mutations/fitbit/parse_heartrate_summary_json.py index ca12312a..92d68a21 100644 --- a/src/data/streams/mutations/fitbit/parse_heartrate_summary_json.py +++ b/src/data/streams/mutations/fitbit/parse_heartrate_summary_json.py @@ -1,6 +1,5 @@ import json import pandas as pd -from datetime import datetime HR_SUMMARY_COLUMNS = ("device_id", @@ -55,7 +54,7 @@ def parseHeartrateData(heartrate_data): for record in heartrate_data.json_fitbit_column: record = json.loads(record) # Parse text into JSON if "activities-heart" in record: - curr_date = datetime.strptime(record["activities-heart"][0]["dateTime"], "%Y-%m-%d") + curr_date = record["activities-heart"][0]["dateTime"] + " 00:00:00" record_summary = record["activities-heart"][0] row_summary = parseHeartrateSummaryData(record_summary, device_id, curr_date) diff --git a/src/data/streams/mutations/fitbit/parse_sleep_intraday_json.py b/src/data/streams/mutations/fitbit/parse_sleep_intraday_json.py index 0c8b2416..9603dd4f 100644 --- a/src/data/streams/mutations/fitbit/parse_sleep_intraday_json.py +++ b/src/data/streams/mutations/fitbit/parse_sleep_intraday_json.py @@ -64,7 +64,7 @@ def parseOneRecordForV1(record, device_id, d_is_main_sleep, records_intraday, ty d_time = datetime.strptime(data["dateTime"], '%H:%M:%S').time() if is_before_midnight and d_time.hour == 0: curr_date = end_date - d_datetime = datetime.combine(curr_date, d_time) + d_datetime = datetime.combine(curr_date, d_time).strftime("%Y-%m-%d %H:%M:%S") # API 1.2 stores original_level as strings, so we convert original_levels of API 1 to strings too # (1: "asleep", 2: "restless", 3: "awake") @@ -86,7 +86,7 @@ def parseOneRecordForV12(record, device_id, d_is_main_sleep, records_intraday, t if sleep_record_type == "classic": for data in record["levels"]["data"]: - d_datetime = dateutil.parser.parse(data["dateTime"]) + d_datetime = data["dateTime"][:19].replace("T", " ") row_intraday = (device_id, type_episode_id, data["seconds"], data["level"], d_is_main_sleep, sleep_record_type, @@ -95,9 +95,10 @@ def parseOneRecordForV12(record, device_id, d_is_main_sleep, records_intraday, t else: # For sleep type "stages" for data in mergeLongAndShortData(record["levels"]): + d_datetime = data[0].strftime("%Y-%m-%d %H:%M:%S") row_intraday = (device_id, type_episode_id, 30, data[1], d_is_main_sleep, sleep_record_type, - data[0], 0) + d_datetime, 0) records_intraday.append(row_intraday) diff --git a/src/data/streams/mutations/fitbit/parse_sleep_summary_json.py b/src/data/streams/mutations/fitbit/parse_sleep_summary_json.py index c994c63e..d8279d51 100644 --- a/src/data/streams/mutations/fitbit/parse_sleep_summary_json.py +++ b/src/data/streams/mutations/fitbit/parse_sleep_summary_json.py @@ -1,8 +1,5 @@ -import json, yaml +import json import pandas as pd -import numpy as np -from datetime import datetime, timedelta -import dateutil.parser SLEEP_SUMMARY_COLUMNS = ("device_id", "efficiency", "minutes_after_wakeup", "minutes_asleep", "minutes_awake", "minutes_to_fall_asleep", "minutes_in_bed", @@ -16,8 +13,8 @@ def parseOneSleepRecord(record, device_id, d_is_main_sleep, records_summary, epi sleep_record_type = episode_type - d_start_datetime = datetime.strptime(record["startTime"][:18], "%Y-%m-%dT%H:%M:%S") - d_end_datetime = datetime.strptime(record["endTime"][:18], "%Y-%m-%dT%H:%M:%S") + d_start_datetime = record["startTime"][:19].replace("T", " ") + d_end_datetime = record["endTime"][:19].replace("T", " ") # Summary data row_summary = (device_id, record["efficiency"], record["minutesAfterWakeup"], record["minutesAsleep"], record["minutesAwake"], record["minutesToFallAsleep"], record["timeInBed"], diff --git a/src/data/streams/mutations/fitbit/parse_steps_intraday_json.py b/src/data/streams/mutations/fitbit/parse_steps_intraday_json.py index d8a4e2bc..f48cd8ee 100644 --- a/src/data/streams/mutations/fitbit/parse_steps_intraday_json.py +++ b/src/data/streams/mutations/fitbit/parse_steps_intraday_json.py @@ -23,7 +23,7 @@ def parseStepsData(steps_data): dataset = record["activities-steps-intraday"]["dataset"] for data in dataset: d_time = datetime.strptime(data["time"], '%H:%M:%S').time() - d_datetime = datetime.combine(curr_date, d_time) + d_datetime = datetime.combine(curr_date, d_time).strftime("%Y-%m-%d %H:%M:%S") row_intraday = (device_id, data["value"], diff --git a/src/data/streams/mutations/fitbit/parse_steps_summary_json.py b/src/data/streams/mutations/fitbit/parse_steps_summary_json.py index 92cb8f1c..b7ac383e 100644 --- a/src/data/streams/mutations/fitbit/parse_steps_summary_json.py +++ b/src/data/streams/mutations/fitbit/parse_steps_summary_json.py @@ -1,6 +1,5 @@ import json import pandas as pd -from datetime import datetime STEPS_COLUMNS = ("device_id", "steps", "local_date_time", "timestamp") @@ -16,7 +15,7 @@ def parseStepsData(steps_data): for record in steps_data.json_fitbit_column: record = json.loads(record) # Parse text into JSON if "activities-steps" in record.keys(): - curr_date = datetime.strptime(record["activities-steps"][0]["dateTime"], "%Y-%m-%d") + curr_date = record["activities-steps"][0]["dateTime"] + " 00:00:00" row_summary = (device_id, record["activities-steps"][0]["value"],