diff --git a/doc/DEVELOPMENT.md b/doc/DEVELOPMENT.md index 3de1dda..fcc92e3 100644 --- a/doc/DEVELOPMENT.md +++ b/doc/DEVELOPMENT.md @@ -139,3 +139,27 @@ Use this commit format: ```bash git commit -am "[#ticket] subject: short sentence" ``` + +# Format code +## Python +Use [black](https://github.com/psf/black) +```bash +./script/maintenance/black.sh ./addons/TechnoLibre_odoo-code-generator +``` + +Or if you prefer [oca-autopep8](https://github.com/psf/black) +```bash +./script/maintenance/autopep8.sh ./addons/TechnoLibre_odoo-code-generator +``` + +## HTML and css +Use [prettier](https://github.com/prettier/prettier) +```bash +./script/maintenance/prettier.sh ./addons/TechnoLibre_odoo-code-generator +``` + +## Javascript +Use [prettier](https://github.com/prettier/prettier) +```bash +./script/maintenance/prettier.sh --tab-width 4 ./addons/TechnoLibre_odoo-code-generator +``` diff --git a/docker/Dockerfile b/docker/Dockerfile index 5fe10c7..aa13444 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -15,7 +15,7 @@ RUN apt-get update \ fonts-noto-cjk \ gnupg \ libssl-dev \ - node-less \ + node-less \ npm \ python3-num2words \ python3-pip \ @@ -38,6 +38,8 @@ RUN apt-get update \ && apt-get install -y --no-install-recommends ./wkhtmltox.deb \ && rm -rf /var/lib/apt/lists/* wkhtmltox.deb +RUN npm i prettier + # install latest postgresql-client RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main' > /etc/apt/sources.list.d/pgdg.list \ && GNUPGHOME="$(mktemp -d)" \ diff --git a/requirements.txt b/requirements.txt index ee94530..9d87a8a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -37,6 +37,11 @@ pylint-odoo git+https://github.com/oca/pylint-odoo.git#egg=pylint-odoo # oca-maintainers-tools # git+https://github.com/OCA/maintainer-tools.git#egg=oca-maintainers-tools +xmlformatter +html5print +css-html-prettify +BeautifulSoup4 +black # For updating poetry toml diff --git a/script/install_OSX_dependency.sh b/script/install_OSX_dependency.sh index 3866f97..42c99bb 100755 --- a/script/install_OSX_dependency.sh +++ b/script/install_OSX_dependency.sh @@ -35,6 +35,7 @@ echo "\n---- Installing nodeJS NPM and rtlcss for LTR support ----" brew install nodejs npm openssl sudo npm install -g rtlcss sudo npm install -g less +sudo npm install -g prettier yes n|pyenv install 3.7.7 pyenv local 3.7.7 diff --git a/script/install_debian_dependency.sh b/script/install_debian_dependency.sh index 373dda7..dab9ab5 100755 --- a/script/install_debian_dependency.sh +++ b/script/install_debian_dependency.sh @@ -55,6 +55,9 @@ sudo apt-get install nodejs npm -y sudo npm install -g rtlcss sudo npm install -g less +echo -e "\n---- Test tool ----" +sudo npm install -g prettier + sudo ln -fs /usr/local/bin/lessc /usr/bin/lessc if [ ${EL_INSTALL_NGINX} = "True" ]; then diff --git a/script/maintenance/autopep8.sh b/script/maintenance/autopep8.sh new file mode 100755 index 0000000..9a3d506 --- /dev/null +++ b/script/maintenance/autopep8.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# This will format all python file +# argument 1: directory or file to format +NPROC=$(nproc) +source ./script/OCA_maintainer-tools/env/bin/activate +oca-autopep8 -j ${NPROC} --max-line-length 100 -ari $@ diff --git a/script/maintenance/black.sh b/script/maintenance/black.sh new file mode 100755 index 0000000..2bb5324 --- /dev/null +++ b/script/maintenance/black.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# This will format all python file +# argument 1: directory or file to format +source ./.venv/bin/activate +black -l 100 -t py37 $@ diff --git a/script/maintenance/prettier.sh b/script/maintenance/prettier.sh new file mode 100755 index 0000000..38c5fbe --- /dev/null +++ b/script/maintenance/prettier.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# This will format all js,css,html +# argument 1: directory or file to format +prettier --write $@