commit
1b59aefc08
@ -0,0 +1,35 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import webbrowser
|
||||
|
||||
from .. import repo
|
||||
from ..uis import get_ui
|
||||
from ..utils import resolve_citekey_list
|
||||
|
||||
|
||||
|
||||
def parser(subparsers, conf):
|
||||
parser = subparsers.add_parser('url',
|
||||
help="open a paper's url in the default web browser")
|
||||
parser.add_argument("citekey", nargs = '*',
|
||||
help="one or more citeKeys to open")
|
||||
return parser
|
||||
|
||||
|
||||
def command(conf, args):
|
||||
"""Open the url of one or several papers in a web browser."""
|
||||
|
||||
ui = get_ui()
|
||||
rp = repo.Repository(conf)
|
||||
|
||||
for key in resolve_citekey_list(rp, args.citekey, ui=ui, exit_on_fail=False):
|
||||
try:
|
||||
paper = rp.pull_paper(key)
|
||||
url = paper.bibdata['url']
|
||||
ui.info('opening url {}'.format(url))
|
||||
webbrowser.open(url)
|
||||
|
||||
except KeyError as e:
|
||||
ui.warning('{} has no url'.format(key))
|
||||
|
||||
rp.close()
|
Loading…
Reference in new issue