From 3282866414ddf802dc42030ab797a5f4e4339fea Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Wed, 9 Sep 2020 12:21:47 +0200 Subject: [PATCH] Improved serializers.get_serializers_by_format format to key conversion. --- benedict/serializers/__init__.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/benedict/serializers/__init__.py b/benedict/serializers/__init__.py index 2993050..cdf1dcd 100644 --- a/benedict/serializers/__init__.py +++ b/benedict/serializers/__init__.py @@ -10,6 +10,9 @@ from benedict.serializers.toml import TOMLSerializer from benedict.serializers.xml import XMLSerializer from benedict.serializers.yaml import YAMLSerializer +import re + + _BASE64_SERIALIZER = Base64Serializer() _CSV_SERIALIZER = CSVSerializer() _JSON_SERIALIZER = JSONSerializer() @@ -27,8 +30,6 @@ _SERIALIZERS = { 'pickle': _PICKLE_SERIALIZER, 'qs': _QUERY_STRING_SERIALIZER, 'querystring': _QUERY_STRING_SERIALIZER, - 'query-string': _QUERY_STRING_SERIALIZER, - 'query_string': _QUERY_STRING_SERIALIZER, 'toml': _TOML_SERIALIZER, 'yaml': _YAML_SERIALIZER, 'yml': _YAML_SERIALIZER, @@ -48,7 +49,9 @@ def get_format_by_path(path): def get_serializer_by_format(format): - return _SERIALIZERS.get((format or '').lower().replace(' ', '_')) + format_key = (format or '').lower().strip() + format_key = re.sub(r'[\s\-\_]*', '', format_key) + return _SERIALIZERS.get(format_key) def get_serializers_extensions():