From fa12f8aea4dfe003c183ea74d39c1a7651afefc2 Mon Sep 17 00:00:00 2001 From: David Virebayre Date: Mon, 9 Oct 2023 09:27:27 +0200 Subject: [PATCH] [FIX] Prevent exception if the query doesn't return rows --- base_external_dbsource_sqlite/README.rst | 2 +- base_external_dbsource_sqlite/__manifest__.py | 2 +- .../models/base_external_dbsource.py | 4 +++- base_external_dbsource_sqlite/static/description/index.html | 3 +-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/base_external_dbsource_sqlite/README.rst b/base_external_dbsource_sqlite/README.rst index 328e5f43..e3e503f7 100644 --- a/base_external_dbsource_sqlite/README.rst +++ b/base_external_dbsource_sqlite/README.rst @@ -7,7 +7,7 @@ External Database Source - SQLite !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:dcf54306e6d3c761f7e679fafdfc561041b62202ae0e83a47aad643383d975b6 + !! source digest: sha256:be42980ba34bb6865c363361ab0af4b4c54884df329f861dd1d906f1723643ab !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/base_external_dbsource_sqlite/__manifest__.py b/base_external_dbsource_sqlite/__manifest__.py index 0211c599..3bfdaa06 100644 --- a/base_external_dbsource_sqlite/__manifest__.py +++ b/base_external_dbsource_sqlite/__manifest__.py @@ -3,7 +3,7 @@ # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). { "name": "External Database Source - SQLite", - "version": "16.0.1.0.1", + "version": "16.0.1.0.2", "category": "Tools", "author": "Daniel Reis, LasLabs, Odoo Community Association (OCA)", "maintainers": ["anddago78"], diff --git a/base_external_dbsource_sqlite/models/base_external_dbsource.py b/base_external_dbsource_sqlite/models/base_external_dbsource.py index 37b886fc..fc6ba2f1 100644 --- a/base_external_dbsource_sqlite/models/base_external_dbsource.py +++ b/base_external_dbsource_sqlite/models/base_external_dbsource.py @@ -38,5 +38,7 @@ class BaseExternalDbsource(models.Model): cur = connection.execute(sqlquery, sqlparams) if metadata: cols = list(cur.keys()) - rows = [r for r in cur] + # If the query doesn't return rows, trying to get them anyway + # will raise an exception `sqlalchemy.exc.ResourceClosedError` + rows = [r for r in cur] if cur.returns_rows else [] return rows, cols diff --git a/base_external_dbsource_sqlite/static/description/index.html b/base_external_dbsource_sqlite/static/description/index.html index 17ca128e..2a7de176 100644 --- a/base_external_dbsource_sqlite/static/description/index.html +++ b/base_external_dbsource_sqlite/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:dcf54306e6d3c761f7e679fafdfc561041b62202ae0e83a47aad643383d975b6 +!! source digest: sha256:be42980ba34bb6865c363361ab0af4b4c54884df329f861dd1d906f1723643ab !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: LGPL-3 OCA/server-backend Translate me on Weblate Try me on Runboat

This module extends base_external_dbsource, allowing you to connect to