From a19a216bc60160c162e616145ef091dd18ce4e61 Mon Sep 17 00:00:00 2001 From: Skip Montanaro Date: Tue, 16 Feb 2021 14:40:46 -0600 Subject: Python 0.9.1 as posted in alt.sources --- lib/stat.py | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 lib/stat.py (limited to 'lib/stat.py') diff --git a/lib/stat.py b/lib/stat.py new file mode 100644 index 0000000..83855b6 --- /dev/null +++ b/lib/stat.py @@ -0,0 +1,57 @@ +# Module 'stat' + +# Defines constants and functions for interpreting stat/lstat struct +# as returned by posix.stat() and posix.lstat() (if it exists). + +# XXX This module may have to be adapted for UNIXoid systems whose +# deviates from AT&T or BSD UNIX; their S_IF* constants +# may differ. + +# Suggested usage: from stat import * + +# Tuple indices for stat struct members + +ST_MODE = 0 +ST_INO = 1 +ST_DEV = 2 +ST_NLINK = 3 +ST_UID = 4 +ST_GID = 5 +ST_SIZE = 6 +ST_ATIME = 7 +ST_MTIME = 8 +ST_CTIME = 9 + +def S_IMODE(mode): + return mode%4096 +def S_IFMT(mode): + return mode - mode%4096 + +S_IFDIR = 0040000 +S_IFCHR = 0020000 +S_IFBLK = 0060000 +S_IFREG = 0100000 +S_IFIFO = 0010000 +S_IFLNK = 0120000 +S_IFSOCK = 0140000 + +def S_ISDIR(mode): + return S_IFMT(mode) = S_IFDIR + +def S_ISCHR(mode): + return S_IFMT(mode) = S_IFCHR + +def S_ISBLK(mode): + return S_IFMT(mode) = S_IFBLK + +def S_ISREG(mode): + return S_IFMT(mode) = S_IFREG + +def S_ISFIFO(mode): + return S_IFMT(mode) = S_IFIFO + +def S_ISLNK(mode): + return S_IFMT(mode) = S_IFLNK + +def S_ISSOCK(mode): + return S_IFMT(mode) = S_IFSOCK -- cgit v1.2.3