]> arthur.barton.de Git - bup.git/blob - cmd/help-cmd.py
95155b6ad28d8dde6904367e484ffafb0edc086c
[bup.git] / cmd / help-cmd.py
1 #!/bin/sh
2 """": # -*-python-*-
3 bup_python="$(dirname "$0")/bup-python" || exit $?
4 exec "$bup_python" "$0" ${1+"$@"}
5 """
6 # end of bup preamble
7 import sys, os, glob
8 from bup import options, path
9
10 optspec = """
11 bup help <command>
12 """
13 o = options.Options(optspec)
14 (opt, flags, extra) = o.parse(sys.argv[1:])
15
16 if len(extra) == 0:
17     # the wrapper program provides the default usage string
18     os.execvp(os.environ['BUP_MAIN_EXE'], ['bup'])
19 elif len(extra) == 1:
20     docname = (extra[0]=='bup' and 'bup' or ('bup-%s' % extra[0]))
21     manpath = os.path.join(path.exedir(),
22                            'Documentation/' + docname + '.[1-9]')
23     g = glob.glob(manpath)
24     try:
25         if g:
26             os.execvp('man', ['man', '-l', g[0]])
27         else:
28             os.execvp('man', ['man', docname])
29     except OSError as e:
30         sys.stderr.write('Unable to run man command: %s\n' % e)
31         sys.exit(1)
32 else:
33     o.fatal("exactly one command name expected")