Coverage for rfpy/model/exc.py: 100%
35 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-24 10:52 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-24 10:52 +0000
1class BusinessRuleViolation(Exception):
2 def __init__(self, message):
3 self.message = message
6class DeadlineNotPassed(BusinessRuleViolation):
7 pass
10class DeadlineHasPassed(BusinessRuleViolation):
11 pass
14class IllegalStatusAction(BusinessRuleViolation):
15 pass
18class CosmeticQuestionEditViolation(BusinessRuleViolation):
19 pass
22class QuestionnaireStructureException(Exception):
23 pass
26class WeightingsNotLoadedException(Exception):
27 pass
30class DuplicateDataProvided(Exception):
31 def __init__(self, message):
32 self.message = message
35class ValidationFailure(Exception):
36 def __init__(self, message, errors_list=None):
37 super(ValidationFailure, self).__init__(message)
38 self.message = message
39 if errors_list is None:
40 self.errors_list = [message]
41 else:
42 self.errors_list = errors_list
44 def __str__(self):
45 msg = super(ValidationFailure, self).__str__()
46 errlist = self.errors_list if self.errors_list else []
47 errs = "\n -".join(errlist)
48 return f"{msg} {errs}"
51class ConfigurationError(Exception):
52 pass
55class DuplicateQuestionDefinition(Exception):
56 def __init__(self, message):
57 self.message = message