blob: b48d4d2db523915edc295d1820338e59decab432 (
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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 specifications/report_local \
--release ${release} \
--week ${week} \
--logging INFO \
--force \
--input-file ${filename}
fi
if [[ ${directoryname} != "" ]]; then
python pal.py \
--specification specifications/report_local \
--release ${release} \
--week ${week} \
--logging INFO \
--force \
--input-directory ${directoryname}
fi
RETURN_STATUS=$(echo $?)
exit ${RETURN_STATUS}
|