add CAR.print_debug (#31652)

print debug
old-commit-hash: ac16c5518a300df5fa31e088a6e2a03d1a0d1747
This commit is contained in:
Justin Newberry
2024-02-29 18:01:47 -05:00
committed by GitHub
parent a254be8fe3
commit b3bb450e4a
2 changed files with 17 additions and 1 deletions
+13 -1
View File
@@ -1,5 +1,5 @@
# functions common among cars
from collections import namedtuple
from collections import defaultdict, namedtuple
from dataclasses import dataclass
from enum import IntFlag, ReprEnum
from dataclasses import replace
@@ -301,3 +301,15 @@ class Platforms(str, ReprEnum):
@classmethod
def with_flags(cls, flags: IntFlag) -> set['Platforms']:
return {p for p in cls if p.config.flags & flags}
@classmethod
def print_debug(cls, flags):
platforms_with_flag = defaultdict(list)
for flag in flags:
for platform in cls:
if platform.config.flags & flag:
assert flag.name is not None
platforms_with_flag[flag.name].append(platform)
for flag, platforms in platforms_with_flag.items():
print(f"{flag:20s}: {', '.join(p.name for p in platforms)}")
+4
View File
@@ -262,3 +262,7 @@ FW_QUERY_CONFIG = FwQueryConfig(
CAR_INFO = CAR.create_carinfo_map()
DBC = CAR.create_dbc_map()
if __name__ == "__main__":
CAR.print_debug(SubaruFlags)