From 2d57a2080c1a912b8575f67dc9f0e852dfdca43f Mon Sep 17 00:00:00 2001 From: Olivier Mangin Date: Mon, 22 Oct 2012 05:00:04 +0200 Subject: [PATCH] Adds handling of the case where no document file is defined. --- papers/commands/open_cmd.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/papers/commands/open_cmd.py b/papers/commands/open_cmd.py index 8788a25..b1dd0bf 100644 --- a/papers/commands/open_cmd.py +++ b/papers/commands/open_cmd.py @@ -2,6 +2,7 @@ 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)) @@ -11,7 +12,15 @@ def parser(subparsers, config): def command(config, citekey): rp = repo.Repository() paper = rp.paper_from_any(citekey, fatal = True) - filepath = paper.metadata['path'] + 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) - p = subprocess.Popen(['open', filepath]) - print('{}{}{} opened.{}'.format(color.filepath, filepath, color.normal, color.end)) \ No newline at end of file