-#!/usr/bin/env python
+#!/bin/sh
+"""": # -*-python-*-
+bup_python="$(dirname "$0")/bup-python" || exit $?
+exec "$bup_python" "$0" ${1+"$@"}
+"""
+# end of bup preamble
+
+from __future__ import absolute_import, print_function
import sys, os, glob, subprocess
+
from bup import options, git
-from bup.helpers import *
+from bup.helpers import Sha1, chunkyreader, istty2, log, progress
par2_ok = 0
nullf = open('/dev/null')
return ['-qq']
def par2_generate(base):
- return run(['par2', 'create', '-n1', '-c200'] + parv(2)
+ return run(['par2', 'create', '-t1', '-n1', '-c200'] + parv(2)
+ ['--', base, base+'.pack', base+'.idx'])
def par2_verify(base):
- return run(['par2', 'verify'] + parv(3) + ['--', base])
+ return run(['par2', 'verify', '-t1'] + parv(3) + ['--', base])
def par2_repair(base):
- return run(['par2', 'repair'] + parv(2) + ['--', base])
+ return run(['par2', 'repair', '-t1'] + parv(2) + ['--', base])
def quick_verify(base):
f = open(base + '.pack', 'rb')
if opt.quick:
try:
quick_verify(base)
- except Exception, e:
- debug('error: %s\n' % e)
+ except Exception as e:
+ log('error: %s\n' % e)
return 1
return 0
else:
return run(['git', 'verify-pack', '--', base])
-def do_pack(base, last):
+def do_pack(base, last, par2_exists):
code = 0
if par2_ok and par2_exists and (opt.repair or not opt.generate):
vresult = par2_verify(base)
action_result = 'ok'
else:
assert(opt.generate and (not par2_ok or par2_exists))
- if par2_ok:
- action_result = 'exists'
- else:
- action_result = 'skipped'
+ action_result = 'exists' if par2_exists else 'skipped'
if opt.verbose:
- print last, action_result
+ print(last, action_result)
return code
progress('fsck (%d/%d)\r' % (count, len(extra)))
if not opt.jobs:
- nc = do_pack(base, last)
+ nc = do_pack(base, last, par2_exists)
code = code or nc
count += 1
else:
outstanding[pid] = 1
else: # child
try:
- sys.exit(do_pack(base, last))
- except Exception, e:
+ sys.exit(do_pack(base, last, par2_exists))
+ except Exception as e:
log('exception: %r\n' % e)
sys.exit(99)