diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 45870f1..c8bde89 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -60,9 +60,18 @@ jobs: sudo apt-get install -y --no-install-recommends postgresql-client git curl build-essential libxml2-dev libsasl2-dev libsass-dev libldap2-dev libjpeg-dev # python3-lxml python3-pip python3-psycopg2 python3-ldap python3-libsass python3-lxml python3-pillow python3-pypdf2 python3-psutil python3-asn1crypto - - name: Install Test Dependencies + - name: Prepare Pip + run: | + python -m pip install --upgrade "pip<23" + if: ${{ matrix.odoo-version == '13' }} + + - name: Prepare Pip run: | python -m pip install --upgrade pip + if: ${{ matrix.odoo-version != '13' }} + + - name: Install Test Dependencies + run: | python -m pip install flake8 pytest codecov python -m pip install -e ".[test]" python -m pip install "python-ldap>=3.2" "libsass<=0.21,>=0.18" "lxml>=4.5.0" "Pillow>=7.0" "PyPDF2>=1.26" "psutil>=5.5.1" diff --git a/odoo_tools/api/environment.py b/odoo_tools/api/environment.py index f2bb36e..f3d4446 100644 --- a/odoo_tools/api/environment.py +++ b/odoo_tools/api/environment.py @@ -247,9 +247,9 @@ def addons_paths(self): paths = config.get('options', 'addons_path') config_paths = set( - Path(path) + Path(path.strip()) for path in paths.split(',') - if path + if path.strip() ) if len(config_paths) > 0 and not self.context.force_addons_lookup: diff --git a/odoo_tools/cli/click/platform.py b/odoo_tools/cli/click/platform.py index d6b62b1..2aa9780 100644 --- a/odoo_tools/cli/click/platform.py +++ b/odoo_tools/cli/click/platform.py @@ -13,7 +13,7 @@ def platform(ctx): @platform.command() @click.pass_context def arch(ctx): - arch = pp.processor() + arch = pp.processor() or pp.machine() if arch == "x86_64": docker_arch = "amd64" diff --git a/odoo_tools/configuration/odoo.py b/odoo_tools/configuration/odoo.py index 5bdff03..e33cb91 100644 --- a/odoo_tools/configuration/odoo.py +++ b/odoo_tools/configuration/odoo.py @@ -139,12 +139,16 @@ def install(self): self.parsed_version.major < 14 ): new_args = args[:] + new_args += [ - "setuptools<58" + "setuptools >49, <=58", + "pip <23" ] - run(new_args) + print("Installing vatnumber alone!?") + run(args[:] + ["vatnumber==1.2"]) + args += ['.', '-r', str(self.requirement_file)] with cd(self.odoo_dir): diff --git a/odoo_tools/requirements/requirements-13.0.txt b/odoo_tools/requirements/requirements-13.0.txt index a36db59..1039631 100644 --- a/odoo_tools/requirements/requirements-13.0.txt +++ b/odoo_tools/requirements/requirements-13.0.txt @@ -1,4 +1,4 @@ -setuptools<58 +setuptools<=58 Babel==2.6.0 chardet==3.0.4 decorator==4.3.0 diff --git a/tests/fixtures.py b/tests/fixtures.py index 97b9745..b5ca3b5 100644 --- a/tests/fixtures.py +++ b/tests/fixtures.py @@ -92,7 +92,7 @@ def odoo_release(): odoo_version = "{}.0".format(os.environ['TEST_ODOO']) - release = "20230222" + release = "20230601" env.manage.install_odoo(odoo_version, release=release, opts=options) diff --git a/tests/test_env.py b/tests/test_env.py index 3990c9b..a00a774 100644 --- a/tests/test_env.py +++ b/tests/test_env.py @@ -87,6 +87,21 @@ def test_env_config_addons_path(tmp_path): assert env.addons_paths() == set() +def test_env_config_whitespace_addons_path(tmp_path): + env = Environment() + + env.context.odoo_rc = tmp_path / 'odoo.cfg' + + with env.config(): + env.set_config('addons_path', ",".join([f" {tmp_path}", ""])) + + paths = env.addons_paths() + assert paths == {tmp_path} + + env.context.force_addons_lookup = True + assert env.addons_paths() == set() + + def test_invalid_env(tmp_path): env = Environment()