

def _process(self, sp, argv, cb):
    while True:
        line = sp.stdout.readline()
        if (not line):
            break
        try:
            dec = json.loads(line.decode('UTF-8'))
            if (not isinstance(dec, dict)):
                raise TypeError(('Expected decoded dict, not %s' % type(dec)))
            cb(dec)
        except Exception:
            LOG.exception('Failure processing %s', line)
    sp.wait()
    if (sp.returncode != 0):
        lines = []
        while True:
            line = sp.stderr.readline()
            if (not line):
                break
            lines.append(line.decode('UTF-8'))
        msg = ''.join(lines)
        args = ' '.join(argv)
        raise Exception(('Error running command %s: %s' % (args, msg)))

dataset/ETHPy150Open berrange/gerrymander/gerrymander/client.py ClientLive._process/original