1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-07-30 22:43:14 +03:00

Add methods for python3 iterator

xmlCoreDepthFirstItertor and xmlCoreBreadthFirstItertr only
implement a python2-compatible iterator interface. The next()
method has been changed to __next__(). An alias has been
defined to keep python2 compatibility.
This commit is contained in:
Ron Angeles
2014-09-27 21:56:03 -07:00
committed by Daniel Veillard
parent 33f658c969
commit b3e488b0d9

View File

@ -530,7 +530,7 @@ class xmlCoreDepthFirstItertor:
self.parents = [] self.parents = []
def __iter__(self): def __iter__(self):
return self return self
def next(self): def __next__(self):
while 1: while 1:
if self.node: if self.node:
ret = self.node ret = self.node
@ -542,6 +542,7 @@ class xmlCoreDepthFirstItertor:
except IndexError: except IndexError:
raise StopIteration raise StopIteration
self.node = parent.next self.node = parent.next
next = __next__
# #
# implements the breadth-first iterator for libxml2 DOM tree # implements the breadth-first iterator for libxml2 DOM tree
@ -552,7 +553,7 @@ class xmlCoreBreadthFirstItertor:
self.parents = [] self.parents = []
def __iter__(self): def __iter__(self):
return self return self
def next(self): def __next__(self):
while 1: while 1:
if self.node: if self.node:
ret = self.node ret = self.node
@ -564,6 +565,7 @@ class xmlCoreBreadthFirstItertor:
except IndexError: except IndexError:
raise StopIteration raise StopIteration
self.node = parent.children self.node = parent.children
next = __next__
# #
# converters to present a nicer view of the XPath returns # converters to present a nicer view of the XPath returns