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 analyze_sport_data.heart_rate_record import HeartRateRecord
|
||||
from garmin_fit_sdk import Decoder, Stream
|
||||
|
||||
|
||||
class FileRecords:
|
||||
|
|
@ -14,3 +15,17 @@ class FileRecords:
|
|||
record.heart_rate) for record in heart_rate_records
|
||||
]
|
||||
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