Get rid of _tag->closure->_tag reference cycle

This commit is contained in:
Jakub Stasiak 2014-06-04 14:47:26 +01:00
parent 76456dc3b2
commit 4541910381

View file

@ -52,13 +52,7 @@ class SessionMixin(object):
modified = True modified = True
class TaggedJSONSerializer(object): def _tag(value):
"""A customized JSON serializer that supports a few extra types that
we take for granted when serializing (tuples, markup objects, datetime).
"""
def dumps(self, value):
def _tag(value):
if isinstance(value, tuple): if isinstance(value, tuple):
return {' t': [_tag(x) for x in value]} return {' t': [_tag(x) for x in value]}
elif isinstance(value, uuid.UUID): elif isinstance(value, uuid.UUID):
@ -82,6 +76,14 @@ class TaggedJSONSerializer(object):
u'which can only store unicode strings. Consider ' u'which can only store unicode strings. Consider '
u'base64 encoding your string (String was %r)' % value) u'base64 encoding your string (String was %r)' % value)
return value return value
class TaggedJSONSerializer(object):
"""A customized JSON serializer that supports a few extra types that
we take for granted when serializing (tuples, markup objects, datetime).
"""
def dumps(self, value):
return json.dumps(_tag(value), separators=(',', ':')) return json.dumps(_tag(value), separators=(',', ':'))
def loads(self, value): def loads(self, value):