mirror of
https://github.com/sstent/garminsync-go.git
synced 2026-02-14 19:31:53 +00:00
checkpoint 3
This commit is contained in:
15
cleanup.sh
Executable file
15
cleanup.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Move activity.go back to parser directory
|
||||||
|
mv internal/parser/activity.go internal/parser/activity.go
|
||||||
|
|
||||||
|
# Remove extra directories
|
||||||
|
rm -rf internal/parser/activity
|
||||||
|
|
||||||
|
# Revert import paths
|
||||||
|
find . -name '*.go' -exec sed -i \
|
||||||
|
-e 's|parser/activity/activity|parser|g' \
|
||||||
|
-e 's|github.com/sstent/garminsync-go/internal/parser/activity/activity|github.com/sstent/garminsync-go/internal/parser|g' \
|
||||||
|
{} +
|
||||||
|
|
||||||
|
# Remove unused fix_imports script
|
||||||
|
rm -f fix_imports.sh
|
||||||
35
internal/parser/activity.go
Normal file
35
internal/parser/activity.go
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package parser
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// ActivityMetrics contains all metrics extracted from activity files
|
||||||
|
type ActivityMetrics struct {
|
||||||
|
ActivityType string
|
||||||
|
StartTime time.Time
|
||||||
|
Duration time.Duration
|
||||||
|
Distance float64 // in meters
|
||||||
|
MaxHeartRate int
|
||||||
|
AvgHeartRate int
|
||||||
|
AvgPower int
|
||||||
|
Calories int
|
||||||
|
Steps int
|
||||||
|
ElevationGain float64 // in meters
|
||||||
|
ElevationLoss float64 // in meters
|
||||||
|
MinTemperature float64 // in °C
|
||||||
|
MaxTemperature float64 // in °C
|
||||||
|
AvgTemperature float64 // in °C
|
||||||
|
}
|
||||||
|
|
||||||
|
// Parser defines the interface for activity file parsers
|
||||||
|
type Parser interface {
|
||||||
|
ParseFile(filename string) (*ActivityMetrics, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FileType represents supported file formats
|
||||||
|
type FileType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
FIT FileType = "fit"
|
||||||
|
TCX FileType = "tcx"
|
||||||
|
GPX FileType = "gpx"
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user