diff --git a/en/Makefile b/en/Makefile index 35c1e29..00d6da1 100644 --- a/en/Makefile +++ b/en/Makefile @@ -13,7 +13,8 @@ abstract.pdf: abstract.tex abstract.xmpdata pdflatex $< verapdf_report.xml: thesis.pdf abstract.pdf verapdf_profile_UK7987v1c8.xml - verapdf --profile verapdf_profile_UK7987v1c8.xml thesis.pdf abstract.pdf | tee $@ + verapdf --profile verapdf_profile_UK7987v1c8.xml thesis.pdf abstract.pdf > $@ + ./verapdf_summary.py clean: rm -f *.log *.dvi *.aux *.toc *.lof *.lot *.out *.bbl *.blg *.xmpi diff --git a/en/verapdf_summary.py b/en/verapdf_summary.py new file mode 100755 index 0000000..6904f66 --- /dev/null +++ b/en/verapdf_summary.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 + +from os import system +import xml.etree.ElementTree as ET +import pathlib + +def _colorize(color, *a, **kwa): + system(f'tput setaf {color}') + print(*a, **kwa) + system('tput sgr0') + +def green(*a, **kwa): return _colorize(2, *a, **kwa) +def red(*a, **kwa): return _colorize(1, *a, **kwa) + +root = ET.parse('verapdf_report.xml').getroot() +for job in root.findall('./jobs/job'): + file = job.find('./item/name').text + file = pathlib.Path(file).name + result = job.find('./validationReport') + ok = result.attrib[r'isCompliant'] == 'true' + resstr = result.attrib[r'statement'] + print(f'{file}: ', end='', flush=True) + display = green if ok else red + display(resstr)