From 578d2d3a16f455da6bf96f7cf59600c3f92af8ed Mon Sep 17 00:00:00 2001 From: Waleed El-Geresy Date: Thu, 14 Jun 2018 16:15:33 +0100 Subject: [PATCH] utils/serializer: Handle empty file extensions The ValueError does not given enough information in the case of an empty file extension. Add a special case to handle files with no extension and prompt the user. --- wa/utils/serializer.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/wa/utils/serializer.py b/wa/utils/serializer.py index 47b78340..066696d1 100644 --- a/wa/utils/serializer.py +++ b/wa/utils/serializer.py @@ -299,6 +299,12 @@ def load(s, fmt='json', *args, **kwargs): def _read_pod(fh, fmt=None): if fmt is None: fmt = os.path.splitext(fh.name)[1].lower().strip('.') + if fmt == '': + # Special case of no given file extension + message = ("Could not determine format " + + "from file extension for \"{}\". ".format(getattr(fh, 'name', '')) + + "Please specify it or modify the fmt parameter.") + raise ValueError(message) if fmt == 'yaml': return yaml.load(fh) elif fmt == 'json':