summaryrefslogtreecommitdiff
path: root/buildbot/make_auditor_reports.sh
blob: 8c45d6e3746eec40203263deb4d36f172f73d1cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/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}".