in src/hardware/hardware_info.py [0:0]
def get_hardware_info(hardware_type: str) -> HardwareInfo:
with open("src/hardware/hardware_info.yaml", "r") as f:
hardware_info_data = yaml.load(f, Loader=yaml.FullLoader)
# Validate and parse the loaded YAML data
if not isinstance(hardware_info_data, list):
raise ValueError("Invalid hardware_info format: expected a list of hardware configurations")
hardware_infos: List[HardwareInfo] = []
for item in hardware_info_data:
try:
hardware_infos.append(HardwareInfo(**item))
except ValidationError as e:
raise ValueError(f"Invalid hardware_info format: {str(e)}")
hardware_info = next((info for info in hardware_infos if info.hardware_type == hardware_type), None)
if hardware_info is None:
raise ValueError(f"Hardware type '{hardware_type}' not found in hardware_info.yaml")
return hardware_info