From b3e488b0d90d5b0dbebf02cbd20894367f728d3e Mon Sep 17 00:00:00 2001 From: Ron Angeles Date: Sat, 27 Sep 2014 21:56:03 -0700 Subject: [PATCH] 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. --- python/libxml.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python/libxml.py b/python/libxml.py index e507e0fa..2466cc9f 100644 --- a/python/libxml.py +++ b/python/libxml.py @@ -530,7 +530,7 @@ class xmlCoreDepthFirstItertor: self.parents = [] def __iter__(self): return self - def next(self): + def __next__(self): while 1: if self.node: ret = self.node @@ -542,6 +542,7 @@ class xmlCoreDepthFirstItertor: except IndexError: raise StopIteration self.node = parent.next + next = __next__ # # implements the breadth-first iterator for libxml2 DOM tree @@ -552,7 +553,7 @@ class xmlCoreBreadthFirstItertor: self.parents = [] def __iter__(self): return self - def next(self): + def __next__(self): while 1: if self.node: ret = self.node @@ -564,6 +565,7 @@ class xmlCoreBreadthFirstItertor: except IndexError: raise StopIteration self.node = parent.children + next = __next__ # # converters to present a nicer view of the XPath returns