Commit de6908fb by Tom Christie

Remove recursion detection

parent 351382fe
...@@ -23,10 +23,6 @@ class SortedDictWithMetadata(SortedDict, DictWithMetadata): ...@@ -23,10 +23,6 @@ class SortedDictWithMetadata(SortedDict, DictWithMetadata):
pass pass
class RecursionOccured(BaseException):
pass
def _is_protected_type(obj): def _is_protected_type(obj):
""" """
True if the object is a native datatype that does not need to True if the object is a native datatype that does not need to
...@@ -93,7 +89,6 @@ class BaseSerializer(Field): ...@@ -93,7 +89,6 @@ class BaseSerializer(Field):
self.parent = None self.parent = None
self.root = None self.root = None
self.stack = []
self.context = context or {} self.context = context or {}
self.init_data = data self.init_data = data
...@@ -152,10 +147,9 @@ class BaseSerializer(Field): ...@@ -152,10 +147,9 @@ class BaseSerializer(Field):
def initialize(self, parent): def initialize(self, parent):
""" """
Same behaviour as usual Field, except that we need to keep track Same behaviour as usual Field, except that we need to keep track
of state so that we can deal with handling maximum depth and recursion. of state so that we can deal with handling maximum depth.
""" """
super(BaseSerializer, self).initialize(parent) super(BaseSerializer, self).initialize(parent)
self.stack = parent.stack[:]
if parent.opts.depth: if parent.opts.depth:
self.opts.depth = parent.opts.depth - 1 self.opts.depth = parent.opts.depth - 1
...@@ -173,10 +167,6 @@ class BaseSerializer(Field): ...@@ -173,10 +167,6 @@ class BaseSerializer(Field):
Core of serialization. Core of serialization.
Convert an object into a dictionary of serialized field values. Convert an object into a dictionary of serialized field values.
""" """
if obj in self.stack and not self.source == '*':
raise RecursionOccured()
self.stack.append(obj)
ret = self._dict_class() ret = self._dict_class()
ret.fields = {} ret.fields = {}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment