File: checktext.py

package info (click to toggle)
python2.3 2.3.5-3sarge2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 43,908 kB
  • ctags: 81,384
  • sloc: ansic: 266,250; python: 246,028; makefile: 4,194; perl: 3,702; lisp: 3,630; sh: 2,576; xml: 1,601; objc: 740; cpp: 106; sed: 2
file content (37 lines) | stat: -rw-r--r-- 1,003 bytes parent folder | download
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
"""checktext - Check that a text file has macintosh-style newlines"""

import sys
import EasyDialogs
import string

def main():
	pathname = EasyDialogs.AskFileForOpen(message='File to check end-of-lines in:')
	if not pathname:
		sys.exit(0)
	fp = open(pathname, 'rb')
	try:
		data = fp.read()
	except MemoryError:
		EasyDialogs.Message('Sorry, file is too big.')
		sys.exit(0)
	if len(data) == 0:
		EasyDialogs.Message('File is empty.')
		sys.exit(0)
	number_cr = string.count(data, '\r')
	number_lf = string.count(data, '\n')
	if number_cr == number_lf == 0:
		EasyDialogs.Message('File contains no lines.')
	if number_cr == 0:
		EasyDialogs.Message('File has unix-style line endings')
	elif number_lf == 0:
		EasyDialogs.Message('File has mac-style line endings')
	elif number_cr == number_lf:
		EasyDialogs.Message('File probably has MSDOS-style line endings')
	else:
		EasyDialogs.Message('File has no recognizable line endings (binary file?)')
	sys.exit(0)
	
if __name__ == '__main__':
	main()