summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kombu/utils/__init__.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/kombu/utils/__init__.py b/kombu/utils/__init__.py
index d604eb08..c0894841 100644
--- a/kombu/utils/__init__.py
+++ b/kombu/utils/__init__.py
@@ -16,7 +16,11 @@ from contextlib import contextmanager
from itertools import count, repeat
from functools import wraps
from time import sleep
-from uuid import UUID, uuid4 as _uuid4, _uuid_generate_random
+from uuid import UUID, uuid4
+try:
+ from uuid import _uuid_generate_random
+except ImportError:
+ _uuid_generate_random = None
from kombu.five import items, reraise, string_t
@@ -136,13 +140,12 @@ class EqualityDict(dict):
return dict.__delitem__(self, eqhash(key))
-def uuid4():
- # Workaround for http://bugs.python.org/issue4607
- if ctypes and _uuid_generate_random: # pragma: no cover
+if ctypes and _uuid_generate_random: # pragma: no cover
+ def uuid4():
+ # Workaround for http://bugs.python.org/issue4607
buffer = ctypes.create_string_buffer(16)
_uuid_generate_random(buffer)
return UUID(bytes=buffer.raw)
- return _uuid4()
def uuid():