annotate Mac/Demo/example0/checktext.py @ 4566:6403c94de50d legacy-trunk

Added safeguard against failure in __del__.
author Guido van Rossum <guido@python.org>
date Wed, 27 Nov 1996 19:39:58 +0000
parents 2db6363459ca
children 6eb5e1a09b95
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3751
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 """checktext - Check that a text file has macintosh-style newlines"""
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
3 import macfs
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
4 import sys
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
5 import EasyDialogs
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
6 import string
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8 def main():
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9 fsspec, ok = macfs.PromptGetFile('File to check end-of-lines in:', 'TEXT')
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10 if not ok:
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11 sys.exit(0)
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12 pathname = fsspec.as_pathname()
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13 fp = open(pathname, 'rb')
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14 try:
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
15 data = fp.read()
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
16 except MemoryError:
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
17 EasyDialogs.Message('Sorry, file is too big.')
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
18 sys.exit(0)
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
19 if len(data) == 0:
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
20 EasyDialogs.Message('File is empty.')
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
21 sys.exit(0)
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
22 number_cr = string.count(data, '\r')
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
23 number_lf = string.count(data, '\n')
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
24 if number_cr == number_lf == 0:
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
25 EasyDialogs.Message('File contains no lines.')
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
26 if number_cr == 0:
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
27 EasyDialogs.Message('File has unix-style line endings')
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
28 elif number_lf == 0:
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
29 EasyDialogs.Message('File has mac-style line endings')
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
30 elif number_cr == number_lf:
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
31 EasyDialogs.Message('File probably has MSDOS-style line endings')
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
32 else:
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
33 EasyDialogs.Message('File has no recognizable line endings (binary file?)')
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
34 sys.exit(0)
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
35
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
36 if __name__ == '__main__':
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
37 main()
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
38
2db6363459ca - Added a file dialog example
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
39