]> arthur.barton.de Git - bup.git/blob - bup.py
Add a 'bup' wrapper program.
[bup.git] / bup.py
1 #!/usr/bin/env python
2 import sys, os
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 os.listdir(exepath):
15         if c.startswith('bup-') and c.find('.') < 0:
16             log('\t%s\n' % c[4:])
17     exit(99)
18
19
20 if len(argv) < 2 or not argv[1] or argv[1][0] == '-':
21     usage()
22
23 subcmd = argv[1]
24 if subcmd == 'help':
25     usage()
26
27 subpath = os.path.join(exepath, 'bup-%s' % subcmd)
28
29 if not os.path.exists(subpath):
30     log('%s: unknown command "%s"\n' % (exe, subcmd))
31     usage()
32
33 try:
34     os.execv(subpath, [subpath] + argv[2:])
35 except OSError, e:
36     log('%s: %s\n' % (subpath, e))
37     exit(98)