[SQL-CVS] r4038 - in SQLObject/trunk/sqlobject: . tests
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: <sub...@co...> - 2009-10-16 12:43:45
|
Author: phd Date: 2009-10-16 06:43:33 -0600 (Fri, 16 Oct 2009) New Revision: 4038 Modified: SQLObject/trunk/sqlobject/main.py SQLObject/trunk/sqlobject/sqlbuilder.py SQLObject/trunk/sqlobject/tests/test_select.py Log: Merged revision 4037 from branch 0.12: fixed a bug in calling column.from_python. Modified: SQLObject/trunk/sqlobject/main.py =================================================================== --- SQLObject/trunk/sqlobject/main.py 2009-10-16 12:40:05 UTC (rev 4037) +++ SQLObject/trunk/sqlobject/main.py 2009-10-16 12:43:33 UTC (rev 4038) @@ -889,7 +889,7 @@ if val is None: try: val = cls(_SO_fetch_no_create=1) - val._SO_validatorState = SQLObjectState(val) + val._SO_validatorState = sqlbuilder.SQLObjectState(val) val._init(id, connection, selectResults) cache.put(id, cls, val) finally: @@ -1237,7 +1237,7 @@ self.sqlmeta._creating = True self._SO_createValues = {} - self._SO_validatorState = SQLObjectState(self) + self._SO_validatorState = sqlbuilder.SQLObjectState(self) # First we do a little fix-up on the keywords we were # passed: @@ -1686,13 +1686,6 @@ return '_SO_val_%s' % name -class SQLObjectState(object): - - def __init__(self, soObject): - self.soObject = weakref.proxy(soObject) - self.protocol = 'sql' - - ######################################## ## Utility functions (for external consumption) ######################################## Modified: SQLObject/trunk/sqlobject/sqlbuilder.py =================================================================== --- SQLObject/trunk/sqlobject/sqlbuilder.py 2009-10-16 12:40:05 UTC (rev 4037) +++ SQLObject/trunk/sqlobject/sqlbuilder.py 2009-10-16 12:43:33 UTC (rev 4038) @@ -62,19 +62,28 @@ ## Constants ######################################## +import fnmatch +import operator +import re +import threading +import types +import weakref + +import classregistry +from converters import sqlrepr, registerConverter + + class VersionError(Exception): pass class NoDefault: pass -import re, fnmatch -import operator -import threading -import types -import classregistry -from converters import sqlrepr, registerConverter +class SQLObjectState(object): + def __init__(self, soObject): + self.soObject = weakref.proxy(soObject) + safeSQLRE = re.compile(r'^[a-zA-Z_][a-zA-Z0-9_\.]*$') def sqlIdentifier(obj): # some db drivers return unicode column names @@ -329,7 +338,7 @@ def _from_python(self, value): column = self.column if not isinstance(value, SQLExpression) and column and column.from_python: - value = column.from_python(value, self.soClass) + value = column.from_python(value, SQLObjectState(self.soClass)) return value def __eq__(self, other): if other is None: Modified: SQLObject/trunk/sqlobject/tests/test_select.py =================================================================== --- SQLObject/trunk/sqlobject/tests/test_select.py 2009-10-16 12:40:05 UTC (rev 4037) +++ SQLObject/trunk/sqlobject/tests/test_select.py 2009-10-16 12:43:33 UTC (rev 4038) @@ -184,3 +184,8 @@ assert IterTest.select(RLIKE(IterTest.q.name, "^sqlb.*$")).count() == 1 assert IterTest.select(RLIKE(IterTest.q.name, "^sqlb.*$")).count() == 1 assert IterTest.select(RLIKE(IterTest.q.name, "^sqlx.*$")).count() == 0 + +def test_select_sqlbuilder(): + setupClass(IterTest) + IterTest(name='sqlobject') + IterTest.select(IterTest.q.name==u'sqlobject') |