[Checkins] SVN: BTrees/branches/py3k/ Special-case Py3k dicts in _SetIterator.
Tres Seaver
cvs-admin at zope.org
Wed Dec 12 14:41:00 UTC 2012
Log message for revision 128615:
Special-case Py3k dicts in _SetIterator.
They don't have 'iteritems', and their 'items' returns a custom iterable.
Changed:
_U BTrees/branches/py3k/
U BTrees/branches/py3k/BTrees/_base.py
-=-
Modified: BTrees/branches/py3k/BTrees/_base.py
===================================================================
--- BTrees/branches/py3k/BTrees/_base.py 2012-12-12 14:40:59 UTC (rev 128614)
+++ BTrees/branches/py3k/BTrees/_base.py 2012-12-12 14:40:59 UTC (rev 128615)
@@ -21,6 +21,7 @@
from persistent import Persistent
from .Interfaces import BTreesConflictError
+from ._compat import PY3
from ._compat import cmp
from ._compat import int_types
from ._compat import xrange
@@ -175,8 +176,11 @@
try:
itmeth = to_iterate.iteritems
except AttributeError:
- itmeth = to_iterate.__iter__
- useValues = False
+ if PY3 and isinstance(to_iterate, dict): #pragma NO COVER Py3k
+ itmeth = to_iterate.items().__iter__
+ else:
+ itmeth = to_iterate.__iter__
+ useValues = False
else:
self.value = None
else:
More information about the checkins
mailing list