Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: 9b24649118b99987a42fcab0a9793bd5d2b0d762 authored by cvs2svn on 15 August 1997, 20:18:44 UTC
This commit was manufactured by cvs2svn to create tag 'r15a3'.
Tip revision: 9b24649
checktext.py
"""checktext - Check that a text file has macintosh-style newlines"""

import macfs
import sys
import EasyDialogs
import string

def main():
	fsspec, ok = macfs.PromptGetFile('File to check end-of-lines in:', 'TEXT')
	if not ok:
		sys.exit(0)
	pathname = fsspec.as_pathname()
	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()
	
	
back to top