summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2011-03-10 22:38:50 (GMT)
committerR David Murray <rdmurray@bitdance.com>2011-03-10 22:38:50 (GMT)
commitee30a0be35d15146ec78f3859df2d63fbee323b8 (patch)
tree082389731687419a2abdd1b001322997cb229302
parent1aea1dabe527ae35006671c0eb8879042e398088 (diff)
parent5647c473bc6561d2d1bc0423ac5c1caab2bcb44f (diff)
downloadcpython-ee30a0be35d15146ec78f3859df2d63fbee323b8.zip
cpython-ee30a0be35d15146ec78f3859df2d63fbee323b8.tar.gz
cpython-ee30a0be35d15146ec78f3859df2d63fbee323b8.tar.bz2
Merge #10999 fix.
-rw-r--r--Doc/library/os.rst20
-rw-r--r--Doc/library/stat.rst88
-rw-r--r--Misc/ACKS1
3 files changed, 77 insertions, 32 deletions
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index 692aa9c..2950f7f 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -1260,16 +1260,16 @@ Files and Directories
Set the flags of *path* to the numeric *flags*. *flags* may take a combination
(bitwise OR) of the following values (as defined in the :mod:`stat` module):
- * ``UF_NODUMP``
- * ``UF_IMMUTABLE``
- * ``UF_APPEND``
- * ``UF_OPAQUE``
- * ``UF_NOUNLINK``
- * ``SF_ARCHIVED``
- * ``SF_IMMUTABLE``
- * ``SF_APPEND``
- * ``SF_NOUNLINK``
- * ``SF_SNAPSHOT``
+ * :data:`stat.UF_NODUMP`
+ * :data:`stat.UF_IMMUTABLE`
+ * :data:`stat.UF_APPEND`
+ * :data:`stat.UF_OPAQUE`
+ * :data:`stat.UF_NOUNLINK`
+ * :data:`stat.SF_ARCHIVED`
+ * :data:`stat.SF_IMMUTABLE`
+ * :data:`stat.SF_APPEND`
+ * :data:`stat.SF_NOUNLINK`
+ * :data:`stat.SF_SNAPSHOT`
Availability: Unix.
diff --git a/Doc/library/stat.rst b/Doc/library/stat.rst
index d8a27af..cc879de 100644
--- a/Doc/library/stat.rst
+++ b/Doc/library/stat.rst
@@ -76,6 +76,34 @@ for each test. These are also useful when checking for information about a file
that isn't handled by :mod:`os.path`, like the tests for block and character
devices.
+Example::
+
+ import os, sys
+ from stat import *
+
+ def walktree(top, callback):
+ '''recursively descend the directory tree rooted at top,
+ calling the callback function for each regular file'''
+
+ for f in os.listdir(top):
+ pathname = os.path.join(top, f)
+ mode = os.stat(pathname)[ST_MODE]
+ if S_ISDIR(mode):
+ # It's a directory, recurse into it
+ walktree(pathname, callback)
+ elif S_ISREG(mode):
+ # It's a file, call the callback function
+ callback(pathname)
+ else:
+ # Unknown file type, print a message
+ print('Skipping %s' % pathname)
+
+ def visitfile(file):
+ print('visiting', file)
+
+ if __name__ == '__main__':
+ walktree(sys.argv[1], visitfile)
+
All the variables below are simply symbolic indexes into the 10-tuple returned
by :func:`os.stat`, :func:`os.fstat` or :func:`os.lstat`.
@@ -265,31 +293,47 @@ The following flags can also be used in the *mode* argument of :func:`os.chmod`:
Unix V7 synonym for :data:`S_IXUSR`.
-Example::
+The following flags can be used in the *flags* argument of :func:`os.chflags`:
- import os, sys
- from stat import *
+.. data:: UF_NODUMP
- def walktree(top, callback):
- '''recursively descend the directory tree rooted at top,
- calling the callback function for each regular file'''
+ Do not dump the file.
- for f in os.listdir(top):
- pathname = os.path.join(top, f)
- mode = os.stat(pathname)[ST_MODE]
- if S_ISDIR(mode):
- # It's a directory, recurse into it
- walktree(pathname, callback)
- elif S_ISREG(mode):
- # It's a file, call the callback function
- callback(pathname)
- else:
- # Unknown file type, print a message
- print('Skipping %s' % pathname)
+.. data:: UF_IMMUTABLE
- def visitfile(file):
- print('visiting', file)
+ The file may not be changed.
- if __name__ == '__main__':
- walktree(sys.argv[1], visitfile)
+.. data:: UF_APPEND
+
+ The file may only be appended to.
+
+.. data:: UF_OPAQUE
+
+ The file may not be renamed or deleted.
+
+.. data:: UF_NOUNLINK
+
+ The directory is opaque when viewed through a union stack.
+
+.. data:: SF_ARCHIVED
+
+ The file may be archived.
+
+.. data:: SF_IMMUTABLE
+
+ The file may not be changed.
+
+.. data:: SF_APPEND
+
+ The file may only be appended to.
+
+.. data:: SF_NOUNLINK
+
+ The file may not be renamed or deleted.
+
+.. data:: SF_SNAPSHOT
+
+ The file is a snapshot file.
+
+See the \*BSD or Mac OS systems man page :manpage:`chflags(2)` for more information.
diff --git a/Misc/ACKS b/Misc/ACKS
index 36555d2..1dc4063 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -622,6 +622,7 @@ Stefan Norberg
Tim Northover
Joe Norton
Neal Norwitz
+Michal Nowikowski
Steffen Daode Nurpmeso
Nigel O'Brian
Kevin O'Connor