aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/presentation/run_report_local.sh
diff options
context:
space:
mode:
Diffstat (limited to 'resources/tools/presentation/run_report_local.sh')
-rwxr-xr-xresources/tools/presentation/run_report_local.sh126
1 files changed, 126 insertions, 0 deletions
diff --git a/resources/tools/presentation/run_report_local.sh b/resources/tools/presentation/run_report_local.sh
new file mode 100755
index 0000000000..6074f1dcc5
--- /dev/null
+++ b/resources/tools/presentation/run_report_local.sh
@@ -0,0 +1,126 @@
+#!/bin/bash
+
+# set -x
+
+usage()
+{
+ cat <<EOF
+usage: run_report_local [OPTION]
+
+Options:
+ -h; --help Display this help and exit.
+ -f; --file Input XML file to be processed.
+ -d; --directory Directory with input XML files to be processed.
+ -r; --release Release string (optional).
+ -w; --week Release week (optional).
+ -i; --no-dependencies Do not install dependencies.
+ -l; --install-latex Instal Latex.
+EOF
+}
+
+filename=""
+directoryname=""
+release="master"
+week="1"
+cfg_install_dependencies=1
+cfg_install_latex=0
+
+while [ "$1" != "" ]; do
+ case $1 in
+ -f | --file ) shift
+ filename=$1
+ ;;
+ -d | --directory ) shift
+ directoryname=$1
+ ;;
+ -r | --release ) shift
+ release=$1
+ ;;
+ -w | --week ) shift
+ week=$1
+ ;;
+ -i | --no-dependencies ) cfg_install_dependencies=0
+ ;;
+ -l | --install-latex ) cfg_install_latex=1
+ ;;
+ -h | --help ) usage
+ exit 1
+ ;;
+ * ) usage
+ exit 1
+ esac
+ shift
+done
+
+echo "Parameters:"
+echo " Input file: " ${filename}
+echo " Input directory: " ${directoryname}
+echo " Report release: " ${release}
+echo " Report week: " ${week}
+echo " Install dependencies: " ${cfg_install_dependencies}
+echo " Install Latex: " ${cfg_install_latex}
+
+if [[ $filename == "" && $directoryname == "" ]]; then
+ echo "ERROR: The input directory or file is required."
+ usage
+ exit 1
+fi
+
+# set default values in config array
+typeset -A CFG
+typeset -A DIR
+
+DIR[WORKING]=_tmp
+
+# Install system dependencies
+if [[ ${cfg_install_dependencies} -eq 1 ]] ;
+then
+sudo apt-get -y update
+sudo apt-get -y install libxml2 libxml2-dev libxslt-dev build-essential \
+ zlib1g-dev unzip
+fi
+
+if [[ ${cfg_install_latex} -eq 1 ]] ;
+then
+ sudo apt-get -y install xvfb texlive-latex-recommended \
+ texlive-fonts-recommended texlive-fonts-extra texlive-latex-extra latexmk wkhtmltopdf inkscape
+ sudo sed -i.bak 's/^\(main_memory\s=\s\).*/\110000000/' /usr/share/texlive/texmf-dist/web2c/texmf.cnf
+fi
+
+# Create working directories
+mkdir ${DIR[WORKING]}
+
+# Create virtual environment
+virtualenv -p $(which python3) ${DIR[WORKING]}/env
+source ${DIR[WORKING]}/env/bin/activate
+
+# Install python dependencies:
+pip3 install -r requirements.txt
+
+export PYTHONPATH=`pwd`:`pwd`/../../../:`pwd`/../../libraries/python
+
+# Show help so you know the meaning of all parameters
+python pal.py --help
+
+if [[ ${filename} != "" ]]; then
+ python pal.py \
+ --specification specification_local.yaml \
+ --release ${release} \
+ --week ${week} \
+ --logging INFO \
+ --force \
+ --input-file ${filename}
+fi
+
+if [[ ${directoryname} != "" ]]; then
+ python pal.py \
+ --specification specification_local.yaml \
+ --release ${release} \
+ --week ${week} \
+ --logging INFO \
+ --force \
+ --input-directory ${directoryname}
+fi
+
+RETURN_STATUS=$(echo $?)
+exit ${RETURN_STATUS}