aboutsummaryrefslogtreecommitdiff
path: root/fietsboek/convert.py
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2025-10-27 21:04:40 +0100
committerDaniel Schadt <kingdread@gmx.de>2025-10-28 21:06:37 +0100
commitcb889cacd3e362e0bfe5ea2e241706777331de94 (patch)
treef0acccf5ff9ee31f510445e614fce18263802973 /fietsboek/convert.py
parent9dfe8c6282a38805ceb11ac9b9bbc848955ab785 (diff)
downloadfietsboek-cb889cacd3e362e0bfe5ea2e241706777331de94.tar.gz
fietsboek-cb889cacd3e362e0bfe5ea2e241706777331de94.tar.bz2
fietsboek-cb889cacd3e362e0bfe5ea2e241706777331de94.zip
add waypoints to database
Diffstat (limited to 'fietsboek/convert.py')
-rw-r--r--fietsboek/convert.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/fietsboek/convert.py b/fietsboek/convert.py
index 5115dd7..04c7e73 100644
--- a/fietsboek/convert.py
+++ b/fietsboek/convert.py
@@ -6,7 +6,7 @@ import fitparse
import gpxpy
from . import geo, util
-from .models import Track
+from .models import Track, Waypoint
FIT_RECORD_FIELDS = ["position_lat", "position_long", "altitude", "timestamp"]
@@ -103,6 +103,25 @@ def from_gpx(data: bytes) -> Track:
track.title = track_name
track.description = track_desc
track.date = date
+
+ for waypoint in gpx.waypoints:
+ desc = None
+ # GPX waypoints can have both description and comment. It seems like
+ # comment is what is usually used (GPXViewer only shows the comment),
+ # so we'll prioritize that.
+ if waypoint.comment:
+ desc = waypoint.comment
+ if not desc and waypoint.description:
+ desc = waypoint.description
+ wpt = Waypoint(
+ longitude=waypoint.longitude,
+ latitude=waypoint.latitude,
+ elevation=waypoint.elevation,
+ name=waypoint.name,
+ description=desc,
+ )
+ track.waypoints.append(wpt)
+
return track