be52b9f
From 451cbd3ce291b2e3205461068899bb55d7dcd9d4 Mon Sep 17 00:00:00 2001
be52b9f
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
be52b9f
Date: Wed, 17 Jul 2013 12:50:43 -0400
51b11df
Subject: [PATCH] systemd-python: fix iteration
be52b9f
be52b9f
Back in 6a58bf4135 raising stop iteration was removed from the C
be52b9f
code, but wasn't added in the Python counterpart.
be52b9f
---
be52b9f
 configure.ac                  |  1 -
be52b9f
 src/python-systemd/journal.py | 24 ++++++++++++------------
be52b9f
 2 files changed, 12 insertions(+), 13 deletions(-)
be52b9f
be52b9f
diff --git a/configure.ac b/configure.ac
674ca7d
index e1278e8504..a9182520fa 100644
be52b9f
--- a/configure.ac
be52b9f
+++ b/configure.ac
be52b9f
@@ -939,7 +939,6 @@ AC_MSG_RESULT([
be52b9f
         nss-myhostname:          ${have_myhostname}
be52b9f
         gudev:                   ${enable_gudev}
be52b9f
         gintrospection:          ${enable_introspection}
be52b9f
-        keymap:                  ${enable_keymap}
be52b9f
         Python:                  ${have_python}
be52b9f
         Python Headers:          ${have_python_devel}
be52b9f
         man pages:               ${have_manpages}
be52b9f
diff --git a/src/python-systemd/journal.py b/src/python-systemd/journal.py
674ca7d
index 8fd1bb357c..adcc844f46 100644
be52b9f
--- a/src/python-systemd/journal.py
be52b9f
+++ b/src/python-systemd/journal.py
be52b9f
@@ -191,18 +191,18 @@ class Reader(_Reader):
be52b9f
         """
be52b9f
         return self
be52b9f
 
be52b9f
-    if _sys.version_info >= (3,):
be52b9f
-        def __next__(self):
be52b9f
-            """Part of iterator protocol.
be52b9f
-            Returns self.get_next().
be52b9f
-            """
be52b9f
-            return self.get_next()
be52b9f
-    else:
be52b9f
-        def next(self):
be52b9f
-            """Part of iterator protocol.
be52b9f
-            Returns self.get_next().
be52b9f
-            """
be52b9f
-            return self.get_next()
be52b9f
+    def __next__(self):
be52b9f
+        """Part of iterator protocol.
be52b9f
+        Returns self.get_next() or raises StopIteration.
be52b9f
+        """
be52b9f
+        ans = self.get_next()
be52b9f
+        if ans:
be52b9f
+            return ans
be52b9f
+        else:
be52b9f
+            raise StopIteration()
be52b9f
+
be52b9f
+    if _sys.version_info < (3,):
be52b9f
+        next = __next__
be52b9f
 
be52b9f
     def add_match(self, *args, **kwargs):
be52b9f
         """Add one or more matches to the filter journal log entries.