[SQL-CVS] r624 - in trunk/SQLObject/sqlobject: . tests
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: <sub...@co...> - 2005-02-20 04:46:03
|
Author: ianb Date: 2005-02-20 04:45:59 +0000 (Sun, 20 Feb 2005) New Revision: 624 Modified: trunk/SQLObject/sqlobject/joins.py trunk/SQLObject/sqlobject/main.py trunk/SQLObject/sqlobject/sresults.py trunk/SQLObject/sqlobject/tests/test_auto.py trunk/SQLObject/sqlobject/tests/test_joins.py trunk/SQLObject/sqlobject/tests/test_sorting.py trunk/SQLObject/sqlobject/tests/test_transactions.py Log: Moved defaultOrder into sqlmeta Modified: trunk/SQLObject/sqlobject/joins.py =================================================================== --- trunk/SQLObject/sqlobject/joins.py 2005-02-20 04:45:46 UTC (rev 623) +++ trunk/SQLObject/sqlobject/joins.py 2005-02-20 04:45:59 UTC (rev 624) @@ -74,7 +74,7 @@ def _applyOrderBy(self, results, defaultSortClass): if self.orderBy is NoDefault: - self.orderBy = defaultSortClass._defaultOrder + self.orderBy = defaultSortClass.sqlmeta.defaultOrder if self.orderBy is not None: results.sort(sorter(self.orderBy)) return results Modified: trunk/SQLObject/sqlobject/main.py =================================================================== --- trunk/SQLObject/sqlobject/main.py 2005-02-20 04:45:46 UTC (rev 623) +++ trunk/SQLObject/sqlobject/main.py 2005-02-20 04:45:59 UTC (rev 624) @@ -152,6 +152,7 @@ idName = None style = None lazyUpdate = False + defaultOrder = None __metaclass__ = declarative.DeclarativeMeta @@ -204,11 +205,11 @@ # 2) Deprecated after 1 (0.8?) # 3) Deprecated after 2 (0.9?) -def deprecated(message, level=1): +def deprecated(message, level=1, stacklevel=2): if exception_level is not None and exception_level <= level: raise NotImplementedError(message) if warnings_level is not None and warnings_level <= level: - warnings.warn(message, DeprecationWarning, stacklevel=2) + warnings.warn(message, DeprecationWarning, stacklevel=stacklevel) # SQLObject is the superclass for all SQLObject classes, of # course. All the deeper magic is done in MetaSQLObject, and @@ -240,9 +241,6 @@ # it's set (default 1). _cacheValues = True - # The _defaultOrder is used by SelectResults - _defaultOrder = None - _connection = None _columns = [] @@ -496,14 +494,17 @@ _table = _sqlmeta_attr('table', 2) _idName = _sqlmeta_attr('idName', 2) _lazyUpdate = _sqlmeta_attr('lazyUpdate', 2) + _defaultOrder = _sqlmeta_attr('defaultOrder', 2) def _cleanDeprecatedAttrs(cls, new_attrs): - for attr in ['_table', '_lazyUpdate', '_style', '_idName']: + for attr in ['_table', '_lazyUpdate', '_style', '_idName', + '_defaultOrder']: if new_attrs.has_key(attr): new_name = attr[1:] deprecated("'%s' is deprecated; please set the '%s' " "attribute in sqlmeta instead" % - (attr, new_name), level=2) + (attr, new_name), level=2, + stacklevel=5) setattr(cls.sqlmeta, new_name, new_attrs[attr]) delattr(cls, attr) Modified: trunk/SQLObject/sqlobject/sresults.py =================================================================== --- trunk/SQLObject/sqlobject/sresults.py 2005-02-20 04:45:46 UTC (rev 623) +++ trunk/SQLObject/sqlobject/sresults.py 2005-02-20 04:45:59 UTC (rev 624) @@ -19,7 +19,7 @@ self.tables = tablesDict.keys() self.ops = ops if self.ops.get('orderBy', sqlbuilder.NoDefault) is sqlbuilder.NoDefault: - self.ops['orderBy'] = sourceClass._defaultOrder + self.ops['orderBy'] = sourceClass.sqlmeta.defaultOrder orderBy = self.ops['orderBy'] if isinstance(orderBy, list) or isinstance(orderBy, tuple): orderBy = map(self._mungeOrderBy, orderBy) Modified: trunk/SQLObject/sqlobject/tests/test_auto.py =================================================================== --- trunk/SQLObject/sqlobject/tests/test_auto.py 2005-02-20 04:45:46 UTC (rev 623) +++ trunk/SQLObject/sqlobject/tests/test_auto.py 2005-02-20 04:45:59 UTC (rev 624) @@ -13,13 +13,15 @@ class Person(SQLObject): + class sqlmeta: + defaultOrder = 'name' _columns = [StringCol('name', length=100, dbName='name_col')] - _defaultOrder = 'name' class Phone(SQLObject): + class sqlmeta: + defaultOrder = 'phone' _columns = [StringCol('phone', length=12)] - _defaultOrder = 'phone' class TestPeople: @@ -34,7 +36,7 @@ def test_defaultOrder(self): assert (list(Person.select('all')) == - list(Person.select('all', orderBy=Person._defaultOrder))) + list(Person.select('all', orderBy=Person.sqlmeta.defaultOrder))) def test_dynamicColumn(self): if not supports('dynamicColumn'): Modified: trunk/SQLObject/sqlobject/tests/test_joins.py =================================================================== --- trunk/SQLObject/sqlobject/tests/test_joins.py 2005-02-20 04:45:46 UTC (rev 623) +++ trunk/SQLObject/sqlobject/tests/test_joins.py 2005-02-20 04:45:59 UTC (rev 624) @@ -68,10 +68,12 @@ class AddressJoiner2(SQLObject): + class sqlmeta: + defaultOrder = ['-zip', 'plus4'] + _columns = [StringCol('zip', length=5), StringCol('plus4', length=4, default=None), ForeignKey('PersonJoiner2')] - _defaultOrder = ['-zip', 'plus4'] class TestJoin2: Modified: trunk/SQLObject/sqlobject/tests/test_sorting.py =================================================================== --- trunk/SQLObject/sqlobject/tests/test_sorting.py 2005-02-20 04:45:46 UTC (rev 623) +++ trunk/SQLObject/sqlobject/tests/test_sorting.py 2005-02-20 04:45:59 UTC (rev 624) @@ -5,11 +5,11 @@ class sqlmeta(sqlmeta): table = 'names_table' + defaultOrder = ['lastName', 'firstName'] firstName = StringCol(length=30) lastName = StringCol(length=30) - _defaultOrder = ['lastName', 'firstName'] def setupNames(): setupClass(Names) Modified: trunk/SQLObject/sqlobject/tests/test_transactions.py =================================================================== --- trunk/SQLObject/sqlobject/tests/test_transactions.py 2005-02-20 04:45:46 UTC (rev 623) +++ trunk/SQLObject/sqlobject/tests/test_transactions.py 2005-02-20 04:45:59 UTC (rev 624) @@ -7,8 +7,9 @@ class TestSOTrans(SQLObject): #_cacheValues = False + class sqlmeta: + defaultOrder = 'name' name = StringCol(length=10, alternateID=True, dbName='name_col') - _defaultOrderBy = 'name' def test_transaction(): if not supports('transactions'): |