[Checkins] SVN: z3c.pt/trunk/src/z3c/pt/utils.py We used to do iterable.__iter__() but, e.g. BTreeItems
Chris McDonough
chrism at plope.com
Sat Aug 16 01:50:06 EDT 2008
Log message for revision 89903:
We used to do iterable.__iter__() but, e.g. BTreeItems
objects are iterable (via __getitem__) but don't possess
an __iter__. Call iter(iterable) instead to determine
iterability.
Changed:
U z3c.pt/trunk/src/z3c/pt/utils.py
-=-
Modified: z3c.pt/trunk/src/z3c/pt/utils.py
===================================================================
--- z3c.pt/trunk/src/z3c/pt/utils.py 2008-08-15 23:50:05 UTC (rev 89902)
+++ z3c.pt/trunk/src/z3c/pt/utils.py 2008-08-16 05:50:04 UTC (rev 89903)
@@ -93,8 +93,12 @@
length = None
try:
- iterator = iterable.__iter__()
- except AttributeError:
+ # We used to do iterable.__iter__() but, e.g. BTreeItems
+ # objects are iterable (via __getitem__) but don't possess
+ # an __iter__. call iter(iterable) instead to determine
+ # iterability.
+ iterator = iter(iterable)
+ except TypeError:
raise TypeError(
"Can only repeat over an iterable object (%s)." % iterable)
More information about the Checkins
mailing list