summaryrefslogtreecommitdiff
path: root/kafka/common.py
diff options
context:
space:
mode:
authorPatrick Lucas <plucas@yelp.com>2014-05-07 10:02:57 -0700
committerPatrick Lucas <plucas@yelp.com>2014-05-07 10:08:14 -0700
commit805b52a34da9ce0dead80a64d7315412f2034673 (patch)
tree8d9a6d6b378e40ce3177d6fe7ee4030abf362718 /kafka/common.py
parent39796ec49162a0895be98a8aeb0e42e8319e5e30 (diff)
downloadkafka-python-805b52a34da9ce0dead80a64d7315412f2034673.tar.gz
Improve error handling and tests w.r.t. codecs
Add function kafka.protocol.create_message_set() that takes a list of payloads and a codec and returns a message set with the desired encoding. Introduce kafka.common.UnsupportedCodecError, raised if an unknown codec is specified. Include a test for the new function.
Diffstat (limited to 'kafka/common.py')
-rw-r--r--kafka/common.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/kafka/common.py b/kafka/common.py
index d515532..209754b 100644
--- a/kafka/common.py
+++ b/kafka/common.py
@@ -170,6 +170,11 @@ class ConsumerNoMoreData(KafkaError):
class ProtocolError(KafkaError):
pass
+
+class UnsupportedCodecError(KafkaError):
+ pass
+
+
kafka_errors = {
-1 : UnknownError,
1 : OffsetOutOfRangeError,
@@ -187,6 +192,7 @@ kafka_errors = {
13 : StaleLeaderEpochCodeError,
}
+
def check_error(response):
error = kafka_errors.get(response.error)
if error: