From bb16ce00cbca613129a3bb34ad3fc945f409a4d4 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Wed, 18 Jan 2012 16:33:56 -0500 Subject: Move sorting to the server core, rather than just in bcfg2 info --- src/lib/Server/Core.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/lib/Server/Core.py') diff --git a/src/lib/Server/Core.py b/src/lib/Server/Core.py index 05625cf22..38f854f66 100644 --- a/src/lib/Server/Core.py +++ b/src/lib/Server/Core.py @@ -37,6 +37,14 @@ except: pass +def sort_xml(node, key=None): + for child in node: + sort_xml(child, key) + + sorted_children = sorted(node, key=key) + node[:] = sorted_children + + class CoreInitError(Exception): """This error is raised when the core cannot be initialized.""" pass @@ -315,6 +323,9 @@ class Core(Component): except: logger.error("error in BindStructure", exc_info=1) self.validate_goals(meta, config) + + sort_xml(config, key=lambda e: e.get('name')) + logger.info("Generated config for %s in %.03f seconds" % \ (client, time.time() - start)) return config -- cgit v1.2.3-1-g7c22