Commit 5485743b authored by Jérome Perrin's avatar Jérome Perrin

Restricted: remove guarded_next

Restricted python 4 supports iterators
parent 0174f76b
Pipeline #23072 failed with stage
in 0 seconds
...@@ -89,32 +89,6 @@ add_builtins(bin=bin, classmethod=classmethod, format=format, object=object, ...@@ -89,32 +89,6 @@ add_builtins(bin=bin, classmethod=classmethod, format=format, object=object,
super=super, type=type) super=super, type=type)
def guarded_next(iterator, default=_marker):
"""next(iterator[, default])
Return the next item from the iterator. If default is given
and the iterator is exhausted, it is returned instead of
raising StopIteration.
"""
try:
iternext = guarded_getattr(iterator, 'next').__call__
# this way an AttributeError while executing next() isn't hidden
# (2.6 does this too)
except AttributeError:
raise TypeError("%s object is not an iterator"
% type(iterator).__name__)
try:
return iternext()
except StopIteration:
if default is _marker:
raise
return default
# TODO: zope4py2 clean up this
#if "next" not in safe_builtins: # BBB
# override the default next if exists
safe_builtins.update(next=guarded_next)
# add_builtins()
_safe_class_attribute_dict = {} _safe_class_attribute_dict = {}
import inspect import inspect
def allow_class_attribute(klass, access=1): def allow_class_attribute(klass, access=1):
......
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