summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Vranckx <flvr@odoo.com>2025-02-05 14:29:04 +0000
committerFlorian Vranckx <flvr@odoo.com>2025-02-06 16:44:05 +0000
commit287441c023c1b565e9557d6690d9365032ddcfea (patch)
treea55d22ca13627eb2553994714c487eb39b5d6e7c
parentcc5d7f3e068ca37488b0d716efacf36727401704 (diff)
[IMP] base: add python 3.13 support for safe_eval
This commit adds python 3.13 opcodes that would be necessary to use safe_eval and qweb closes odoo/odoo#196794 X-original-commit: 594e4afffe6f9f6ab14de82622ccd10e9f23d4d6 Signed-off-by: Walravens Mathieu (wama) <wama@odoo.com> Signed-off-by: Florian Vranckx (flvr) <flvr@odoo.com>
-rw-r--r--odoo/addons/base/models/ir_qweb.py5
-rw-r--r--odoo/tools/safe_eval.py7
2 files changed, 12 insertions, 0 deletions
diff --git a/odoo/addons/base/models/ir_qweb.py b/odoo/addons/base/models/ir_qweb.py
index 7af4f0b5239..33ee20ed573 100644
--- a/odoo/addons/base/models/ir_qweb.py
+++ b/odoo/addons/base/models/ir_qweb.py
@@ -445,6 +445,11 @@ _SAFE_QWEB_OPCODES = _EXPR_OPCODES.union(to_opcodes([
'RERAISE',
'CALL_INTRINSIC_1',
'STORE_SLICE',
+ # 3.13
+ 'CALL_KW', 'LOAD_FAST_LOAD_FAST',
+ 'STORE_FAST_STORE_FAST', 'STORE_FAST_LOAD_FAST',
+ 'CONVERT_VALUE', 'FORMAT_SIMPLE', 'FORMAT_WITH_SPEC',
+ 'SET_FUNCTION_ATTRIBUTE',
])) - _BLACKLIST
diff --git a/odoo/tools/safe_eval.py b/odoo/tools/safe_eval.py
index 0eecabc2f6f..14659cfe9fe 100644
--- a/odoo/tools/safe_eval.py
+++ b/odoo/tools/safe_eval.py
@@ -100,6 +100,8 @@ _CONST_OPCODES = set(to_opcodes([
'RESUME',
# 3.12 https://docs.python.org/3/whatsnew/3.12.html#cpython-bytecode-changes
'RETURN_CONST',
+ # 3.13
+ 'TO_BOOL',
])) - _BLACKLIST
# operations which are both binary and inplace, same order as in doc'
@@ -174,6 +176,11 @@ _SAFE_OPCODES = _EXPR_OPCODES.union(to_opcodes([
'POP_JUMP_IF_NOT_NONE', 'POP_JUMP_IF_NONE',
'CALL_INTRINSIC_1',
'STORE_SLICE',
+ # 3.13
+ 'CALL_KW', 'LOAD_FAST_LOAD_FAST',
+ 'STORE_FAST_STORE_FAST', 'STORE_FAST_LOAD_FAST',
+ 'CONVERT_VALUE', 'FORMAT_SIMPLE', 'FORMAT_WITH_SPEC',
+ 'SET_FUNCTION_ATTRIBUTE',
])) - _BLACKLIST