Author: phd
Date: 2009-04-09 12:26:10 -0600 (Thu, 09 Apr 2009)
New Revision: 3848
Modified:
SQLObject/trunk/docs/News.txt
SQLObject/trunk/sqlobject/inheritance/__init__.py
SQLObject/trunk/sqlobject/inheritance/tests/test_asdict.py
SQLObject/trunk/sqlobject/main.py
Log:
Merged a fix r3847 from 0.10 branch: sqlmeta.getColumns() becomes classmethod.
Modified: SQLObject/trunk/docs/News.txt
===================================================================
--- SQLObject/trunk/docs/News.txt 2009-04-09 18:23:47 UTC (rev 3847)
+++ SQLObject/trunk/docs/News.txt 2009-04-09 18:26:10 UTC (rev 3848)
@@ -53,6 +53,8 @@
* A number of changes ported from `SQLObject 0.9.10`_.
+* sqlmeta.getColumns() becomes classmethod.
+
SQLObject 0.10.4
================
Modified: SQLObject/trunk/sqlobject/inheritance/__init__.py
===================================================================
--- SQLObject/trunk/sqlobject/inheritance/__init__.py 2009-04-09 18:23:47 UTC (rev 3847)
+++ SQLObject/trunk/sqlobject/inheritance/__init__.py 2009-04-09 18:26:10 UTC (rev 3848)
@@ -212,12 +212,14 @@
columns.update(sm.parentClass.sqlmeta.columns)
sm = sm.parentClass.sqlmeta
return columns
+ getAllColumns = classmethod(getAllColumns)
def getColumns(sqlmeta):
columns = sqlmeta.getAllColumns()
if columns.has_key('childName'):
del columns['childName']
return columns
+ getColumns = classmethod(getColumns)
class InheritableSQLObject(SQLObject):
Modified: SQLObject/trunk/sqlobject/inheritance/tests/test_asdict.py
===================================================================
--- SQLObject/trunk/sqlobject/inheritance/tests/test_asdict.py 2009-04-09 18:23:47 UTC (rev 3847)
+++ SQLObject/trunk/sqlobject/inheritance/tests/test_asdict.py 2009-04-09 18:26:10 UTC (rev 3848)
@@ -17,6 +17,17 @@
_inheritable = False
position = StringCol()
+def test_getColumns():
+ setupClass([InheritablePerson, Boss, Employee])
+
+ for klass, columns in (
+ (InheritablePerson, ['first', 'last']),
+ (Boss, ['department', 'first', 'last']),
+ (Employee, ['first', 'last', 'position'])):
+ _columns = klass.sqlmeta.getColumns().keys()
+ _columns.sort()
+ assert _columns == columns
+
def test_asDict():
setupClass([InheritablePerson, Boss, Employee])
InheritablePerson(first='Oneof', last='Authors')
Modified: SQLObject/trunk/sqlobject/main.py
===================================================================
--- SQLObject/trunk/sqlobject/main.py 2009-04-09 18:23:47 UTC (rev 3847)
+++ SQLObject/trunk/sqlobject/main.py 2009-04-09 18:26:10 UTC (rev 3848)
@@ -610,6 +610,7 @@
def getColumns(sqlmeta):
return sqlmeta.columns.copy()
+ getColumns = classmethod(getColumns)
def asDict(self):
"""
|