Closed
Conversation
When python expression is evaluated in odoo form an action or qweb, we are checking the opcodes generated by the evaluation of this code. We do such a verification, because the code from actions and templates can be written by someone having not access to the server and we don't want to let them perform actions out of the scope of their database. In python 3.11, some opcodes from previous versions of Python have been renamed, grouped or sepcified. There are also new ones that have been introduce. In this PR, we are whitelisting the new ones that are needed by odoo to properly work in this version of Python. X-original-commit: 65dd86b
As getdefaultlocale is deprecated in 3.11 in favor of getlocale which is available since at least 3.0. X-original-commit: 5d90802
Since python/cpython#18544, unittest mock is not able to properly find the "odoo.tools.config". When trying to patch the `options` dictionnary, it leads to `AttributeError: module 'odoo.tools.config' has no attribute 'options'` In order to have the tests working in python <= 3.11, we have to import the config module and patch the options in place. X-original-commit: 482cb08
Since Python 3.11, sampling from a set deprecated, the population must be a sequence. This commit applies the suggested fix. Also, the filtering of the deprecation warning about sampling from set can be disabled when the python version is not 3.9. This warning was wrongly triggered since 3.9 because recordsets are bot a sequence and a set. This was fixed in python 3.10, see https://bugs.python.org/issue42470 X-original-commit: 67c7cea
Contributor
Contributor
Author
|
This PR targets saas-16.1 and is part of the forward-port chain. Further PRs will be created up to master. More info at https://github.com/odoo/odoo/wiki/Mergebot#forward-port |
Contributor
Author
|
@d-fence @xmo-odoo the next pull request (#112450) is in conflict. You can merge the chain up to here by saying
More info at https://github.com/odoo/odoo/wiki/Mergebot#forward-port |
Contributor
|
@fw-bot r+ |
robodoo
pushed a commit
that referenced
this pull request
Feb 13, 2023
When python expression is evaluated in odoo form an action or qweb, we are checking the opcodes generated by the evaluation of this code. We do such a verification, because the code from actions and templates can be written by someone having not access to the server and we don't want to let them perform actions out of the scope of their database. In python 3.11, some opcodes from previous versions of Python have been renamed, grouped or sepcified. There are also new ones that have been introduce. In this PR, we are whitelisting the new ones that are needed by odoo to properly work in this version of Python. X-original-commit: 65dd86b Part-of: #112440
robodoo
pushed a commit
that referenced
this pull request
Feb 13, 2023
Since python/cpython#18544, unittest mock is not able to properly find the "odoo.tools.config". When trying to patch the `options` dictionnary, it leads to `AttributeError: module 'odoo.tools.config' has no attribute 'options'` In order to have the tests working in python <= 3.11, we have to import the config module and patch the options in place. X-original-commit: 482cb08 Part-of: #112440
robodoo
pushed a commit
that referenced
this pull request
Feb 13, 2023
Since Python 3.11, sampling from a set deprecated, the population must be a sequence. This commit applies the suggested fix. Also, the filtering of the deprecation warning about sampling from set can be disabled when the python version is not 3.9. This warning was wrongly triggered since 3.9 because recordsets are bot a sequence and a set. This was fixed in python 3.10, see https://bugs.python.org/issue42470 closes #112440 X-original-commit: 67c7cea Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com> Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Since the next imminent release of Debian Bookworm will come with Python 3.11 as some other distros (like Fedora 37) this PR adapts Odoo 16.0 to work with Python 3.11.
Note:
This is an excerpt from this testing branch that was made to test against the Jammy and Bookworm distributions.
Forward-Port-Of: #112317