1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
from os import mkdir, path
CHUNK_SIZE = 4096 * 10
diff_definition = {
'a': {
'a.txt': lambda: b'',
'c': {
'c.txt': lambda: b''
},
'd': {
'd.txt': lambda: (b'd' * CHUNK_SIZE) + b'd'
},
'e': {
'f': {},
'g': {
'g.txt': lambda: b'g'
},
'h': {
'h.txt': lambda: b'h'
},
'e.txt': lambda: b''
},
'crlf.txt': lambda: b'foo\r\nbar\r\n',
'crlftrailing.txt': lambda: b'foo\r\nbar\r\n\r\n',
},
'b': {
'b.txt': lambda: b'',
'c': {
'c.txt': lambda: b''
},
'd': {
'd.txt': lambda: (b'd' * CHUNK_SIZE) + b'd',
'd.1.txt': lambda: (b'D' * CHUNK_SIZE) + b'D',
'd.2.txt': lambda: (b'd' * CHUNK_SIZE) + b'D'
},
'e': {
'f': {
'f.txt': lambda: b''
},
'g': {
'g.txt': lambda: b''
},
'h': {
'h.txt': lambda: b'h'
},
'e.txt': lambda: b''
},
'lf.txt': lambda: b'foo\nbar\n',
'lftrailing.txt': lambda: b'foo\nbar\n\n',
}
}
CUR_DIR = path.dirname(__file__)
ROOT_DIR = path.join(CUR_DIR, 'diffs')
def make(definition=diff_definition, root_dir=ROOT_DIR):
if not path.exists(root_dir):
mkdir(root_dir, 0o755)
for k, v in definition.items():
file_path = path.join(root_dir, k)
if isinstance(v, dict):
make(v, file_path)
else:
with open(file_path, 'bw') as open_file:
open_file.write(v())
if __name__ == '__main__':
make()
|