allow serialization of dal.py/DAL

This commit is contained in:
mdipierro
2015-03-20 01:28:10 -05:00
parent 385d47c5f0
commit 65b80d115a
2 changed files with 12 additions and 3 deletions

View File

@@ -14,7 +14,7 @@ from pydal import DAL as pyDAL
from pydal import Field
from pydal.objects import Row, Rows, Table, Query, Expression
from pydal import SQLCustomType, geoPoint, geoLine, geoPolygon
import copy_reg as copyreg
def _default_validators(db, field):
"""
@@ -86,7 +86,7 @@ from gluon.utils import web2py_uuid
from gluon import sqlhtml
class DAL(pyDAL):
class DAL(pyDAL):
serializers = w2p_serializers
validators_method = _default_validators
uuid = lambda x: web2py_uuid()
@@ -97,6 +97,15 @@ class DAL(pyDAL):
Field = Field
Table = Table
def DAL_unpickler(db_uid):
return DAL('<zombie>', db_uid=db_uid)
def DAL_pickler(db):
return DAL_unpickler, (db._db_uid,)
copyreg.pickle(DAL, DAL_pickler, DAL_unpickler)
#: add web2py contrib drivers to pyDAL
from pydal.drivers import DRIVERS
if not DRIVERS.get('pymysql'):