def get_variables_from_template(template): try: nodelist = template.nodelist except AttributeError: nodelist = template.template.nodelist variable_nodes = [n for n in nodelist if isinstance(n, DefineNode)] variables = OrderedDict() for node in variable_nodes: if node.variable_name in variables: raise TemplateSyntaxError('%s defined multiple times - %s' % ( node.variable_name, _get_template_name_from_node(node) )) try: variables[node.variable_name] = { 'type': get_type(node.variable_type), 'optional': node.optional, 'initial_field_values': node.initial_field_values, } except KeyError: raise TemplateSyntaxError('%s type not registered - %s' % ( node.variable_type, _get_template_name_from_node(node) )) return variables
def get_variables_from_template(template): variable_nodes = [n for n in template.nodelist if isinstance(n, DefineNode)] variables = {} for node in variable_nodes: if node.variable_name in variables: raise TemplateSyntaxError('%s defined multiple times - %s' % ( node.variable_name, _get_template_name_from_node(node) )) try: variables[node.variable_name] = { 'type': get_type(node.variable_type), 'optional': node.optional, } except KeyError: raise TemplateSyntaxError('%s type not registered - %s' % ( node.variable_type, _get_template_name_from_node(node) )) return variables
def get_variables_from_template(template): variable_nodes = [ n for n in _get_nodelist(template) if isinstance(n, DefineNode) ] variables = SortedDict() for node in variable_nodes: if node.variable_name in variables: raise TemplateSyntaxError( '%s defined multiple times - %s' % (node.variable_name, _get_template_name_from_node(node))) try: variables[node.variable_name] = { 'type': get_type(node.variable_type), 'optional': node.optional, 'initial_field_values': node.initial_field_values, } except KeyError: raise TemplateSyntaxError( '%s type not registered - %s' % (node.variable_type, _get_template_name_from_node(node))) return variables