Skip to content

Commit 7a2b741

Browse files
Validate sport type and improve plan_tour docs
- Add sport type validation against SupportedActivities - List common sport types in docstring (racebike, touringbicycle, mtb, hike, jogging, mtb_easy) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 8a6d8d8 commit 7a2b741

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

kompy/komoot_connector.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,9 @@ def plan_tour(
344344
:param waypoints: List of waypoint dicts with 'lat' and 'lng' keys,
345345
e.g. [{'lat': 53.14, 'lng': 8.21}, ...]
346346
:param tour_name: Name of the planned tour
347-
:param sport: Sport type, one of SupportedActivities (default: 'racebike')
347+
:param sport: Sport type, one of SupportedActivities, e.g. 'racebike', 'touringbicycle',
348+
'mtb', 'hike', 'jogging', 'mtb_easy' (gravel). See SupportedActivities for full list.
349+
Default: 'racebike'
348350
:param constitution: Fitness level 1-5 (default: 3)
349351
:param date: ISO date string for the planned tour (default: now)
350352
:param status: Privacy status (default: PrivacyStatus.FRIENDS)
@@ -355,6 +357,12 @@ def plan_tour(
355357
if len(waypoints) < 2:
356358
raise ValueError('At least 2 waypoints are required to plan a tour.')
357359

360+
if sport not in SupportedActivities.list_all():
361+
raise ValueError(
362+
f'Invalid sport type: {sport}. '
363+
f'Supported: {", ".join(SupportedActivities.list_all())}'
364+
)
365+
358366
if date is None:
359367
from datetime import datetime, timezone
360368
date = datetime.now(timezone.utc).strftime('%Y-%m-%dT%H:%M:%S.000Z')

0 commit comments

Comments
 (0)