[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'):
|