summaryrefslogtreecommitdiff
path: root/sleekxmpp/util/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp/util/__init__.py')
-rw-r--r--sleekxmpp/util/__init__.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/sleekxmpp/util/__init__.py b/sleekxmpp/util/__init__.py
new file mode 100644
index 00000000..47a935af
--- /dev/null
+++ b/sleekxmpp/util/__init__.py
@@ -0,0 +1,48 @@
+# -*- coding: utf-8 -*-
+"""
+ sleekxmpp.util
+ ~~~~~~~~~~~~~~
+
+ Part of SleekXMPP: The Sleek XMPP Library
+
+ :copyright: (c) 2012 Nathanael C. Fritz, Lance J.T. Stout
+ :license: MIT, see LICENSE for more details
+"""
+
+
+from sleekxmpp.util.misc_ops import bytes, unicode, hashes, hash, \
+ num_to_bytes, bytes_to_num, quote, \
+ XOR, safedict
+
+
+# =====================================================================
+# Standardize import of Queue class:
+
+import sys
+
+def _gevent_threads_enabled():
+ if not 'gevent' in sys.modules:
+ return False
+ try:
+ from gevent import thread as green_thread
+ thread = __import__('thread')
+ return thread.LockType is green_thread.LockType
+ except ImportError:
+ return False
+
+if _gevent_threads_enabled():
+ import gevent.queue as queue
+ _queue = queue.JoinableQueue
+else:
+ try:
+ import queue
+ except ImportError:
+ import Queue as queue
+ _queue = queue.Queue
+class Queue(_queue):
+ def put(self, item, block=True, timeout=None):
+ if _queue.full(self):
+ _queue.get(self)
+ return _queue.put(self, item, block, timeout)
+
+QueueEmpty = queue.Empty