5 > git = True |
5 > git = True |
6 > EOF |
6 > EOF |
7 |
7 |
8 Set up helpers |
8 Set up helpers |
9 |
9 |
10 $ cat > switch-eol.py <<EOF |
10 $ cat > switch-eol.py <<'EOF' |
11 > from __future__ import absolute_import |
11 > from __future__ import absolute_import |
12 > import os |
12 > import os |
13 > import sys |
13 > import sys |
14 > try: |
14 > try: |
15 > import msvcrt |
15 > import msvcrt |
16 > msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY) |
16 > msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY) |
17 > msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) |
17 > msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) |
18 > except ImportError: |
18 > except ImportError: |
19 > pass |
19 > pass |
|
20 > eolmap = {b'\n': '\\n', b'\r\n': '\\r\\n'} |
20 > (old, new) = sys.argv[1] == 'LF' and (b'\n', b'\r\n') or (b'\r\n', b'\n') |
21 > (old, new) = sys.argv[1] == 'LF' and (b'\n', b'\r\n') or (b'\r\n', b'\n') |
21 > print("%% switching encoding from %r to %r" % (old, new)) |
22 > print("%% switching encoding from '%s' to '%s'" |
|
23 > % (eolmap[old], eolmap[new])) |
22 > for path in sys.argv[2:]: |
24 > for path in sys.argv[2:]: |
23 > data = open(path, 'rb').read() |
25 > data = open(path, 'rb').read() |
24 > data = data.replace(old, new) |
26 > data = data.replace(old, new) |
25 > open(path, 'wb').write(data) |
27 > open(path, 'wb').write(data) |
26 > EOF |
28 > EOF |