annotate Lib/macstat.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 d892ac4b4fb9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1810
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 # Module 'stat'
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 #
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 # Defines constants and functions for interpreting stat/lstat struct
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 # as returned by os.stat() and os.lstat() (if it exists).
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 #
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 # Suggested usage: from stat import *
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 #
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 # XXX Strictly spoken, this module may have to be adapted for each POSIX
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 # implementation; in practice, however, the numeric constants used by
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 # stat() are almost universal (even for stat() emulations on non-UNIX
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 # systems like MS-DOS).
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
12
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 # Indices for stat struct members in tuple returned by os.stat()
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
14
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 ST_MODE = 0
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 ST_INO = 1
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 ST_DEV = 2
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 ST_NLINK = 3
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 ST_UID = 4
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 ST_GID = 5
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 ST_SIZE = 6
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
22 ST_ATIME = 7
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 ST_MTIME = 8
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 ST_CTIME = 9
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
25
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 # Extract bits from the mode
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
27
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 def S_IMODE(mode):
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 return 0
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
30
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 def S_IFMT(mode):
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 return mode & 0xFFFF
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
33
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 # Constants used as S_IFMT() for various file types
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
35 # (not all are implemented on all systems)
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
36
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
37 S_IFDIR = 0x0000
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 S_IFREG = 0x0003
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
39
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 # Functions to test for each file type
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
41
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
42 def S_ISDIR(mode):
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 return S_IFMT(mode) == S_IFDIR
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
44
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
45 def S_ISCHR(mode):
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
46 return 0
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
47
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
48 def S_ISBLK(mode):
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
49 return 0
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
50
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 def S_ISREG(mode):
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
52 return S_IFMT(mode) == S_IFREG
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
53
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 def S_ISFIFO(mode):
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
55 return 0
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
56
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
57 def S_ISLNK(mode):
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
58 return 0
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
59
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
60 def S_ISSOCK(mode):
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
61 return 0
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
62
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
63 # Names for permission bits
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
64
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
65 S_ISUID = 04000
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
66 S_ISGID = 02000
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
67 S_ENFMT = S_ISGID
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
68 S_ISVTX = 01000
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
69 S_IREAD = 00400
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
70 S_IWRITE = 00200
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
71 S_IEXEC = 00100
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
72 S_IRWXU = 00700
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
73 S_IRUSR = 00400
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
74 S_IWUSR = 00200
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
75 S_IXUSR = 00100
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
76 S_IRWXG = 00070
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
77 S_IRGRP = 00040
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
78 S_IWGRP = 00020
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
79 S_IXGRP = 00010
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
80 S_IRWXO = 00007
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
81 S_IROTH = 00004
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
82 S_IWOTH = 00002
d892ac4b4fb9 * Lib/linecache.py: don't crash on empty filename
Guido van Rossum <guido@python.org>
parents:
diff changeset
83 S_IXOTH = 00001