From 65b80d115a5dfd3353b1a6a481936ea23d7bfbce Mon Sep 17 00:00:00 2001 From: mdipierro Date: Fri, 20 Mar 2015 01:28:10 -0500 Subject: [PATCH] allow serialization of dal.py/DAL --- gluon/dal.py | 13 +++++++++++-- gluon/packages/dal | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gluon/dal.py b/gluon/dal.py index 28fb664c..7ff96602 100644 --- a/gluon/dal.py +++ b/gluon/dal.py @@ -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('', 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'): diff --git a/gluon/packages/dal b/gluon/packages/dal index 2554dac7..f816d26b 160000 --- a/gluon/packages/dal +++ b/gluon/packages/dal @@ -1 +1 @@ -Subproject commit 2554dac7a4d2a7d85b29601e59bb3333dc13b9fe +Subproject commit f816d26b6a0bef6d5320c6429f3b601c742e198f