Added error-checking when accessing policy file to catch changes.

This commit is contained in:
kououken 2019-03-01 14:11:05 -08:00
parent 9658afda32
commit d0fa8dbea8
3 changed files with 32 additions and 30 deletions

View file

@ -1,4 +0,0 @@
EMAIL_HOST_USER=accountemail@yourmail.com
EMAIL_HOST_PASSWORD=accountpasswordhere
SUBMIT_REPORT_DESTINATION_EMAIL=to-address@yourmail.com
SUBMIT_REPORT_FROM_EMAIL=from-address@yourmail.com

View file

@ -52,19 +52,22 @@ def get_sections(r_id):
data.update(get_fields(i.id))
# process rules from the policy file if the section is completed
if i.completed:
rules = pol.sections[index].rules
for rule in rules:
try:
named_fields = generate_named_fields_for_section(data['fields'])
result = rule['rule'](data, named_fields)
if not result is None:
info = {
"label": rule['title'],
"rule_break_text": result,
}
data['rule_violations'].append(info)
except Exception as e:
print('Rule "{}" encountered an error. {}'.format(rule['title'], e))
try:
rules = pol.sections[index].rules
for rule in rules:
try:
named_fields = generate_named_fields_for_section(data['fields'])
result = rule['rule'](data, named_fields)
if not result is None:
info = {
"label": rule['title'],
"rule_break_text": result,
}
data['rule_violations'].append(info)
except Exception as e:
print('Rule "{}" encountered an error. {}'.format(rule['title'], e))
except Exception as e:
print('Error accessing policy section {}. Policy file may have changed.'.format(index))
# append section to the array
section_set["sections"].append(data.copy())
@ -339,19 +342,22 @@ def section(request, report_pk, section_pk):
data.update(get_fields(s.id))
# process rules from the policy file if the section is completed
if s.completed:
rules = pol.sections[s.number].rules
for rule in rules:
try:
named_fields = generate_named_fields_for_section(data['fields'])
result = rule['rule'](data, named_fields)
if not result is None:
info = {
"label": rule['title'],
"rule_break_text": result,
}
data['rule_violations'].append(info)
except Exception as e:
print('Rule "{}" encountered an error. {}'.format(rule['title'], e))
try:
rules = pol.sections[s.number].rules
for rule in rules:
try:
named_fields = generate_named_fields_for_section(data['fields'])
result = rule['rule'](data, named_fields)
if not result is None:
info = {
"label": rule['title'],
"rule_break_text": result,
}
data['rule_violations'].append(info)
except Exception as e:
print('Rule "{}" encountered an error. {}'.format(rule['title'], e))
except Exception as e:
print('Error accessing policy section {}. Policy file may have been changed.'.format(s.number))
return JsonResponse(data)
def section_complete(section_pk):

Binary file not shown.