summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Generator.py
diff options
context:
space:
mode:
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