Author: dmeyer
Date: Fri Mar 14 15:03:18 2008
New Revision: 3190

Log:
fix coroutine and iteration code

Modified:
   trunk/feedmanager/src/core.py
   trunk/feedmanager/src/rss.py

Modified: trunk/feedmanager/src/core.py
==============================================================================
--- trunk/feedmanager/src/core.py       (original)
+++ trunk/feedmanager/src/core.py       Fri Mar 14 15:03:18 2008
@@ -202,11 +202,13 @@
         entries = self._entries
         new_entries = []
 
-        for entry in self:
-            if isinstance(entry, kaa.InProgress):
+        iter = self.iterate()
+        for entry in iter:
+            while isinstance(entry, kaa.InProgress):
                 # dummy entry to signal waiting
-                yield entry
-                continue
+                result = yield entry
+                # send result back to the iterator
+                entry = iter.send(result)
 
             log.info('process %s', entry.url)
             filename = None

Modified: trunk/feedmanager/src/rss.py
==============================================================================
--- trunk/feedmanager/src/rss.py        (original)
+++ trunk/feedmanager/src/rss.py        Fri Mar 14 15:03:18 2008
@@ -59,7 +59,7 @@
     RSS Feed.
     """
 
-    def __iter__(self):
+    def iterate(self):
         """
         Iterate over feed entries.
         """

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to