mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """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()
 | |
| 	
 | |
| 	
 | 
