From e1fd34a1ea8160fafad693da05d29193b7869cfa Mon Sep 17 00:00:00 2001 From: Fabien Benureau Date: Sun, 27 Jul 2014 20:14:29 +0200 Subject: [PATCH] alphabetical option for list command --- pubs/commands/list_cmd.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pubs/commands/list_cmd.py b/pubs/commands/list_cmd.py index 04e51ee..c3e98a2 100644 --- a/pubs/commands/list_cmd.py +++ b/pubs/commands/list_cmd.py @@ -19,7 +19,10 @@ def parser(subparsers): parser.add_argument('-i', '--ignore-case', action='store_false', default=None, dest='case_sensitive') parser.add_argument('-I', '--force-case', action='store_true', - dest='case_sensitive') + dest='case_sensitive') + parser.add_argument('-a', '--alphabetical', action='store_true', + dest='alphabetical', default=False, + help='lexicographic order on the citekeys.') parser.add_argument('query', nargs='*', help='Paper query (e.g. "year: 2000" or "tags: math")') return parser @@ -36,10 +39,14 @@ def command(args): papers = filter(lambda (n, p): filter_paper(p, args.query, case_sensitive=args.case_sensitive), enumerate(rp.all_papers())) + if args.alphabetical: + papers = sorted(papers, key=lambda p: p[1].citekey) + else: + papers = sorted(papers, key=date_added) if len(papers) > 0: ui.print_('\n'.join( pretty.paper_oneliner(p, n=n, citekey_only=args.citekeys) - for n, p in sorted(papers, key=date_added))) + for n, p in papers)) FIELD_ALIASES = {