def get_file_linting(self, path):
        output = self.get_output(["jshint", path])
        if output is False:
            self.logger.warning("Failed to get linting for file '{0}'.".format(path))
            return False
        output = output.decode("utf-8")
        # Remove file paths from output
        output = output.replace(path+": ", "")
        lines = output.split("\n")
        linting = {}
        for line in lines:
            if not line:
                continue
            try:
                parts = line.split(", ")
                if len(parts) < 3:
                    continue
                line_no = int(re.sub("\D", "", parts[0]))
                char_no = int(re.sub("\D", "", parts[1]))
                data = parts[2]
                err_code = None
                if line_no not in linting.keys():
                    linting[line_no] = []
                linting[line_no].append((char_no, data, err_code))
            except:
                self.logger.debug("Failed to parse line:{0}".format(line))
        return linting
Testing /infrastructure/service_record/delete/<service_record_id>
dataset/ETHPy150Open richrd/suplemon/suplemon/modules/linter.py/JsLint.get_file_linting--crossover with--dataset/ETHPy150Open treeio/treeio/treeio/infrastructure/tests.py/InfrastructureViewsTest.test_infr_service_record_delete_out