Mercurial > p > roundup > code
diff roundup/backends/back_anydbm.py @ 1408:01c02e81e08d
more proper multilink sorting/grouping
| author | Andrey Lebedev <kedder@users.sourceforge.net> |
|---|---|
| date | Mon, 03 Feb 2003 11:14:16 +0000 |
| parents | 9c7055b9910a |
| children | 8dc60d87ab42 |
line wrap: on
line diff
--- a/roundup/backends/back_anydbm.py Mon Feb 03 00:01:44 2003 +0000 +++ b/roundup/backends/back_anydbm.py Mon Feb 03 11:14:16 2003 +0000 @@ -15,7 +15,7 @@ # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. # -#$Id: back_anydbm.py,v 1.98 2003-01-21 23:44:27 richard Exp $ +#$Id: back_anydbm.py,v 1.99 2003-02-03 11:14:16 kedder Exp $ ''' This module defines a backend that saves the hyperdatabase in a database chosen by anydbm. It is guaranteed to always be available in python @@ -1760,12 +1760,15 @@ # Multilink properties are sorted according to how many # links are present. elif isinstance(propclass, Multilink): + r = cmp(len(av), len(bv)) + if r == 0: + # Compare contents of multilink property if lenghts is + # equal + r = cmp ('.'.join(av), '.'.join(bv)) if dir == '+': - r = cmp(len(av), len(bv)) - if r != 0: return r + return r elif dir == '-': - r = cmp(len(bv), len(av)) - if r != 0: return r + return -r elif isinstance(propclass, Number) or isinstance(propclass, Boolean): if dir == '+': r = cmp(av, bv)
