comparison python/gview.py @ 690:5e8d3f68a997

shlex
author Jeff Hammel <k0scist@gmail.com>
date Mon, 02 Jun 2014 12:38:40 -0700
parents 34af6d5ac73c
children
comparison
equal deleted inserted replaced
686:34af6d5ac73c 690:5e8d3f68a997
8 """ 8 """
9 9
10 # imports 10 # imports
11 import argparse 11 import argparse
12 import os 12 import os
13 import shlex
13 import subprocess 14 import subprocess
14 import sys 15 import sys
15 import tempfile 16 import tempfile
16 17
17 __all__ = ['main'] 18 __all__ = ['main']
26 self.add_argument('-o', '--output', dest='output', 27 self.add_argument('-o', '--output', dest='output',
27 help="path to save to") 28 help="path to save to")
28 self.add_argument('-e', '--program', dest='program', 29 self.add_argument('-e', '--program', dest='program',
29 default='fdp', 30 default='fdp',
30 help="GraphViz program to invoke [DEFAULT: %(default)s]") 31 help="GraphViz program to invoke [DEFAULT: %(default)s]")
31 self.add_argument('-v', '--view', dest='viewer', default='feh', 32 self.add_argument('-v', '--view', dest='viewer', default='feh -F',
32 help="viewer") 33 help="viewer")
33 34
34 35
35 def main(args=sys.argv[1:]): 36 def main(args=sys.argv[1:]):
36 """CLI""" 37 """CLI"""
50 subprocess.check_call(command) 51 subprocess.check_call(command)
51 assert os.path.exists(output) 52 assert os.path.exists(output)
52 53
53 try: 54 try:
54 if options.viewer: 55 if options.viewer:
55 subprocess.call([options.viewer, output]) 56 viewer = shlex.split(options.viewer)
57 subprocess.call(viewer + [output])
56 finally: 58 finally:
57 if not options.output: 59 if not options.output:
58 os.remove(output) 60 os.remove(output)
59 61
60 62