From cfb58b1cf3e3028f8e03fdd93f0165cf8d230e1e Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 30 Nov 2021 09:41:16 -0800 Subject: [PATCH] add input type checks --- jc/parsers/foo_s.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/jc/parsers/foo_s.py b/jc/parsers/foo_s.py index 4b79dd3f..2143b23e 100644 --- a/jc/parsers/foo_s.py +++ b/jc/parsers/foo_s.py @@ -97,12 +97,14 @@ def parse(data, raw=False, quiet=False, ignore_exceptions=False): Iterator object """ - if not quiet: - jc.utils.compatibility(__name__, info.compatible) + if not quiet: jc.utils.compatibility(__name__, info.compatible) + if not hasattr(data, '__iter__') or isinstance(data, (str, bytes)): + raise TypeError("Input data must be a non-string iterable object.") for line in data: + output_line = {} try: - output_line = {} + if not isinstance(line, str): raise TypeError("Input line must be a 'str' object.") # # parse the input here