def fromJsonFile(self, jsonFile): try: content = json.load(open(jsonFile)) except ValueError as e: logger.error("Error while reading file %s:", jsonFile) logger.error(e) except IOError as e: logger.error("Error while parsing file %s:", jsonFile) logger.error(e) if "questions" not in content: logger.error("No field 'questions' found") for obj in content["questions"]: if not Question.validate(obj): logger.info("Skipping following question, see errors above:") logger.info(json.dumps(obj, sort_keys = True, indent = 2, separators = (',', ': '))) else: self._questions += [Question(obj)]