pubs/papers/commands/list_cmd.py
Olivier Mangin 655fb25bfa Adds command to add multiple reference at once.
Also fixes a few bugs.
2012-11-02 19:48:13 +01:00

25 lines
776 B
Python

import subprocess
import tempfile
from .. import pretty
from .. import color
from .. import repo
def parser(subparsers, config):
parser = subparsers.add_parser('list', help="list all papers")
return parser
def command(config):
rp = repo.Repository()
articles = []
for n in sorted(rp.numbers.keys()):
paper = rp.paper_from_number(n, fatal = True)
bibdesc = pretty.bib_oneliner(paper.bib_data)
articles.append(u'{:3d} {}{}{}{} {}'.format(int(paper.number), color.purple, paper.citekey, color.end, (8-len(paper.citekey))*' ', bibdesc))
with tempfile.NamedTemporaryFile(suffix=".tmp", delete=True) as tmpf:
tmpf.write('\n'.join(articles))
tmpf.flush()
subprocess.call(['less', '-XRF', tmpf.name])