diff --git a/papers/commands/helpers.py b/papers/commands/helpers.py index c857fd3..33988b4 100644 --- a/papers/commands/helpers.py +++ b/papers/commands/helpers.py @@ -1,5 +1,6 @@ from .. import files from .. import color +from .. import pretty from ..repo import InvalidReference from ..paper import NoDocumentFile @@ -51,3 +52,16 @@ def parse_reference(ui, rp, ref): def parse_references(ui, rp, refs): citekeys = [parse_reference(ui, rp, ref) for ref in refs] return citekeys + +def paper_oneliner(p, n = 0, citekey_only = False): + if citekey_only: + return p.citekey + else: + bibdesc = pretty.bib_oneliner(p.bibentry) + return (u'{num:d}: [{citekey}] {descr} {tags}'.format( + num=int(n), + citekey=color.dye(p.citekey, color.purple), + descr=bibdesc, + tags=color.dye(' '.join(p.tags), + color.purple, bold=True), + )).encode('utf-8') diff --git a/papers/commands/list_cmd.py b/papers/commands/list_cmd.py index 57f0e16..badaef3 100644 --- a/papers/commands/list_cmd.py +++ b/papers/commands/list_cmd.py @@ -1,6 +1,7 @@ from .. import pretty from .. import repo from .. import color +from . import helpers def parser(subparsers, config): @@ -17,20 +18,22 @@ def command(config, ui, citekeys, query): rp = repo.Repository.from_directory(config) papers = [(n, p) for n, p in enumerate(rp.all_papers()) if test_paper(query, p)] - if citekeys: - paper_strings = [p.citekey for n, p in papers] - else: - paper_strings = [] - for n, p in papers: - bibdesc = pretty.bib_oneliner(p.bibentry) - paper_strings.append((u'{num:d}: [{citekey}] {descr} {tags}'.format( - num=int(n), - citekey=color.dye(p.citekey, color.purple), - descr=bibdesc, - tags=color.dye(' '.join(p.tags), - color.purple, bold=True), - )).encode('utf-8')) - ui.print_('\n'.join(paper_strings)) + # if citekeys: + # paper_strings = [p.citekey for n, p in papers] + # else: + # paper_strings = [] + # print p.tags + # print color.dye(' '.join(p.tags), color.purple) + # for n, p in papers: + # bibdesc = pretty.bib_oneliner(p.bibentry) + # paper_strings.append((u'{num:d}: [{citekey}] {descr} {tags}'.format( + # num=int(n), + # citekey=color.dye(p.citekey, color.purple), + # descr=bibdesc, + # tags=color.dye(' '.join(p.tags), + # color.purple, bold=True), + # )).encode('utf-8')) + ui.print_('\n'.join(helpers.paper_oneliner(p, n = n, citekey_only = citekeys) for n, p in papers)) # TODO author is not implemented, should we do it by last name only or more