diff options
author | Calen Pennington <cpennington@wgen.net> | 2012-01-18 16:33:56 -0500 |
---|---|---|
committer | Calen Pennington <cpennington@wgen.net> | 2012-01-18 16:33:56 -0500 |
commit | bb16ce00cbca613129a3bb34ad3fc945f409a4d4 (patch) | |
tree | 20f1bb7ac025b4690a391f379fd7aca9f9d98773 /src/lib/Server | |
parent | 5398a001f0fb69e79503e51a3d8a9db6a3af4987 (diff) | |
download | bcfg2-bb16ce00cbca613129a3bb34ad3fc945f409a4d4.tar.gz bcfg2-bb16ce00cbca613129a3bb34ad3fc945f409a4d4.tar.bz2 bcfg2-bb16ce00cbca613129a3bb34ad3fc945f409a4d4.zip |
Move sorting to the server core, rather than just in bcfg2 info
Diffstat (limited to 'src/lib/Server')
-rw-r--r-- | src/lib/Server/Core.py | 11 |
1 files changed, 11 insertions, 0 deletions
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 |