(config, key, allowed_values, default=None)
| 321 | |
| 322 | |
| 323 | def read_enum(config, key, allowed_values, default=None): |
| 324 | value = config.get(key) |
| 325 | if value is None: |
| 326 | return default |
| 327 | |
| 328 | value = value.strip() |
| 329 | |
| 330 | value_lower = value.lower() |
| 331 | for allowed_value in allowed_values: |
| 332 | if allowed_value.lower() == value_lower: |
| 333 | return allowed_value |
| 334 | |
| 335 | raise InvalidValueException(key, f'Invalid "{key}" value = {value}. Should be one of: {allowed_values}') |
nothing calls this directly
no test coverage detected