Repository navigation
Conversation
An Italian export localizes all four filenames and every header, and neither importer recognized them, so it imported nothing. Add the Italian header aliases and filenames on both platforms, following the de/es/fr/pt-BR precedent, from a real Italian export. The journal "Note" column is read through a "note" fallback in parseJournal rather than a global alias, which would also rename the lift-program template's own "Note" column. The linux-capture ground-truth tools get the Italian filenames and the aliases they correlate on.
paradix86
force-pushed
the
feat/import-italian-whoop-export
branch
from
October 6, 2026 07:09
ec0d6b9 to
199f37b
Compare
Author
|
Tested end to end on an Android 16 emulator: debug build of this branch (same tree as 199f37b), my real Italian export, Data Sources → Import WHOOP export (.zip).
|
DX23876
added a commit
to DX23876/noop
that referenced
this pull request
Oct 7, 2026
An Italian export localizes the four file names and every header, so nothing imported. Adds the Italian header aliases and file names next to the German, Spanish, French and pt-BR ones; the journal reads its "Note" column through a fallback rather than a global alias that would rename the lift-program template's own column. The linux-capture ground-truth tools accept an Italian export too. From upstream PR ryanbr#2712 by @paradix86 (Apple and shared side; the fork has no Android target). Analysis migration required: no
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Italian to the localized WHOOP export importers. The German (#3), Spanish (#76), French (#79) and pt-BR (#692) aliases were each added from a real export, and this one follows the same pattern using my own Italian export.
Problem
An Italian export localizes all four filenames (
cicli_fisiologici.csv,sonno.csv,allenamenti.csv,voci_diario.csv) and every header, but neither importer recognized any of them, so an Italian export imported nothing.Change
HeaderNorm.foreignAliases/CsvParser.foreignAliases: 36 Italian header aliases on both platforms.FC max.andFC mediaalready fold to the French/pt-BR keys, so they are not repeated (a duplicate key in the Swift literal would trap).Durata (min)andGPS abilitatoare left out because no importer reads them in any language.localizedAlias: the four Italian filenames, on both platforms.Note: read through a"note"fallback inparseJournalon both platforms, not an alias. A global"note"alias would also rename the lift-program template's ownNotecolumn and breakLiftProgramSheetImporterTests.testTheShippedTemplateHasTheHeadersTheImporterExpects.Tools/linux-capture:correlate_ground_truth.pyandvalidate_spo2_candidate.pyget the Italian filenames and the subset of aliases they correlate on, so an Italian export works as ground truth there too.Verification
com.noop.ingesttests pass, includingWhoopCsvImporterTestat 14/14 with the three new Italian tests (header aliases, cycles values, journal with notes).testFullDebugUnitTestrun fails 9 tests, all inWhoopDatabaseUpgradeTest,GlowRingFlatArcTestandStrapLogArchiveTest.main(9f98f81) without this change, so they look like local Windows environment issues, not this PR.swift-packagesCI will cover the newWhoopExportImporterTests.Tools/linux-capturesuite passes (238 tests), including under a cp1252 console. The 4 new tests fail without the tool changes and pass with them.doc_comment_lint.pypasses.