]> arthur.barton.de Git - bup.git/commitdiff
Add support for a global --bup-dir or -d argument.
authorRob Browning <rlb@defaultvalue.org>
Thu, 25 Mar 2010 07:23:57 +0000 (00:23 -0700)
committerAvery Pennarun <apenwarr@gmail.com>
Thu, 25 Mar 2010 07:33:23 +0000 (03:33 -0400)
When a "--bup-dir DIR" or "-d DIR" argument is provided, act as if
BUP_DIR=DIR is set in the environment.

Signed-off-by: Rob Browning <rlb@defaultvalue.org>
main.py

diff --git a/main.py b/main.py
index d22150be86e0191f38db78784c9878cd17fc373f..77ec76b80bd2ac18826266db89c36cc432274c39 100755 (executable)
--- a/main.py
+++ b/main.py
@@ -36,7 +36,8 @@ def columnate(l, prefix):
 
 
 def usage():
-    log('Usage: bup [-?|--help] COMMAND [ARGS]\n\n')
+    log('Usage: bup [-?|--help] [-d=BUP_DIR|--bup-dir=BUP_DIR] COMMAND [ARGS]'
+        + '\n\n')
     common = dict(
         ftp = 'Browse backup sets using an ftp-like client',
         fsck = 'Check backup sets for damage and add redundancy information',
@@ -75,16 +76,19 @@ if len(argv) < 2:
 
 # Handle global options.
 try:
-    global_args, subcmd = getopt.getopt(argv[1:], '?', ['help'])
+    global_args, subcmd = getopt.getopt(argv[1:], '?d:', ['help', 'bup-dir='])
 except getopt.GetoptError, ex:
     log('error: ' + ex.msg + '\n')
     usage()
 
 help_requested = None
+dest_dir = None
 
 for opt in global_args:
     if opt[0] == '-?' or opt[0] == '--help':
         help_requested = True
+    elif opt[0] == '-d' or opt[0] == '--bup-dir':
+        dest_dir = opt[1]
     else:
         log('error: unexpected option "%s"\n' % opt[0])
         usage()
@@ -105,6 +109,10 @@ subcmd_name = subcmd[0]
 if not subcmd_name:
     usage()
 
+subcmd_env = os.environ
+if dest_dir:
+    subcmd_env.update({"BUP_DIR" : dest_dir})
+
 def subpath(s):
     sp = os.path.join(exepath, 'bup-%s' % s)
     if not os.path.exists(sp):