]> arthur.barton.de Git - bup.git/blob - bup.py
bup.py: list subcommands in alphabetical order.
[bup.git] / bup.py
1 #!/usr/bin/env python
2 import sys, os, git
3
4 argv = sys.argv
5 exe = argv[0]
6 exepath = os.path.split(exe)[0] or '.'
7
8 def log(s):
9     sys.stderr.write(s)
10
11 def usage():
12     log('Usage: %s <subcmd> <options...>\n\n' % exe)
13     log('Available subcommands:\n')
14     for c in sorted(os.listdir(exepath)):
15         if c.startswith('bup-') and c.find('.') < 0:
16             log('\t%s\n' % c[4:])
17     sys.exit(99)
18
19 if len(argv) < 2 or not argv[1] or argv[1][0] == '-':
20     usage()
21
22 subcmd = argv[1]
23 if subcmd == 'help':
24     usage()
25
26 subpath = os.path.join(exepath, 'bup-%s' % subcmd)
27
28 if not os.path.exists(subpath):
29     log('%s: unknown command "%s"\n' % (exe, subcmd))
30     usage()
31
32 try:
33     os.execv(subpath, [subpath] + argv[2:])
34 except OSError, e:
35     log('%s: %s\n' % (subpath, e))
36     sys.exit(98)