Benjamin Peterson | 90f5ba5 | 2010-03-11 22:53:45 +0000 | [diff] [blame] | 1 | #! /usr/bin/env python3 |
Guido van Rossum | 09eea82 | 1998-09-14 15:46:41 +0000 | [diff] [blame] | 2 | "Replace CRLF with LF in argument files. Print names of changed files." |
| 3 | |
Guido van Rossum | affa6b7 | 2002-11-13 21:04:31 +0000 | [diff] [blame] | 4 | import sys, os |
Andrew M. Kuchling | e236b38 | 2004-08-09 17:27:55 +0000 | [diff] [blame] | 5 | |
| 6 | def main(): |
| 7 | for filename in sys.argv[1:]: |
| 8 | if os.path.isdir(filename): |
Collin Winter | 6afaeb7 | 2007-08-03 17:06:41 +0000 | [diff] [blame] | 9 | print(filename, "Directory!") |
Andrew M. Kuchling | e236b38 | 2004-08-09 17:27:55 +0000 | [diff] [blame] | 10 | continue |
Éric Araujo | 1bf5b6a | 2011-08-12 19:40:05 +0200 | [diff] [blame^] | 11 | with open(filename, "rb") as f: |
| 12 | data = f.read() |
| 13 | if b'\0' in data: |
Collin Winter | 6afaeb7 | 2007-08-03 17:06:41 +0000 | [diff] [blame] | 14 | print(filename, "Binary!") |
Andrew M. Kuchling | e236b38 | 2004-08-09 17:27:55 +0000 | [diff] [blame] | 15 | continue |
Éric Araujo | 1bf5b6a | 2011-08-12 19:40:05 +0200 | [diff] [blame^] | 16 | newdata = data.replace(b"\r\n", b"\n") |
Andrew M. Kuchling | e236b38 | 2004-08-09 17:27:55 +0000 | [diff] [blame] | 17 | if newdata != data: |
Collin Winter | 6afaeb7 | 2007-08-03 17:06:41 +0000 | [diff] [blame] | 18 | print(filename) |
Éric Araujo | 1bf5b6a | 2011-08-12 19:40:05 +0200 | [diff] [blame^] | 19 | with open(filename, "wb") as f: |
| 20 | f.write(newdata) |
Andrew M. Kuchling | e236b38 | 2004-08-09 17:27:55 +0000 | [diff] [blame] | 21 | |
| 22 | if __name__ == '__main__': |
| 23 | main() |