diff options
Diffstat (limited to 'resources/tools/presentation/run_report_local.sh')
-rwxr-xr-x | resources/tools/presentation/run_report_local.sh | 126 |
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} |