diff --git a/jc/parsers/foo_s.py b/jc/parsers/foo_s.py index 778e64a9..7d9e772a 100644 --- a/jc/parsers/foo_s.py +++ b/jc/parsers/foo_s.py @@ -34,6 +34,7 @@ Examples: ... """ import jc.utils +from jc.utils import stream_success, stream_error class info(): @@ -95,10 +96,7 @@ def parse(data, raw=False, quiet=False): # parse the input here # - if quiet: - output_line.update(jc.utils.stream_success) - - yield output_line if raw else _process(output_line) + yield stream_success(output_line, quiet) if raw else stream_success(_process(output_line), quiet) except Exception as e: - yield jc.utils.stream_error(e, quiet, line) + yield stream_error(e, quiet, line) diff --git a/jc/parsers/ls_s.py b/jc/parsers/ls_s.py index 9183974b..96037a08 100644 --- a/jc/parsers/ls_s.py +++ b/jc/parsers/ls_s.py @@ -56,6 +56,7 @@ Examples: """ import re import jc.utils +from jc.utils import stream_success, stream_error from jc.exceptions import ParseError @@ -166,10 +167,7 @@ def parse(data, raw=False, quiet=False): output_line['size'] = parsed_line[4] output_line['date'] = ' '.join(parsed_line[5:8]) - if quiet: - output_line.update(jc.utils.stream_success) - - yield output_line if raw else _process(output_line) + yield stream_success(output_line, quiet) if raw else stream_success(_process(output_line), quiet) except Exception as e: - yield jc.utils.stream_error(e, quiet, line) + yield stream_error(e, quiet, line) diff --git a/jc/parsers/ping_s.py b/jc/parsers/ping_s.py index fbc30f79..24400dff 100644 --- a/jc/parsers/ping_s.py +++ b/jc/parsers/ping_s.py @@ -35,6 +35,7 @@ Examples: """ import string import jc.utils +from jc.utils import stream_success, stream_error class info(): @@ -191,11 +192,7 @@ def parse(data, raw=False, quiet=False): 'icmp_seq': line.replace('=', ' ').split()[isequence] } - if quiet: - output_line.update(jc.utils.stream_success) - - yield output_line if raw else _process(output_line) - + yield stream_success(output_line, quiet) if raw else stream_success(_process(output_line), quiet) continue # normal responses @@ -231,10 +228,7 @@ def parse(data, raw=False, quiet=False): 'duplicate': True if 'DUP!' in line else False } - if quiet: - output_line.update(jc.utils.stream_success) - - yield output_line if raw else _process(output_line) + yield stream_success(output_line, quiet) if raw else stream_success(_process(output_line), quiet) except Exception as e: - yield jc.utils.stream_error(e, quiet, line) + yield stream_error(e, quiet, line) diff --git a/jc/utils.py b/jc/utils.py index cfac3c41..a7ffa074 100644 --- a/jc/utils.py +++ b/jc/utils.py @@ -173,12 +173,17 @@ def convert_to_bool(value): return False -stream_success = { - '_meta': - { - 'success': True - } -} +def stream_success(output_line, quiet): + if quiet: + output_line.update( + { + '_meta': + { + 'success': True + } + } + ) + return output_line def stream_error(e, quiet, line):