details:   https://code.tryton.org/tryton/commit/2269ff787d3c
branch:    7.6
user:      Nicolas Évrard <[email protected]>
date:      Wed Apr 22 18:19:51 2026 +0200
description:
        User percent encoded name of inexistant database

        Closes #14801
        (grafted from 5fddfb00cfffa81177c0b5ddda6aaecaccfe19da)
diffstat:

 trytond/trytond/backend/sqlite/database.py |  3 ++-
 trytond/trytond/tests/test_transaction.py  |  4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diffs (27 lines):

diff -r 8cf7ece62908 -r 2269ff787d3c trytond/trytond/backend/sqlite/database.py
--- a/trytond/trytond/backend/sqlite/database.py        Fri Apr 24 11:47:03 
2026 +0200
+++ b/trytond/trytond/backend/sqlite/database.py        Wed Apr 22 18:19:51 
2026 +0200
@@ -551,7 +551,8 @@
             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 -r 8cf7ece62908 -r 2269ff787d3c trytond/trytond/tests/test_transaction.py
--- a/trytond/trytond/tests/test_transaction.py Fri Apr 24 11:47:03 2026 +0200
+++ b/trytond/trytond/tests/test_transaction.py Wed Apr 22 18:19:51 2026 +0200
@@ -33,8 +33,8 @@
         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):

Reply via email to