X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=devel%2Fnmbug%2Fnmbug-status;h=a289798e3cc18559584de5cccda81d0f95c4e392;hp=e845c2a5c8f702cc5d988fa6ea16ba3b0e53e828;hb=8b35b8f71aec56232a3d305aff6cf315bf31331e;hpb=244f8739543dd2f6cde1188074fc4b32272e8446 diff --git a/devel/nmbug/nmbug-status b/devel/nmbug/nmbug-status index e845c2a5..a289798e 100755 --- a/devel/nmbug/nmbug-status +++ b/devel/nmbug/nmbug-status @@ -156,11 +156,20 @@ class Page (object): stream.write(self.footer) def _write_view(self, database, view, stream): + # sort order, default to oldest-first + sort_key = view.get('sort', 'oldest-first') + # dynamically accept all values in Query.SORT + sort_attribute = sort_key.upper().replace('-', '_') + try: + sort = getattr(notmuch.Query.SORT, sort_attribute) + except AttributeError: + raise ConfigError('Invalid sort setting for {}: {!r}'.format( + view['title'], sort_key)) if 'query-string' not in view: query = view['query'] view['query-string'] = ' and '.join(query) q = notmuch.Query(database, view['query-string']) - q.set_sort(notmuch.Query.SORT.OLDEST_FIRST) + q.set_sort(sort) threads = self._get_threads(messages=q.search_messages()) self._write_view_header(view=view, stream=stream) self._write_threads(threads=threads, stream=stream)