summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Metadata.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Server/Metadata.py')
-rw-r--r--src/lib/Server/Metadata.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/lib/Server/Metadata.py b/src/lib/Server/Metadata.py
index dfcf04b27..541a1e30d 100644
--- a/src/lib/Server/Metadata.py
+++ b/src/lib/Server/Metadata.py
@@ -34,11 +34,21 @@ class Metadata(object):
return False
return True
+ def __str__(self):
+ return "Image:%s, classes:%s, b:%s, attr:%s, host:%s" % (self.image, self.classes,
+ self.bundles, self.attributes, self.hostname)
+
def __cmp__(self, other):
fields = ['image', 'classes', 'bundles', 'attributes', 'hostname']
- sum1 = [x for x in range(len(fields)) if getattr(self, fields[x])][0]
- sum2 = [x for x in range(len(fields)) if getattr(other, fields[x])][0]
- return sum1 < sum2
+ try:
+ most1 = [x for x in range(len(fields)) if getattr(self, fields[x])][0]
+ except:
+ most1 = 0
+ try:
+ most2 = [x for x in range(len(fields)) if getattr(other, fields[x])][0]
+ except:
+ most2 = 0
+ return most1 < most2
class Profile(object):
def __init__(self, xml):