]> arthur.barton.de Git - bup.git/blob - bup.py
281ac7397f24a517a8549f9480ee509fa5bff50e
[bup.git] / bup.py
1 #!/usr/bin/env python2.5
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 os.listdir(exepath):
15         if c.startswith('bup-') and c.find('.') < 0:
16             log('\t%s\n' % c[4:])
17     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     exit(98)