Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Add a coroutine module.

 - Move coroutine from wc.py to a separate file.
 - Update wc.py accordingly.
  • Loading branch information...
commit 5dbb671af982184abbe36156611f5e4774697ae1 1 parent 3428cf9
@nwalfield nwalfield authored
Showing with 33 additions and 15 deletions.
  1. +32 −0 khweeteur/coroutine.py
  2. +1 −15 khweeteur/wc.py
View
32 khweeteur/coroutine.py
@@ -0,0 +1,32 @@
+# Copyright (c) 2011 Neal H. Walfield
+#
+# This software is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This software is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+from PySide.QtCore import QTimer
+
+def coroutine(func):
+ def wrapper(*args, **kwargs):
+ def doit(generator):
+ def execute():
+ try:
+ generator.next()
+ QTimer.singleShot(0, execute)
+ except StopIteration:
+ return
+ execute()
+
+ generator = func(*args, **kwargs)
+ doit(generator)
+ return wrapper
+
View
16 khweeteur/wc.py
@@ -21,6 +21,7 @@
import logging
from mainthread import mainthread
from settings import accounts, settings_db
+from coroutine import coroutine
# Don't fail if the Woodchuck modules are not available. Just disable
# Woodchuck's functionality.
@@ -77,21 +78,6 @@ def stream_id_split(id):
return (account, feed)
-def coroutine(func):
- def wrapper(*args, **kwargs):
- def doit(generator):
- def execute():
- try:
- generator.next()
- QTimer.singleShot(0, execute)
- except StopIteration:
- return
- execute()
-
- generator = func(*args, **kwargs)
- doit(generator)
- return wrapper
-
class mywoodchuck(PyWoodchuck):
"""
stream_update is a function that is called when a stream should be

0 comments on commit 5dbb671

Please sign in to comment.
Something went wrong with that request. Please try again.