You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
1.4 KiB
25 lines
1.4 KiB
from typing import Any, Callable, cast
|
|
from openpilot.selfdrive.car.body.values import CAR as BODY
|
|
from openpilot.selfdrive.car.chrysler.values import CAR as CHRYSLER
|
|
from openpilot.selfdrive.car.ford.values import CAR as FORD
|
|
from openpilot.selfdrive.car.gm.values import CAR as GM
|
|
from openpilot.selfdrive.car.honda.values import CAR as HONDA
|
|
from openpilot.selfdrive.car.hyundai.values import CAR as HYUNDAI
|
|
from openpilot.selfdrive.car.mazda.values import CAR as MAZDA
|
|
from openpilot.selfdrive.car.mock.values import CAR as MOCK
|
|
from openpilot.selfdrive.car.nissan.values import CAR as NISSAN
|
|
from openpilot.selfdrive.car.subaru.values import CAR as SUBARU
|
|
from openpilot.selfdrive.car.tesla.values import CAR as TESLA
|
|
from openpilot.selfdrive.car.toyota.values import CAR as TOYOTA
|
|
from openpilot.selfdrive.car.volkswagen.values import CAR as VOLKSWAGEN
|
|
|
|
Platform = BODY | CHRYSLER | FORD | GM | HONDA | HYUNDAI | MAZDA | MOCK | NISSAN | SUBARU | TESLA | TOYOTA | VOLKSWAGEN
|
|
BRANDS = [BODY, CHRYSLER, FORD, GM, HONDA, HYUNDAI, MAZDA, MOCK, NISSAN, SUBARU, TESLA, TOYOTA, VOLKSWAGEN]
|
|
|
|
PLATFORMS: dict[str, Platform] = {str(platform): platform for brand in BRANDS for platform in cast(list[Platform], brand)}
|
|
|
|
MapFunc = Callable[[Platform], Any]
|
|
|
|
|
|
def create_platform_map(func: MapFunc):
|
|
return {str(platform): func(platform) for platform in PLATFORMS.values() if func(platform) is not None}
|
|
|