def get_attributes(config): options_list = [] option = White(exact=1) + Suppress(Optional(White())) + restOfLine next_line = config.readline() try: option_parse = option.parseString(next_line) while option_parse[0] == ' ': options_list.append(option_parse[-1]) next_line = config.readline() option_parse = option.parseString(next_line) except: pass return options_list, next_line
def _generate_members(self, template_file): lines = template_file.readlines() target = Fragment.IDENTIFIER reference = Suppress("mapping") + Suppress("[") + target.setResultsName("target") + Suppress("]") pattern = White(" \t").setResultsName("indent") + reference # Find the markers in the template file line by line. If line does not match marker grammar, # set it as a literal to be copied as is to the output file. for line in lines: try: parsed = pattern.parseString(line) indent = parsed.indent target = parsed.target marker = TemplateModel.Marker(target, indent, []) self.members.append(marker) except ParseException: # Does not match marker syntax self.members.append(line)