Created function that extracts FileRecords from fit file.
This commit is contained in:
parent
1227bbef7f
commit
e915c9ee82
|
|
@ -1,5 +1,6 @@
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from analyze_sport_data.heart_rate_record import HeartRateRecord
|
from analyze_sport_data.heart_rate_record import HeartRateRecord
|
||||||
|
from garmin_fit_sdk import Decoder, Stream
|
||||||
|
|
||||||
|
|
||||||
class FileRecords:
|
class FileRecords:
|
||||||
|
|
@ -14,3 +15,17 @@ class FileRecords:
|
||||||
record.heart_rate) for record in heart_rate_records
|
record.heart_rate) for record in heart_rate_records
|
||||||
]
|
]
|
||||||
self.heart_rate_time_offset = heart_rate_time_offset
|
self.heart_rate_time_offset = heart_rate_time_offset
|
||||||
|
|
||||||
|
|
||||||
|
def from_fit_file(file_path: str,
|
||||||
|
friendly_name: str | None = None) -> FileRecords:
|
||||||
|
stream = Stream.from_file(file_path)
|
||||||
|
decoder = Decoder(stream)
|
||||||
|
messages, _errors = decoder.read()
|
||||||
|
records = messages["record_mesgs"]
|
||||||
|
heart_rate_records: list[HeartRateRecord] = [
|
||||||
|
HeartRateRecord(record["timestamp"], record["heart_rate"])
|
||||||
|
for record in records if record["heart_rate"] != None
|
||||||
|
]
|
||||||
|
return FileRecords(friendly_name if friendly_name != None else file_path,
|
||||||
|
heart_rate_records)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue