summaryrefslogtreecommitdiff
path: root/kombu/serialization.py
diff options
context:
space:
mode:
authorIonel Cristian Mărieș <contact@ionelmc.ro>2013-12-13 19:53:35 +0200
committerIonel Cristian Mărieș <contact@ionelmc.ro>2013-12-13 19:54:58 +0200
commite17472904e6697f906ecb7a7b42b848b4c4ae0cf (patch)
tree3322e8bd32632063a1736ac763ec2e6df9076a61 /kombu/serialization.py
parent0da81ed46ce6bde5466bce26fb67c84dbc4b56aa (diff)
downloadkombu-e17472904e6697f906ecb7a7b42b848b4c4ae0cf.tar.gz
Wrap exceptions raised by encode/decode in SerializationError/DeserializationError kombu exceptions.
Diffstat (limited to 'kombu/serialization.py')
-rw-r--r--kombu/serialization.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/kombu/serialization.py b/kombu/serialization.py
index b726102b..f39230f6 100644
--- a/kombu/serialization.py
+++ b/kombu/serialization.py
@@ -19,9 +19,9 @@ except ImportError: # pragma: no cover
from collections import namedtuple
-from .exceptions import SerializerNotInstalled, ContentDisallowed
+from .exceptions import SerializerNotInstalled, ContentDisallowed, SerializationError, DeserializationError
from .five import BytesIO, text_t
-from .utils import entrypoints
+from .utils import entrypoints, wrap_exceptions
from .utils.encoding import str_to_bytes, bytes_t
__all__ = ['pickle', 'loads', 'dumps', 'register', 'unregister']
@@ -116,6 +116,7 @@ class SerializerRegistry(object):
raise SerializerNotInstalled(
'No encoder installed for {0}'.format(name))
+ @wrap_exceptions(SerializationError)
def dumps(self, data, serializer=None):
if serializer == 'raw':
return raw_encode(data)
@@ -148,6 +149,7 @@ class SerializerRegistry(object):
return content_type, content_encoding, payload
encode = dumps # XXX compat
+ @wrap_exceptions(DeserializationError)
def loads(self, data, content_type, content_encoding,
accept=None, force=False):
if accept is not None: