Odoo Scripts
Shell scripts
Those scripts are not installed when installing this python module.
start
This script can be used to start odoo.
It need to be run on a machine with all the odoo requirements installed, either system-wide or in a virtual environment (which need to be activated).
Its arguments are forwarded to the Odoo executable (odoo-bin
/ openerp-server
).
It expect the configuration file (setup.cfg) to have the following keys:
-
odoo_type
: type of odoo (bzr, odoo7, odoo8 or odoo10) [default to odoo8] -
modules
: list of directories and files to include (also used by another script)
do_tests
This script create a database, install modules and run the tests on those modules and print the result.
It need to be run on a machine with all the odoo requirements installed, either system-wide or in a virtual environment (which need to be activated). A postgresql server is also needed.
It takes three optional arguments (those are positional arguments):
- the host of the postgresql server,
- the user for this base (which need database creation rights). If a user is provided, you will need to have a .pgpass with the password if it is not the one in
conf/dev/odoo.conf
. - the name of the database to use
Those environment variables are used:
- ODOO_NO_DROP
- set to reuse an existing database.
The script call run_tests.
It expect the configuration file (setup.cfg) to have the following keys:
-
module_list
: list (separated by white space) of odoo modules to install on the database (default to empty list) -
unaccent
: boolean to indicate if unaccent is to be installed on the database (default to True)
run_tests
This script run the tests on a database.
It need to be run on a machine with all the odoo requirements installed, either system-wide or in a virtual environment (which need to be activated). A postgresql server is also needed.
The name of the database is the same as do_tests or can be provided.
The script call start.
It expect the configuration file (setup.cfg) to have the following keys:
-
module_list_tests
: list (separated by white space) of odoo modules to run tests for on the database (default to empty list) -
odoo_type
: type of odoo (bzr, odoo7, odoo8 or odoo10) [default to odoo8]
create_archive
zsh script to create a tar.xz file containing all sources.
isort
Run dockerized isort on current directory. This uses a configuration file that is adapted to OCA guidelines for imports.
For help:
./isort --help
Scripts
Those scripts are available when installing the package, and can also be run directly.
The recommend way to install this module is to run pip3 install -e .
.
conf2reST.py
This script is used to produce a reST file from setup.cfg, the Dockerfile and the .hgconf
/nest.yaml
file.
When the package is installed, the executable for this script is conf2reST
.
update_duplicate_sources
This script will update a metaproject that only contain the sources of the one it is launched from.
It expect the configuration file (setup.cfg) to have the following keys:
-
modules
: list of directories and files to include (also used by another script) -
dependencies
: list of directories and files to include (also used by another script) -
other_sources
: list of directories and files to include (only used by this script, used for README, ReleaseNotes, script directories, etc.)
No change are made to the name of the directories/files included.
docker_dev_start.py
This script can be used to start an odoo from a docker but with the local addons modules mounted.
Using it avoids having to create a virtual env for every project.
Before you use this script, you need to install these packages:
apt install python-docker python-psycopg2 python-requests
It expect the configuration file (setup.cfg) to have the following keys:
-
modules
: list of directories and files to include - …
When the package is installed, the executable for this script is docker_dev_start
.
docker_build.py
This script builds a docker image of the project.
It uses the super project’s setup.cfg and Dockerfile
.
When the package is installed, the executable for this script is docker_build
.
do_tests.py
This scripts launches the tests, but with more options than do_tests. It uses docker by default, similar to docker_dev_start.py.
When the package is installed, the executable for this script is do_tests
.
import_base_import and import_jsonrpc
Import CSV files into an odoo. Can be run directly or with the image build from Dockerfile
(xcgd/odoo_scripts).
import_base_import uses odoo base_import module to import the CSV file.
import_jsonrpc uses jsonrpc calls to import the files. The format is the same as the one used with the import module, with a couple more restrictions:
- selection fields must use the technical value, not the displayed value or one of its translation.
- many2one and many2many fields must use the xmlid of the field they are referencing, with the column name in the form field_name/id or field_name:id.
setup.cfg
The scripts expects configuration in the odoo_scripts section of setup.cfg
. This file is in the super project, not the one in odoo_scripts
.
Configuration keys:
- modules
- list of modules to install (relative to project directory), those modules are the ones copied in the Dockerfile
- odoo_type
- type of odoo (odoo7, odoo8, odoo10, odoo11)
- pg.extensions
- postgresql extensions to install (unaccent is added automatically depending on odoo configuration)
- load-language
- languages to install into a newly created database
Completion files for zsh
Your .zshrc
should contain a line like this:
fpath=(~/.local/share/zsh/completion $fpath)
Create completion directory:
mkdir -p ~/.local/share/zsh/completion
Clone:
cd
mkdir -p src
cd src
git clone git@github.com:RobSis/zsh-completion-generator.git
Generate completion file for python scripts (from the superproject for the scripts that need to be run from there, and with the required requirements too):
docker_dev_start --help | ~/src/zsh-completion-generator/help2comp.py docker_dev_start > ~/.local/share/zsh/completion/_docker_dev_start
do_tests --help | ~/src/zsh-completion-generator/help2comp.py do_tests > ~/.local/share/zsh/completion/_do_tests
conf2reST --help | ~/src/zsh-completion-generator/help2comp.py conf2reST > ~/.local/share/zsh/completion/_conf2reST
import_base_import --help | ~/src/zsh-completion-generator/help2comp.py import_base_import > ~/.local/share/zsh/completion/_import_base_import
import_jsonrpc --help | ~/src/zsh-completion-generator/help2comp.py import_jsonrpc > ~/.local/share/zsh/completion/_import_jsonrpc
Alternatives: genzshcomp