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/operator `%` -> `/`