From: Michael Tremer Date: Sun, 13 Feb 2011 14:28:32 +0000 (+0100) Subject: Create proper sorting and package selection for same packages in different repositories. X-Git-Tag: 0.9.3~177 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ad46eec8d13272ed3baa6f1444c99d581fd1738;p=pakfire.git Create proper sorting and package selection for same packages in different repositories. --- diff --git a/pakfire/packages/base.py b/pakfire/packages/base.py index d6c0dcf62..5a562c3f0 100644 --- a/pakfire/packages/base.py +++ b/pakfire/packages/base.py @@ -33,6 +33,10 @@ class Package(object): #elif ret > 0: # logging.debug("%s is more recent than %s" % (self, other)) + # If no rank could be created, sort by repository priority + if not ret: + ret = cmp(self.repo, other.repo) + return ret def dump(self, short=False): diff --git a/pakfire/repository.py b/pakfire/repository.py index 79f85f787..e17d72d9c 100644 --- a/pakfire/repository.py +++ b/pakfire/repository.py @@ -142,7 +142,8 @@ class RepositoryFactory(object): return "<%s %s>" % (self.__class__.__name__, self.name) def __cmp__(self, other): - return cmp(self.priority, other.priority) or cmp(self.name, other.name) + return cmp(self.priority * -1, other.priority * -1) or \ + cmp(self.name, other.name) @property def priority(self):