Sorted the dictionary.
This commit is contained in:
parent
f96a5b9b4b
commit
243ab902ab
@ -1,3 +1,5 @@
|
|||||||
|
{%- set key = 0 -%}
|
||||||
|
{%- set value = 1 -%}
|
||||||
{%- macro keepalived_config(data, recurse=-1) -%}
|
{%- macro keepalived_config(data, recurse=-1) -%}
|
||||||
{%- set recurse = recurse + 1 -%}
|
{%- set recurse = recurse + 1 -%}
|
||||||
{%- if data is none -%}
|
{%- if data is none -%}
|
||||||
@ -8,16 +10,16 @@
|
|||||||
{%- if recurse > 0 -%}
|
{%- if recurse > 0 -%}
|
||||||
{{- '{\n' -}}
|
{{- '{\n' -}}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{%- for key, value in data.iteritems() -%}
|
{%- for item in data|dictsort -%}
|
||||||
{{- key }} {{ keepalived_config(value, recurse) -}}
|
{{- item[key] }} {{ keepalived_config(item[value], recurse) -}}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
{%- if recurse > 0 -%}
|
{%- if recurse > 0 -%}
|
||||||
{{- '}\n' -}}
|
{{- '}\n' -}}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
{{- '{\n' -}}
|
{{- '{\n' -}}
|
||||||
{%- for value in data -%}
|
{%- for item in data -%}
|
||||||
{{- keepalived_config(value) -}}
|
{{- keepalived_config(item) -}}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
{{- '}\n' -}}
|
{{- '}\n' -}}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
@ -12,7 +12,7 @@ class TestKeepalivedConfiguration(unittest.TestCase):
|
|||||||
'keepalived',
|
'keepalived',
|
||||||
'templates'))
|
'templates'))
|
||||||
self.t_conf = Environment(loader=FileSystemLoader(self.t_dir),
|
self.t_conf = Environment(loader=FileSystemLoader(self.t_dir),
|
||||||
trim_blocks=True)
|
trim_blocks=True)
|
||||||
|
|
||||||
def renderTest(self, data, result):
|
def renderTest(self, data, result):
|
||||||
holder = self.t_conf.get_template('test_config.jinja').render(testdata=data)
|
holder = self.t_conf.get_template('test_config.jinja').render(testdata=data)
|
||||||
@ -49,5 +49,10 @@ class TestKeepalivedConfiguration(unittest.TestCase):
|
|||||||
result = 'friends {\nrubble barney\n}\n'
|
result = 'friends {\nrubble barney\n}\n'
|
||||||
self.renderTest(testdata, result)
|
self.renderTest(testdata, result)
|
||||||
|
|
||||||
|
def test_key_ordered_hashs(self):
|
||||||
|
testdata = {'friends': {'fred': 'flintstone', 'barney': 'rubble', 'wilma': 'flintstone', 'betty': 'rubble'}}
|
||||||
|
result = 'friends {\nbarney rubble\nbetty rubble\nfred flintstone\nwilma flintstone\n}\n'
|
||||||
|
self.renderTest(testdata, result)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user