Merge pull request #923 from gi0baro/validators

Fix serializers injection over new pydal
This commit is contained in:
mdipierro
2015-04-18 15:17:06 -05:00
2 changed files with 6 additions and 5 deletions
+3 -3
View File
@@ -14,7 +14,7 @@ from pydal import DAL as DAL
from pydal import Field from pydal import Field
from pydal.objects import Row, Rows, Table, Query, Expression from pydal.objects import Row, Rows, Table, Query, Expression
from pydal import SQLCustomType, geoPoint, geoLine, geoPolygon from pydal import SQLCustomType, geoPoint, geoLine, geoPolygon
import copy_reg as copyreg
def _default_validators(db, field): def _default_validators(db, field):
""" """
@@ -81,12 +81,12 @@ def _default_validators(db, field):
requires[0] = validators.IS_EMPTY_OR(requires[0]) requires[0] = validators.IS_EMPTY_OR(requires[0])
return requires return requires
from gluon import serializers as w2p_serializers from gluon.serializers import custom_json, xml
from gluon.utils import web2py_uuid from gluon.utils import web2py_uuid
from gluon import sqlhtml from gluon import sqlhtml
DAL.serializers = w2p_serializers DAL.serializers = {'json': custom_json, 'xml': xml}
DAL.validators_method = _default_validators DAL.validators_method = _default_validators
DAL.uuid = lambda x: web2py_uuid() DAL.uuid = lambda x: web2py_uuid()
DAL.representers = { DAL.representers = {
+3 -2
View File
@@ -15,10 +15,11 @@ from gluon.dal import DAL, Field
class TestDALSubclass(unittest.TestCase): class TestDALSubclass(unittest.TestCase):
def testRun(self): def testRun(self):
import gluon.serializers as mserializers from gluon.serializers import custom_json, xml
from gluon import sqlhtml from gluon import sqlhtml
db = DAL(check_reserved=['all']) db = DAL(check_reserved=['all'])
self.assertEqual(db.serializers, mserializers) self.assertEqual(db.serializers['json'], custom_json)
self.assertEqual(db.serializers['xml'], xml)
self.assertEqual(db.representers['rows_render'], sqlhtml.represent) self.assertEqual(db.representers['rows_render'], sqlhtml.represent)
self.assertEqual(db.representers['rows_xml'], sqlhtml.SQLTABLE) self.assertEqual(db.representers['rows_xml'], sqlhtml.SQLTABLE)