]> kaliko git repositories - python-musicpd.git/blobdiff - mpd.py
mpd.py: don't allow command_list_end if already iterating
[python-musicpd.git] / mpd.py
diff --git a/mpd.py b/mpd.py
index 8810face31f19cc2147815d71f286fca0c0f9c14..a850bb03da5c50fa1f6d8baa7fe51b23e117309c 100644 (file)
--- a/mpd.py
+++ b/mpd.py
@@ -275,7 +275,6 @@ class MPDClient(object):
         self._fetch_nothing()
 
     def _iterator_wrapper(self, iterator):
-        self._iterating = True
         for item in iterator:
             yield item
         self._iterating = False
@@ -283,6 +282,7 @@ class MPDClient(object):
     def _wrap_iterator(self, iterator):
         if not self.iterate:
             return list(iterator)
+        self._iterating = True
         return self._iterator_wrapper(iterator)
 
     def _fetch_nothing(self):
@@ -418,6 +418,8 @@ class MPDClient(object):
     def command_list_end(self):
         if self._command_list is None:
             raise CommandListError("Not in command list")
+        if self._iterating:
+            raise IteratingError("Already iterating over a command list")
         self._write_command("command_list_end")
         return self._fetch_command_list()