From e3a862e4c31859a5bc63e349d1b120fc71951cbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Wed, 22 Apr 2026 18:19:51 +0200 Subject: [PATCH] User percent encoded name of inexistant database Closes #14801 (grafted from 5fddfb00cfffa81177c0b5ddda6aaecaccfe19da) --HG-- branch : 8.0 --- trytond/trytond/backend/sqlite/database.py | 3 ++- trytond/trytond/tests/test_transaction.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/trytond/trytond/backend/sqlite/database.py b/trytond/trytond/backend/sqlite/database.py index 2457af2867..f7f3705cb4 100644 --- a/trytond/trytond/backend/sqlite/database.py +++ b/trytond/trytond/backend/sqlite/database.py @@ -547,7 +547,8 @@ class Database(DatabaseInterface): db_path = safe_join( config.get('database', 'path'), self.name + '.sqlite') if not os.path.isfile(db_path): - raise IOError("Database '%s' doesn't exist!" % db_path) + raise DatabaseOperationalError( + f"Database '{db_path}' doesn't exist!") db_uri = base_uri._replace(path=db_path) # Use unparse before replacing sqlite with file because SQLite accepts diff --git a/trytond/trytond/tests/test_transaction.py b/trytond/trytond/tests/test_transaction.py index bada1d4ca4..ed9d445b9a 100644 --- a/trytond/trytond/tests/test_transaction.py +++ b/trytond/trytond/tests/test_transaction.py @@ -33,8 +33,8 @@ class TransactionTestCase(TestCase): and ensure that it stops cleanly and allows starting of next transaction''' self.assertRaises( - Exception, empty_transaction, "Non existant DB", USER, - context=CONTEXT) + backend.DatabaseOperationalError, empty_transaction, + "Non%20existant%20DB", USER, context=CONTEXT) self.assertTrue(empty_transaction(DB_NAME, USER, context=CONTEXT)) def test_set_user(self):