| 1 | --- /tmp/paginate.py 2007-08-27 17:11:50.000000000 +0200 |
|---|
| 2 | +++ /usr/lib/python2.4/site-packages/TurboGears-1.0.3.2-py2.4.egg/turbogears/paginate.py 2007-08-27 17:16:42.000000000 +0200 |
|---|
| 3 | @@ -73,6 +73,7 @@ |
|---|
| 4 | limit_ = int(kw.pop('tg_paginate_limit', limit)) |
|---|
| 5 | order = kw.pop('tg_paginate_order', None) |
|---|
| 6 | ordering = kw.pop('tg_paginate_ordering', {}) |
|---|
| 7 | + sort_dir = not kw.pop('tg_paginate_reversed', False) |
|---|
| 8 | |
|---|
| 9 | # Convert ordering str to a dict. |
|---|
| 10 | if ordering: |
|---|
| 11 | @@ -110,8 +111,8 @@ |
|---|
| 12 | |
|---|
| 13 | elif default_order and not ordering: |
|---|
| 14 | ordering = {default_order:[0, not default_reversed]} |
|---|
| 15 | - elif ordering and order: |
|---|
| 16 | - sort_ordering(ordering, order) |
|---|
| 17 | + if ordering and order: |
|---|
| 18 | + sort_ordering(ordering, order, sort_dir) |
|---|
| 19 | log.debug('ordering %s' % ordering) |
|---|
| 20 | |
|---|
| 21 | row_count = 0 |
|---|
| 22 | @@ -289,11 +290,11 @@ |
|---|
| 23 | |
|---|
| 24 | return range(start, end+1) |
|---|
| 25 | |
|---|
| 26 | -def sort_ordering(ordering, sort_name): |
|---|
| 27 | +def sort_ordering(ordering, sort_name, sort_dir=True): |
|---|
| 28 | """Rearrange ordering based on sort_name.""" |
|---|
| 29 | log.debug('sort called with %s and %s' % (ordering, sort_name)) |
|---|
| 30 | if sort_name not in ordering: |
|---|
| 31 | - ordering[sort_name] = [-1, True] |
|---|
| 32 | + ordering[sort_name] = [-1, sort_dir] |
|---|
| 33 | if ordering[sort_name][0] == 0: |
|---|
| 34 | # Flip |
|---|
| 35 | ordering[sort_name][1] = not ordering[sort_name][1] |
|---|