def __get_parser(self): if self.__parser: return self.__parser if "parser" in self.conf: parser = self.__inst_parser(self.conf["parser"])() else: parser = PropertiesParser() options_regex = re.compile("^parser\.options\.(.+)$") for key, value in self.conf.items(): match = options_regex.search(key) if match: if not parser.options: parser.options = {} opt = match.group(1) parser.options[opt] = value self.__parser = parser return parser