def __init__(self, name, template, valid_values={}):
self.template_pieces = []
self.field_names = []
parsed = FORMATTER.parse(template)
for (literal_text, field_name, format_spec, conversion) in parsed:
assert not conversion
self.template_pieces.append((literal_text, field_name))
if field_name not in self.field_names:
self.field_names.append(field_name)
self.name = name
self.template = template
self.compiled_template = parse.compile(template)
self.tuple_class = collections.namedtuple(
self.name,
list(self.field_names))
self.valid_values = dict(valid_values)
for key in self.valid_values:
assert key in self.field_names
评论列表
文章目录