3 bup_python="$(dirname "$0")//bup-python" || exit $?
4 exec "$bup_python" "$0" ${1+"$@"}
8 from __future__ import absolute_import, print_function
10 from os.path import abspath, dirname
11 from random import randint
12 from sys import argv, exit, stderr, stdout
15 from bup.compat import fsencode, range
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 = argv[1:]
52 with open(fsencode(dest) + b'/' + random_filename(), 'w') as _: