From c7db1d68882bad3d54988f2b008c9844275b6cb4 Mon Sep 17 00:00:00 2001 From: Alexandre Vassalotti Date: Wed, 14 May 2008 21:57:18 +0000 Subject: [PATCH] Change Pickler._batch_appends() and Pickler._batch_setitems() to take an iterable object, instead of an iterator. --- Lib/pickle.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Lib/pickle.py b/Lib/pickle.py index bf5c9513149..25ffd031485 100644 --- a/Lib/pickle.py +++ b/Lib/pickle.py @@ -594,7 +594,7 @@ class Pickler: write(MARK + LIST) self.memoize(obj) - self._batch_appends(iter(obj)) + self._batch_appends(obj) dispatch[list] = save_list @@ -611,6 +611,7 @@ class Pickler: write(APPEND) return + items = iter(items) r = range(self._BATCHSIZE) while items is not None: tmp = [] @@ -641,7 +642,7 @@ class Pickler: write(MARK + DICT) self.memoize(obj) - self._batch_setitems(iter(obj.items())) + self._batch_setitems(obj.items()) dispatch[dict] = save_dict if PyStringMap is not None: @@ -659,6 +660,7 @@ class Pickler: write(SETITEM) return + items = iter(items) r = range(self._BATCHSIZE) while items is not None: tmp = []