3 bup_exec="$(dirname "$0")/bup-exec" || exit $?
4 exec "$bup_exec" "$0" ${1+"$@"}
7 from __future__ import absolute_import, print_function
9 from os.path import abspath, dirname
10 from random import randint
11 from sys import stderr, stdout
14 from bup.compat import fsencode, get_argv, get_argvb
18 def usage(out=stdout):
19 print('Usage:', argv[0], 'NUM', 'DEST_DIR', file=out)
25 if sys.version_info[0] >= 3:
26 def bytes_from_ints(ints):
29 def bytes_from_ints(ints):
30 return ''.join([chr(x) for x in ints])
32 invalid_fragments = re.compile(br'(\x00|[./]|\.\.)')
34 def random_filename():
36 def random_candidate():
37 return invalid_fragments.sub(b'', bytes_from_ints([randint(1, 255)
39 candidate = random_candidate()
41 candidate = random_candidate()
47 count, dest = get_argvb()[1:]
52 with open(dest + b'/' + random_filename(), 'w') as _: