You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
934 B
27 lines
934 B
import subprocess
|
|
|
|
from .. import color
|
|
from .. import repo
|
|
from ..paper import NoDocumentFile
|
|
|
|
def parser(subparsers, config):
|
|
parser = subparsers.add_parser('open', help='{}open the paper in a pdf viewer{}'.format(color.normal, color.end))
|
|
parser.add_argument('citekey', help='{}the paper associated citekey{}'.format(color.normal, color.end))
|
|
return parser
|
|
|
|
def command(config, citekey):
|
|
rp = repo.Repository()
|
|
paper = rp.paper_from_any(citekey, fatal = True)
|
|
try:
|
|
if paper.check_file():
|
|
filepath = paper.get_file_path()
|
|
|
|
p = subprocess.Popen(['open', filepath])
|
|
print('{}{}{} opened.{}'.format(
|
|
color.filepath, filepath, color.normal, color.end))
|
|
except NoDocumentFile:
|
|
print('{}error{}: No document associated to this entry {}{}{}'.format(
|
|
color.error, color.normal, color.citekey, citekey, color.end))
|
|
exit(-1)
|
|
|