Coverage for aixcalibuha/utils/__init__.py: 83%
12 statements
« prev ^ index » next coverage.py v7.4.1, created at 2024-01-27 10:48 +0000
« prev ^ index » next coverage.py v7.4.1, created at 2024-01-27 10:48 +0000
1"""
2Package containing utility functions used in different packages.
3Contains a statistics analyzer and a visualizer.
4"""
5from typing import Union, List
6from aixcalibuha import CalibrationClass
9def validate_cal_class_input(
10 calibration_classes: Union[CalibrationClass, List[CalibrationClass]]
11) -> List[CalibrationClass]:
12 """Check if given list contains only CalibrationClass objects or is one
13 and return a list in both cases. Else raise an error"""
14 if isinstance(calibration_classes, list):
15 for cal_class in calibration_classes:
16 if not isinstance(cal_class, CalibrationClass):
17 raise TypeError(f"calibration_classes is of type {type(cal_class).__name__} "
18 f"but should be CalibrationClass")
19 elif isinstance(calibration_classes, CalibrationClass):
20 calibration_classes = [calibration_classes]
21 else:
22 raise TypeError(f"calibration_classes is of type {type(calibration_classes).__name__} "
23 f"but should be CalibrationClass or list")
24 return calibration_classes
27class MaxIterationsReached(Exception):
28 """
29 Exception raised for when the calibration
30 ends because the maximum number of
31 allowed iterations is reached.
32 """