From b7951a7c9d6dc139635898f9620039556775b71c Mon Sep 17 00:00:00 2001 From: Cameron Clough Date: Fri, 22 Jul 2022 21:40:58 +0100 Subject: [PATCH] Fix for multiple footnotes in car docs --- docs/CARS.md | 12 ++++++------ selfdrive/car/docs_definitions.py | 23 ++++++++++++----------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/docs/CARS.md b/docs/CARS.md index 49f2f6e85d..a5c7cfee39 100644 --- a/docs/CARS.md +++ b/docs/CARS.md @@ -186,14 +186,14 @@ A supported vehicle is one that just works when you install a comma device. Ever |Toyota|RAV4 Hybrid 2019-21|All||||| |Toyota|RAV4 Hybrid 2022|All||||| |Toyota|Sienna 2018-20|All|[3](#footnotes)|||| -|Volkswagen|Arteon 2018-22[7](#footnotes)|Driver Assistance||||| -|Volkswagen|Arteon eHybrid 2020-22[7](#footnotes)|Driver Assistance||||| -|Volkswagen|Arteon R 2020-22[7](#footnotes)|Driver Assistance||||| +|Volkswagen|Arteon 2018-22[7](#footnotes)[8](#footnotes)|Driver Assistance||||| +|Volkswagen|Arteon eHybrid 2020-22[7](#footnotes)[8](#footnotes)|Driver Assistance||||| +|Volkswagen|Arteon R 2020-22[7](#footnotes)[8](#footnotes)|Driver Assistance||||| |Volkswagen|Atlas 2018-22[7](#footnotes)|Driver Assistance||||| |Volkswagen|Atlas Cross Sport 2021-22[7](#footnotes)|Driver Assistance||||| |Volkswagen|California 2021[7](#footnotes)|Driver Assistance||||| |Volkswagen|Caravelle 2020[7](#footnotes)|Driver Assistance||||| -|Volkswagen|CC 2018-22[7](#footnotes)|Driver Assistance||||| +|Volkswagen|CC 2018-22[7](#footnotes)[8](#footnotes)|Driver Assistance||||| |Volkswagen|e-Golf 2014-20|Driver Assistance||||| |Volkswagen|Golf 2015-20[8](#footnotes)|Driver Assistance||||| |Volkswagen|Golf Alltrack 2015-19|Driver Assistance||||| @@ -204,9 +204,9 @@ A supported vehicle is one that just works when you install a comma device. Ever |Volkswagen|Golf SportsVan 2015-20|Driver Assistance||||| |Volkswagen|Jetta 2018-22[7](#footnotes)|Driver Assistance||||| |Volkswagen|Jetta GLI 2021-22[7](#footnotes)|Driver Assistance||||| -|Volkswagen|Passat 2015-22[7](#footnotes)|Driver Assistance||||| +|Volkswagen|Passat 2015-22[7](#footnotes)[6](#footnotes)[8](#footnotes)|Driver Assistance||||| |Volkswagen|Passat Alltrack 2015-22[7](#footnotes)|Driver Assistance||||| -|Volkswagen|Passat GTE 2015-22[7](#footnotes)|Driver Assistance||||| +|Volkswagen|Passat GTE 2015-22[7](#footnotes)[8](#footnotes)|Driver Assistance||||| |Volkswagen|Polo 2020-22[7](#footnotes)|Driver Assistance||||| |Volkswagen|Polo GTI 2020-22[7](#footnotes)|Driver Assistance||||| |Volkswagen|T-Cross 2021[7](#footnotes)|Driver Assistance||||| diff --git a/selfdrive/car/docs_definitions.py b/selfdrive/car/docs_definitions.py index 01473e4cc3..0c9c2d3c6c 100644 --- a/selfdrive/car/docs_definitions.py +++ b/selfdrive/car/docs_definitions.py @@ -37,12 +37,10 @@ TierColumns = (Column.FSR_LONGITUDINAL, Column.FSR_STEERING, Column.STEERING_TOR CarFootnote = namedtuple("CarFootnote", ["text", "column", "star"], defaults=[None]) -def get_footnote(footnotes: Optional[List[Enum]], column: Column) -> Optional[Enum]: - # Returns applicable footnote given current column +def get_footnotes(footnotes: Optional[List[Enum]], column: Column) -> Optional[List[Enum]]: + # Returns applicable footnotes given current column if footnotes is not None: - for fn in footnotes: - if fn.value.column == column: - return fn + return [fn for fn in footnotes if fn.value.column == column] return None @@ -106,9 +104,11 @@ class CarInfo: self.all_footnotes = all_footnotes for column in StarColumns: # Demote if footnote specifies a star - footnote = get_footnote(self.footnotes, column) - if footnote is not None and footnote.value.star is not None: - self.row[column] = footnote.value.star + footnotes = get_footnotes(self.footnotes, column) + if footnotes is not None: + for fn in footnotes: + if fn.value.star is not None: + self.row[column] = fn.value.star # openpilot ACC star doesn't count for tiers full_stars = [s for col, s in self.row.items() if col in TierColumns].count(Star.FULL) @@ -129,9 +129,10 @@ class CarInfo: elif column == Column.MODEL and len(self.years): item += f" {self.years}" - footnote = get_footnote(self.footnotes, column) - if footnote is not None: - item += footnote_tag.format(self.all_footnotes[footnote]) + footnotes = get_footnotes(self.footnotes, column) + if footnotes is not None: + for fn in footnotes: + item += footnote_tag.format(self.all_footnotes[fn]) return item