Thread: [SQL-CVS] r3889 - in SQLObject/branches/0.9: docs sqlobject sqlobject/tests
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: <sub...@co...> - 2009-05-18 16:40:51
|
Author: phd Date: 2009-05-18 10:40:39 -0600 (Mon, 18 May 2009) New Revision: 3889 Modified: SQLObject/branches/0.9/docs/News.txt SQLObject/branches/0.9/sqlobject/main.py SQLObject/branches/0.9/sqlobject/tests/test_basic.py Log: Fixed a bug that prevented to override per class _connection if there is sqlhub.processConnection. Modified: SQLObject/branches/0.9/docs/News.txt =================================================================== --- SQLObject/branches/0.9/docs/News.txt 2009-05-18 16:15:46 UTC (rev 3888) +++ SQLObject/branches/0.9/docs/News.txt 2009-05-18 16:40:39 UTC (rev 3889) @@ -15,6 +15,9 @@ * Use sqlmeta.idName instead of 'id' in all connection classes. +* Fixed a bug that prevented to override per class _connection if there is + sqlhub.processConnection. + SQLObject 0.9.10 ================ Modified: SQLObject/branches/0.9/sqlobject/main.py =================================================================== --- SQLObject/branches/0.9/sqlobject/main.py 2009-05-18 16:15:46 UTC (rev 3888) +++ SQLObject/branches/0.9/sqlobject/main.py 2009-05-18 16:40:39 UTC (rev 3889) @@ -768,7 +768,10 @@ if hasattr(mod, '__connection__'): connection = mod.__connection__ - if connection and not hasattr(cls, '_connection'): + # Do not check hasattr(cls, '_connection') here - it is possible + # SQLObject parent class has a connection attribute that came + # from sqlhub, e.g.; # check __dict__ only. + if connection and ('_connection' not in cls.__dict__): cls.setConnection(connection) # We have to check if there are columns in the inherited Modified: SQLObject/branches/0.9/sqlobject/tests/test_basic.py =================================================================== --- SQLObject/branches/0.9/sqlobject/tests/test_basic.py 2009-05-18 16:15:46 UTC (rev 3888) +++ SQLObject/branches/0.9/sqlobject/tests/test_basic.py 2009-05-18 16:40:39 UTC (rev 3889) @@ -311,3 +311,9 @@ setupClass(TestSO13) test = TestSO13(name="test") assert test.value == 1 + +def test_connection_override(): + sqlhub.processConnection = connectionForURI('sqlite:///db1') + class TestSO14(SQLObject): + _connection = connectionForURI('sqlite:///db2') + assert TestSO14._connection.uri() == 'sqlite:///db2' |