def run(self):
        while not self.done:
            line = self.fd.readline()
            if line:
                data = None
                try:
                    data = json.loads(line.strip())
                except __HOLE__:
                    if not isinstance(data, dict):
                        logger.exception(
                            "Non JSON data from daemon: {0}".format(line)
                        )
                else:
                    self.call_callback(data)
dataset/ETHPy150Open srusskih/SublimeJEDI/sublime_jedi/utils.py/ThreadReader.run