SF patch #462296: Add attributes to os.stat results; by Nick Mathewson.
This is a big one, touching lots of files. Some of the platforms
aren't tested yet. Briefly, this changes the return value of the
os/posix functions stat(), fstat(), statvfs(), fstatvfs(), and the
time functions localtime(), gmtime(), and strptime() from tuples into
pseudo-sequences. When accessed as a sequence, they behave exactly as
before. But they also have attributes like st_mtime or tm_year. The
stat return value, moreover, has a few platform-specific attributes
that are not available through the sequence interface (because
everybody expects the sequence to have a fixed length, these couldn't
be added there). If your platform's struct stat doesn't define
st_blksize, st_blocks or st_rdev, they won't be accessible from Python
either.
(Still missing is a documentation update.)
diff --git a/Misc/NEWS b/Misc/NEWS
index 6d6c659..257546d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -48,7 +48,17 @@
- readline now supports setting the startup_hook and the pre_event_hook.
-- posix supports chroot and setgroups where available.
+- os and posix supports chroot() and setgroups() where available. The
+ stat(), fstat(), statvfs() and fstatvfs() functions now return
+ "pseudo-sequences" -- the various fields can now be accessed as
+ attributes (e.g. os.stat("/").st_mtime) but for backwards
+ compatibility they also behave as a fixed-length sequence. Some
+ platform-specific fields (e.g. st_rdev) are only accessible as
+ attributes.
+
+- time: localtime(), gmtime() and strptime() now return a
+ pseudo-sequence similar to the os.stat() return value, with
+ attributes like tm_year etc.
- Decompression objects in the zlib module now accept an optional
second parameter to decompress() that specifies the maximum amount