Newer
Older
#!/bin/sh
# vim: set shiftwidth=4 softtabstop=4:
#
# This script start odoo for development
#
# You can set ODOO_DATA_DIR and ODOO_DB_HOST if you want to avoid using the default value ($HOME/var/tmp and localhost)
#
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
here=$(readlink -f $(dirname $0)/..)
echo "Starting odoo for development"
python=python
# module_path will be .../<directory>/openerp/__init__.pyc
module_path=$(python -B -c "import os;import openerp;print os.path.abspath(openerp.__file__)")
if test -z "$module_path";
then
virtualenv_name=$(basename $(readlink -f $(dirname start)))
echo "No odoo found, trying $virtualenv_name virtualenvwrapper"
# assume you use virtualenvwrapper, and try the same env name as the project
python=$WORKON_HOME/$virtualenv_name/bin/python
if [ -e $python ];
then
module_path=$($python -B -c "import os;import openerp;print os.path.abspath(openerp.__file__)")
fi
if test -z "$module_path";
then
echo "No odoo found, trying /opt/odoo/sources/odoo/openerp-server"
if test -e "/opt/odoo/sources/odoo/openerp-server";
then
python=/usr/bin/python
module_path="/opt/odoo/sources/odoo/openerp/__init__.py"
else
echo "No odoo found, did you activate your env?"
exit 1
fi
fi
fi
odoo=$(dirname $(dirname $module_path))
echo "Odoo directory: $odoo"
if [ -e "$odoo/.git" ];
then
odoo_version="git $(cd $odoo && git rev-parse HEAD)"
elif [ -e "$odoo/.bzr" ];
then
odoo_version="bzr $(cd $odoo && bzr revno)"
elif [ -e "$odoo/.hg" ];
then
odoo_version="hg $(cd $odoo && hg id)"
else
odoo_version="Unknown"
fi
echo "Odoo version: $odoo_version"
# odoo7, odoo8 or bzr
ODOO_TYPE=$(cat odoo_type)
args=$*
if [ "$ODOO_TYPE" = "odoo8" ];
then
if echo $args | grep -q -e "\( \|^\)--data-dir";
then
data_dir=""
else
data_dir=" --data-dir=$odoo/var/tmp"
fi
else
data_dir=""
fi
if echo $args | grep -q -e "\( \|^\)--db_host";
then
db_host=""
else
db_host="--db_host=localhost"
fi
if echo $args | grep -q -e "\( \|^\)-c" -e "\( \|^\)--config";
then
config=""
addons_path=""
else
config="-c conf/dev/odoo.conf"
if echo $args | grep -q -e "\( \|^\)--addons-path";
then
addons_path=""
else
if [ "$ODOO_TYPE" = "bzr" ];
then
addons_path="--addons-path=$($python -B -c "print(','.join(['$HOME/src/openobject-addons','$HOME/src/openerp-web/addons']+['$here/'+line for line in open('addon_dirs').read().splitlines()]))")"
else
addons_path="--addons-path=$($python -B -c "print(','.join(['$odoo/addons']+['$here/'+line for line in open('addon_dirs').read().splitlines()]))")"
fi
fi
fi
$python $odoo/openerp-server $config $db_host $data_dir $addons_path $args