diff options
-rw-r--r-- | kombu/utils/__init__.py | 13 |
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(): |