From e89f5d78185c4c85d98f531febbbb0d3d758d073 Mon Sep 17 00:00:00 2001 From: "James E. Blair" <jeblair@hp.com> Date: Fri, 13 Feb 2015 07:12:34 -0800 Subject: [PATCH] Fix reversing changes The threading change broke reversing changes because the reversing code used an iterator and the threading code expected a list. We don't need to keep a copy of the original, so just modify the list in place when reversing, so we end up with a list in both cases. Change-Id: I577546b09f35829c4a91e7f2922f21ed26b50a1c --- gertty/view/change_list.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gertty/view/change_list.py b/gertty/view/change_list.py index 8b307d0..69c01d3 100644 --- a/gertty/view/change_list.py +++ b/gertty/view/change_list.py @@ -200,22 +200,20 @@ class ChangeListView(urwid.WidgetWrap): def refresh(self): unseen_keys = set(self.change_rows.keys()) with self.app.db.getSession() as session: - lst = session.getChanges(self.query, self.unreviewed, - sort_by=self.sort_by) + change_list = session.getChanges(self.query, self.unreviewed, + sort_by=self.sort_by) if self.unreviewed: self.title = u'Unreviewed changes in %s' % self.query_desc else: self.title = u'All changes in %s' % self.query_desc self.app.status.update(title=self.title) categories = set() - for change in lst: + for change in change_list: categories |= set(change.getCategories()) self.categories = sorted(categories) i = 0 if self.reverse: - change_list = reversed(lst) - else: - change_list = lst + change_list.reverse() if self.app.config.thread_changes: change_list = self._threadChanges(change_list) new_rows = [] @@ -244,7 +242,7 @@ class ChangeListView(urwid.WidgetWrap): else: pos = min(focus_pos, len(self.listbox.body)-1) self.listbox.body.set_focus(pos) - if lst: + if change_list: self.header.update(self.categories) for key in unseen_keys: row = self.change_rows[key]