Skip to content

Commit

Permalink
add can line validator (#6)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jack17432 authored May 7, 2024
1 parent 148eafa commit 4f51283
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions validator.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,22 @@ def get_all_can_message_names() -> list:
return message_names


def get_all_defined_can() -> list:
with open("definitions.yml", "r") as file:
definitions = yaml.safe_load(file)
can_names = [can['name'] for can in definitions['can']]

return can_names


def get_all_requested_can() -> list:
with open("definitions.yml", "r") as file:
definitions = yaml.safe_load(file)
can_names = [can['can_line'] for can in definitions['messages']]

return can_names


def get_all_defined_messages() -> list:
with open("definitions.yml", "r") as file:
definitions = yaml.safe_load(file)
Expand All @@ -32,7 +48,18 @@ def get_all_defined_messages() -> list:
definition_message_names = get_all_defined_messages()
print(f"all definition message names requested = {definition_message_names}")

requested_can_line_names = get_all_requested_can()
print(f"all requested can line names = {requested_can_line_names}")

defined_can_names = get_all_defined_can()
print(f"all defined can line names = {defined_can_names}")

for definition_message_name in definition_message_names:
if definition_message_name not in can_message_names:
raise ValueError(f"{definition_message_name} not defined in can proto. \n"
f"list of available message names are {can_message_names}")

for requested_can_line_name in requested_can_line_names:
if requested_can_line_name not in defined_can_names:
raise ValueError(f"{requested_can_line_name} not defined in can proto. \n"
f"list of available message names are {defined_can_names}")

0 comments on commit 4f51283

Please sign in to comment.