diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2008-12-05 12:27:40 +0100 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2008-12-05 12:27:40 +0100 |
commit | 7c2d796eda8a63fb81d36410d45f0b0d4678d86f (patch) | |
tree | 4c794da6922eff3ae8b303ec085e09528eccb82b | |
parent | 323f90b37587f33189d995d5802bbc2b05f1b16b (diff) | |
download | portato-7c2d796eda8a63fb81d36410d45f0b0d4678d86f.tar.gz portato-7c2d796eda8a63fb81d36410d45f0b0d4678d86f.tar.bz2 portato-7c2d796eda8a63fb81d36410d45f0b0d4678d86f.zip |
Sort the dependency flags
Diffstat (limited to '')
-rw-r--r-- | portato/gui/windows/main.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py index ee723b5..5420b40 100644 --- a/portato/gui/windows/main.py +++ b/portato/gui/windows/main.py @@ -216,6 +216,23 @@ class PackageTable: return x.dep else: return "/".join(split[0:2]) + + def cmp_flag (x, y): + # get strings - as tuples are passed + x = x[0] + y = y[0] + + # remove "!" + ret = 0 + if x[0] == "!": + ret = 1 + x = x[1:] + if y[0] == "!": + ret = ret - 1 # if it is already 1, it is 0 now :) + y = y[1:] + + # cmp -- if two flags are equal, the negated one is greater + return cmp(x,y) or ret def get_icon (dep): if dep.satisfied: @@ -227,7 +244,8 @@ class PackageTable: def add (tree, it): # useflags - for use, usetree in tree.flags.iteritems(): + flags = sorted(tree.flags.iteritems(), cmp = cmp_flag) + for use, usetree in flags: if use[0] == "!": usestring = _("If '%s' is disabled") % use[1:] else: |