summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Generator.py
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2005-03-02 20:15:52 +0000
committerNarayan Desai <desai@mcs.anl.gov>2005-03-02 20:15:52 +0000
commit11cfa4985f234d7ab961e9e76d220c9e8134f29a (patch)
treef02e923fe8b9585683c9fbc2044dc548fd1b316c /src/lib/Server/Generator.py
parentfb3afcfcd19cc207f063b3f57f64eed186dd153c (diff)
downloadbcfg2-11cfa4985f234d7ab961e9e76d220c9e8134f29a.tar.gz
bcfg2-11cfa4985f234d7ab961e9e76d220c9e8134f29a.tar.bz2
bcfg2-11cfa4985f234d7ab961e9e76d220c9e8134f29a.zip
fix the sort function
2005/02/18 13:40:24-06:00 anl.gov!desai add in profile support for ScopedXMLFiles (Logical change 1.208) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@883 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Generator.py')
-rw-r--r--src/lib/Server/Generator.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/lib/Server/Generator.py b/src/lib/Server/Generator.py
index b4421f1e0..de531ec93 100644
--- a/src/lib/Server/Generator.py
+++ b/src/lib/Server/Generator.py
@@ -227,18 +227,17 @@ class ScopedXMLFile(SingleXMLFileBacked):
def Sort(self, meta1, meta2):
'''Sort based on specificity'''
- smap = {('Global','Host'):-1, ('Global','Image'):-1, ("Global",'Class'):-1,
- ('Image', 'Global'):1, ('Image', 'Image'):0, ('Image', 'Host'):1, ('Image', 'Class'):-1,
- ('Class','Global'):1, ('Class', 'Image'):1, ('Class','Class'):0, ('Class', 'Host'): -1,
- ('Host', 'Global'):1, ('Host', 'Image'):1, ('Host','Class'):1, ('Host','Host'):0}
- if smap.has_key((meta1[0][0], meta2[0][0])):
- return smap[(meta1[0][0], meta2[0][0])]
+ order = ['Global', 'Image', 'Profile', 'Class', 'Host']
+ return order.index(meta1[0][0]) - order.index(meta2[0][0])
def MatchMetadata(self, mdata, metadata):
'''Match internal metadata representation against metadata'''
(mtype, mvalue) = mdata
if mtype == 'Global':
return True
+ elif mtype == 'Profile':
+ if mvalue == metadata.profile:
+ return True
elif mtype == 'Image':
if mvalue == metadata.image:
return True