diff options
| author | Mac Mollison <mollison@cs.unc.edu> | 2009-02-26 13:47:17 -0500 |
|---|---|---|
| committer | Mac Mollison <mollison@cs.unc.edu> | 2009-02-26 13:47:17 -0500 |
| commit | 4e9f205b8f2e8a30ce6e6e7e5d44b7ecd4eee1c3 (patch) | |
| tree | b12cc77158e6d43e81936a9ee8574e0a3bca50f0 | |
| parent | b9750b89e817f8e7021bee4cfd941c29e7049a00 (diff) | |
Added possibility of sorting by an alternate key. This is useful to get records in order by either release_time or when.
| -rwxr-xr-x | sta.py | 7 |
1 files changed, 5 insertions, 2 deletions
| @@ -67,11 +67,14 @@ class Trace: | |||
| 67 | return False | 67 | return False |
| 68 | self.iter = filter(func, self.iter) | 68 | self.iter = filter(func, self.iter) |
| 69 | 69 | ||
| 70 | def sort(self, key): | 70 | def sort(self, key, alt=None): |
| 71 | """Return the records sorted by some key""" | 71 | """Return the records sorted by some key, or if that key does not exist, |
| 72 | an alternate.""" | ||
| 72 | def sortfunc(record): | 73 | def sortfunc(record): |
| 73 | if key in record: | 74 | if key in record: |
| 74 | return record[key] | 75 | return record[key] |
| 76 | if alt in record: | ||
| 77 | return record[alt] | ||
| 75 | else: | 78 | else: |
| 76 | return 0 | 79 | return 0 |
| 77 | self.iter = sorted(self.iter, key=sortfunc) | 80 | self.iter = sorted(self.iter, key=sortfunc) |
