Repository navigation
Fix GPX export namespace and timestamp handling with real-file tests - #1124
Conversation
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex review Please review the latest head 2f36879, including the additional 24:00:00 normalization correction found by the importer re-review. The prior namespace/timestamp/fixture commit received no code-review findings. All 236 exporter and nearby regression checks pass; the Morning Walk fixture still round-trips exactly. |
|
Codex Review: Didn't find any major issues. 🎉 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Preserve source namespace bindings when combining GPX documents, including prefixes used only in extension text or
xsi:typevalues and prefixes rebound differently in separate source files. Generated element prefixes remain independent of source bindings, without changing ElementTree's global namespace registry. Also reject malformed timezone offsets and offsets outside XML Schema's ±14:00 range, normalize valid 24:00:00 timestamps consistently across Python versions, and count only structural GPX points toward the resource limit.Includes the complete uploaded
tests/fixtures/gpx/Morning_Walk.gpx(197,419 bytes, 606 track points). Regression tests check byte-for-byte attachment recovery with all linked geolocations, every point's coordinates/elevation/time, Garmin extension preservation in combined output, and export of all 606 geolocations as waypoints. Additional tests cover QName namespace scope, conflicting/rebound prefixes, timezone boundaries and vendor elements whose names collide with GPX point names.This follows #1123, which was merged before the fixture and review fixes could be included. It addresses Codex's namespace review finding on that PR and applies the timestamp and structural-point corrections found on the companion importer (#1122).
Validation: