#!/bin/bash # Logic that creates auditor reports, respecting # the config file that lives under ${HOME}/.config/taler.conf. # The results will be found under ${HOME}/reports/ DATE=$(date +%Y-%m-%d) REPORT_FILE_NOEXT=${HOME}/audit_report.${DATE} WIRE_REPORT_FILE_NOEXT=${HOME}/wire_audit_report.${DATE} JINJA_TEMPLATE="auditor-report.tex.j2" REPORTS_DIRECTORY="${HOME}/shared-data/auditor/reports" source ${HOME}/activate if test -a ${REPORTS_DIRECTORY}/$(basename "${REPORT_FILE_NOEXT}.pdf"); then echo "Today's report already compiled!" exit 0 fi taler-auditor-exchange \ -c ${HOME}/.config/taler.conf \ -m $(taler-config -s exchange -o master_public_key) \ -u $(taler-config -s exchange -o base_url) # Generate first report. taler-auditor > "${REPORT_FILE_NOEXT}.txt" # Generate "wire" report. taler-wire-auditor > "${WIRE_REPORT_FILE_NOEXT}.txt" python ${PWD}/render_auditor_reports.py \ "${REPORT_FILE_NOEXT}.txt" \ "${WIRE_REPORT_FILE_NOEXT}.txt" \ > "${REPORT_FILE_NOEXT}.tex" \ < "${JINJA_TEMPLATE}" cd ${HOME} pdflatex "${REPORT_FILE_NOEXT}.tex" # Give twice to let TeX resolve the sections references. pdflatex "${REPORT_FILE_NOEXT}.tex" # Remove garbage and set permissions. echo Removing "${REPORT_FILE_NOEXT}.aux" rm "${REPORT_FILE_NOEXT}.aux" echo Removing "${REPORT_FILE_NOEXT}.tex" rm "${REPORT_FILE_NOEXT}.tex" echo Removing "${REPORT_FILE_NOEXT}.log" rm "${REPORT_FILE_NOEXT}.log" echo Removing "${REPORT_FILE_NOEXT}.txt", "${WIRE_REPORT_FILE_NOEXT}.txt" rm "${REPORT_FILE_NOEXT}.txt" "${WIRE_REPORT_FILE_NOEXT}.txt" if ! test -f "${REPORT_FILE_NOEXT}.pdf"; then echo Could not produce the report exit 1 fi # Group to assign the file. GROUP="test" if echo $(whoami) | grep demo; then GROUP="demo" fi chgrp ${GROUP} "${REPORT_FILE_NOEXT}.pdf" chmod g+r "${REPORT_FILE_NOEXT}.pdf" mv "${REPORT_FILE_NOEXT}.pdf" "${REPORTS_DIRECTORY}" echo Reports moved in "${REPORTS_DIRECTORY}".