Results: DNS rows for zero-lap entries + unique-riders header count - #75
Merged
Merged
Conversation
…der — red Add the failing tests first: ZeroLapMode DNS/HIDE/RANK partitioning in standings.rank_by_kind; the FINISHED-gated Show DNS Riders toggle through the data source, presenter and results window; blank-Place / "DNS"-laps and blank-time rendering across HTML, PDF and CSV; the sparse race-data dns flag; the DNS-excluded unique-riders header count; the poster filter and the golden-fixture census.
…er count On a FINISHED ride, any rider or team with 0 laps/crossings is a DNS entry: it still appears in the results, appended unplaced at the bottom of its section, with a blank Place cell, Laps rendered as "DNS", blank times and no tie-break draw. The Results menu's new "Show DNS Riders" check item (on by default, FINISHED-gated) hides those rows when off. The full-results header (HTML page and PDF cover) gains a fourth counter, "unique riders", counting individual riders and excluding DNS entries. The embedded race-data JSON keeps numeric laps plus a sparse dns flag; the standings CSV writes DNS for laps with a blank place and time. Write the change back into the contract: design spec sections 5, 6, 15 and 15b, xrc-windows section D, the user guide (and its generated HTML) and the sample results pages.
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.
What
On a FINISHED ride, any rider or team with 0 laps/crossings is now a DNS entry. DNS entries still appear in the results (Standings window, HTML, PDF, CSV) — appended unplaced at the bottom of their section, with a blank Place, Laps rendered as
DNS, blank times and no tie-break draw — and are hidden entirely when the new Results check item Show DNS Riders is unchecked. They never reach the laps/time boards or the podium.The Results menu gains Show DNS Riders (
mi_show_dns_riders,AppSettings.show_dns_riders), on by default and FINISHED-gated (a live or REOPENED ride ranks its whole field, so the toggle does nothing there).The full-results header (HTML page and PDF cover) gains a fourth counter, unique riders — individual riders riding solo or on a team, excluding the DNS entries.
Machine formats: the embedded
race-datarecord keeps a numericlapsplus a sparse"dns": true; the standings CSV writesDNSfor laps with a blank place and time.Where
standings:ZeroLapMode(RANK/DNS/HIDE) +rank_by_kind(zero_laps=…)andPlaced.dns;rankstays pure.ui/presenters/{data_source,results,settings}.py,ui/views/{results_win,settings}.py,ui/app.py,ui/commands.py,ui/xrc/main.xrc,ui/ids.py.htmlexport(ResultRow.dns, board/podium filtering, templates) ·pdfexport·csvio.design/docs-md/{spec,xrc-windows}.md,docs/user-guide.md(and its regenerated HTML),design/exports/*.html.Satisfies the
results_dlg(1f) Standings window; spec §5/§6/§15/§15b updated.Verification
nox(all default sessions) green — lint, typecheck, importlint, ids_drift, css_drift, assets_drift, userguide_drift, unit: 6773 passed, 1 skipped, 99.85% coverage (gate 90%).