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