tests/test-eol.t
changeset 38330 ae3f17a87b28
parent 36030 b85b0bbed6de
child 39707 5abc47d4ca6b
equal deleted inserted replaced
38329:f47608575c10 38330:ae3f17a87b28
     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