diff options
author | Nathan Fritz <fritzy@netflint.net> | 2011-08-04 21:49:32 -0700 |
---|---|---|
committer | Nathan Fritz <fritzy@netflint.net> | 2011-08-04 21:49:32 -0700 |
commit | 7f90de887a7e3ca53103babf5a9acf15a69ab959 (patch) | |
tree | 2cffbf7669ffc6889510db60b3961ac238f7ed4b /sleekxmpp/xmlstream | |
parent | caec2976d7788dba75a82dfb9079b57c96ef7b47 (diff) | |
download | slixmpp-7f90de887a7e3ca53103babf5a9acf15a69ab959.tar.gz slixmpp-7f90de887a7e3ca53103babf5a9acf15a69ab959.tar.bz2 slixmpp-7f90de887a7e3ca53103babf5a9acf15a69ab959.tar.xz slixmpp-7f90de887a7e3ca53103babf5a9acf15a69ab959.zip |
added block as process option and updated documentation. added typical use example to ClientXMPP.
Diffstat (limited to 'sleekxmpp/xmlstream')
-rw-r--r-- | sleekxmpp/xmlstream/xmlstream.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/sleekxmpp/xmlstream/xmlstream.py b/sleekxmpp/xmlstream/xmlstream.py index 15bbe655..41c53a3e 100644 --- a/sleekxmpp/xmlstream/xmlstream.py +++ b/sleekxmpp/xmlstream/xmlstream.py @@ -831,7 +831,7 @@ class XMLStream(object): self.send_queue.put(data) return True - def process(self, threaded=True): + def process(self, **kwargs): """ Initialize the XML streams and begin processing events. @@ -839,14 +839,28 @@ class XMLStream(object): by HANDLER_THREADS. Arguments: + block -- If block=False then event dispatcher will run + in a separate thread, allowing for the stream to be + used in the background for another application. + Otherwise, process(block=True) blocks the current thread. + Defaults to False. + + **threaded is deprecated and included for API compatibility** threaded -- If threaded=True then event dispatcher will run in a separate thread, allowing for the stream to be used in the background for another application. Defaults to True. - Event handlers and the send queue will be threaded - regardless of this parameter's value. + Event handlers and the send queue will be threaded + regardless of these parameters. """ + if kwargs.has_key('threaded') and kwargs.has_key('block'): + raise ValueError("process() called with both block and threaded arguments") + elif kwargs.has_key('block'): + threaded = not(kwargs.get('block', False)) + else: + threaded = kwargs.get('threaded', True) + self.scheduler.process(threaded=True) def start_thread(name, target): |