Changeset View
Changeset View
Standalone View
Standalone View
swh/journal/serializers.py
Show First 20 Lines • Show All 93 Lines • ▼ Show 20 Lines | def key_to_kafka(key: KeyType) -> bytes: | ||||
if isinstance(key, dict): | if isinstance(key, dict): | ||||
return p.pack_map_pairs(sorted(key.items())) | return p.pack_map_pairs(sorted(key.items())) | ||||
else: | else: | ||||
return p.pack(key) | return p.pack(key) | ||||
def kafka_to_key(kafka_key: bytes) -> KeyType: | def kafka_to_key(kafka_key: bytes) -> KeyType: | ||||
"""Deserialize a key""" | """Deserialize a key""" | ||||
return msgpack.loads(kafka_key, raw=False, strict_map_key=False) | return msgpack.loads(kafka_key, raw=False) | ||||
ardumont: As explained below, removing `strict_map_key=False` (default in superior version) should be… | |||||
Not Done Inline ActionsShould mention if it's >=5.6 or <=5.6 vlorentz: Should mention if it's `>=5.6` or `<=5.6` | |||||
def value_to_kafka(value: Any) -> bytes: | def value_to_kafka(value: Any) -> bytes: | ||||
"""Serialize some data for storage in kafka""" | """Serialize some data for storage in kafka""" | ||||
return msgpack_dumps(value) | return msgpack_dumps(value) | ||||
def kafka_to_value(kafka_value: bytes) -> Any: | def kafka_to_value(kafka_value: bytes) -> Any: | ||||
"""Deserialize some data stored in kafka""" | """Deserialize some data stored in kafka""" | ||||
return msgpack_loads(kafka_value) | return msgpack_loads(kafka_value) |
As explained below, removing strict_map_key=False (default in superior version) should be enough.