From 450d654f95a524c5e51a3cec18a4ce618f176de9 Mon Sep 17 00:00:00 2001 From: Ernad Husremovic Date: Sat, 20 Dec 2025 19:21:13 +0100 Subject: [PATCH] fix: werkzeug version detection for 2.1.0+ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Werkzeug 2.1.0+ removed __version__ attribute. Use importlib.metadata as fallback for version detection. 🤖 assisted by claude --- odoo-bringout-oca-ocb-base/odoo/http.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/odoo-bringout-oca-ocb-base/odoo/http.py b/odoo-bringout-oca-ocb-base/odoo/http.py index 79e6bd08..8d2e459c 100644 --- a/odoo-bringout-oca-ocb-base/odoo/http.py +++ b/odoo-bringout-oca-ocb-base/odoo/http.py @@ -255,7 +255,13 @@ ROUTING_KEYS = { 'alias', 'host', 'methods', } -if parse_version(werkzeug.__version__) >= parse_version('2.0.2'): +try: + _werkzeug_version = werkzeug.__version__ +except AttributeError: + from importlib.metadata import version as _get_version + _werkzeug_version = _get_version('werkzeug') + +if parse_version(_werkzeug_version) >= parse_version('2.0.2'): # Werkzeug 2.0.2 adds the websocket option. If a websocket request # (ws/wss) is trying to access an HTTP route, a WebsocketMismatch # exception is raised. On the other hand, Werkzeug 0.16 does not