-#!/usr/bin/env python
-import copy, errno, sys, stat, re
+#!/bin/sh
+"""": # -*-python-*-
+bup_python="$(dirname "$0")/bup-python" || exit $?
+exec "$bup_python" "$0" ${1+"$@"}
+"""
+# end of bup preamble
+
+import copy, errno, os, sys, stat, re
+
from bup import options, git, metadata, vfs
-from bup.helpers import *
from bup._helpers import write_sparsely
+from bup.helpers import (add_error, chunkyreader, handle_ctrl_c, log, mkdirp,
+ parse_rx_excludes, progress, qprogress, saved_errors,
+ should_rx_exclude_path, unlink)
+
optspec = """
bup restore [-C outdir] </branch/revision/path/to/dir ...>
try:
os.link(target_path, fullname)
return True
- except OSError, e:
+ except OSError as e:
if e.errno != errno.EXDEV:
raise
else:
def write_file_content_sparsely(fullname, n):
- outfd = os.open(fullname, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0600)
+ outfd = os.open(fullname, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600)
try:
trailing_zeros = 0;
for b in chunkyreader(n.open()):
path,name = os.path.split(d)
try:
n = top.lresolve(d)
- except vfs.NodeError, e:
+ except vfs.NodeError as e:
add_error(e)
continue
isdir = stat.S_ISDIR(n.mode)