From 09f72e60297c7108b5d2cb5b7755c0077db3a88c Mon Sep 17 00:00:00 2001 From: Mathias Stearn Date: Wed, 10 Nov 2010 10:58:05 -0500 Subject: [PATCH] support deepcopy on bson.SON --- bson/son.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bson/son.py b/bson/son.py index f2ec9ed87..03c7b5e76 100644 --- a/bson/son.py +++ b/bson/son.py @@ -18,6 +18,7 @@ Regular dictionaries can be used instead of SON objects, but not when the order of keys is important. A SON object can be used just like a normal Python dictionary.""" +import copy class SON(dict): """SON data. @@ -202,3 +203,9 @@ class SON(dict): return value return transform_value(dict(self)) + + def __deepcopy__(self, memo): + out = SON() + for k, v in self.iteritems(): + out[k] = copy.deepcopy(v, memo) + return out