Current Dir: /snap/core22/2955/usr/lib/python3.10/

[DIR]  asyncio [ delete | rename ]
[DIR]  collections [ delete | rename ]
[DIR]  concurrent [ delete | rename ]
[DIR]  ctypes [ delete | rename ]
[DIR]  curses [ delete | rename ]
[DIR]  dbm [ delete | rename ]
[DIR]  distutils [ delete | rename ]
[DIR]  email [ delete | rename ]
[DIR]  encodings [ delete | rename ]
[DIR]  html [ delete | rename ]
[DIR]  http [ delete | rename ]
[DIR]  importlib [ delete | rename ]
[DIR]  json [ delete | rename ]
[DIR]  lib-dynload [ delete | rename ]
[DIR]  lib2to3 [ delete | rename ]
[DIR]  logging [ delete | rename ]
[DIR]  multiprocessing [ delete | rename ]
[DIR]  pydoc_data [ delete | rename ]
[DIR]  sqlite3 [ delete | rename ]
[DIR]  test [ delete | rename ]
[DIR]  unittest [ delete | rename ]
[DIR]  urllib [ delete | rename ]
[DIR]  venv [ delete | rename ]
[DIR]  wsgiref [ delete | rename ]
[DIR]  xml [ delete | rename ]
[DIR]  xmlrpc [ delete | rename ]
[DIR]  zoneinfo [ delete | rename ]
[DIR]  __pycache__ [ delete | rename ]
[FILE] abc.py [ edit | delete | rename ]
[FILE] aifc.py [ edit | delete | rename ]
[FILE] antigravity.py [ edit | delete | rename ]
[FILE] argparse.py [ edit | delete | rename ]
[FILE] ast.py [ edit | delete | rename ]
[FILE] asynchat.py [ edit | delete | rename ]
[FILE] asyncore.py [ edit | delete | rename ]
[FILE] base64.py [ edit | delete | rename ]
[FILE] bdb.py [ edit | delete | rename ]
[FILE] binhex.py [ edit | delete | rename ]
[FILE] bisect.py [ edit | delete | rename ]
[FILE] bz2.py [ edit | delete | rename ]
[FILE] calendar.py [ edit | delete | rename ]
[FILE] cgi.py [ edit | delete | rename ]
[FILE] cgitb.py [ edit | delete | rename ]
[FILE] chunk.py [ edit | delete | rename ]
[FILE] cmd.py [ edit | delete | rename ]
[FILE] code.py [ edit | delete | rename ]
[FILE] codecs.py [ edit | delete | rename ]
[FILE] codeop.py [ edit | delete | rename ]
[FILE] colorsys.py [ edit | delete | rename ]
[FILE] compileall.py [ edit | delete | rename ]
[FILE] configparser.py [ edit | delete | rename ]
[FILE] contextlib.py [ edit | delete | rename ]
[FILE] contextvars.py [ edit | delete | rename ]
[FILE] copy.py [ edit | delete | rename ]
[FILE] copyreg.py [ edit | delete | rename ]
[FILE] cProfile.py [ edit | delete | rename ]
[FILE] crypt.py [ edit | delete | rename ]
[FILE] csv.py [ edit | delete | rename ]
[FILE] dataclasses.py [ edit | delete | rename ]
[FILE] datetime.py [ edit | delete | rename ]
[FILE] decimal.py [ edit | delete | rename ]
[FILE] difflib.py [ edit | delete | rename ]
[FILE] dis.py [ edit | delete | rename ]
[FILE] doctest.py [ edit | delete | rename ]
[FILE] enum.py [ edit | delete | rename ]
[FILE] filecmp.py [ edit | delete | rename ]
[FILE] fileinput.py [ edit | delete | rename ]
[FILE] fnmatch.py [ edit | delete | rename ]
[FILE] fractions.py [ edit | delete | rename ]
[FILE] ftplib.py [ edit | delete | rename ]
[FILE] functools.py [ edit | delete | rename ]
[FILE] genericpath.py [ edit | delete | rename ]
[FILE] getopt.py [ edit | delete | rename ]
[FILE] getpass.py [ edit | delete | rename ]
[FILE] gettext.py [ edit | delete | rename ]
[FILE] glob.py [ edit | delete | rename ]
[FILE] graphlib.py [ edit | delete | rename ]
[FILE] gzip.py [ edit | delete | rename ]
[FILE] hashlib.py [ edit | delete | rename ]
[FILE] heapq.py [ edit | delete | rename ]
[FILE] hmac.py [ edit | delete | rename ]
[FILE] imaplib.py [ edit | delete | rename ]
[FILE] imghdr.py [ edit | delete | rename ]
[FILE] imp.py [ edit | delete | rename ]
[FILE] inspect.py [ edit | delete | rename ]
[FILE] io.py [ edit | delete | rename ]
[FILE] ipaddress.py [ edit | delete | rename ]
[FILE] keyword.py [ edit | delete | rename ]
[FILE] LICENSE.txt [ edit | delete | rename ]
[FILE] linecache.py [ edit | delete | rename ]
[FILE] locale.py [ edit | delete | rename ]
[FILE] lzma.py [ edit | delete | rename ]
[FILE] mailbox.py [ edit | delete | rename ]
[FILE] mailcap.py [ edit | delete | rename ]
[FILE] mimetypes.py [ edit | delete | rename ]
[FILE] modulefinder.py [ edit | delete | rename ]
[FILE] netrc.py [ edit | delete | rename ]
[FILE] nntplib.py [ edit | delete | rename ]
[FILE] ntpath.py [ edit | delete | rename ]
[FILE] nturl2path.py [ edit | delete | rename ]
[FILE] numbers.py [ edit | delete | rename ]
[FILE] opcode.py [ edit | delete | rename ]
[FILE] operator.py [ edit | delete | rename ]
[FILE] optparse.py [ edit | delete | rename ]
[FILE] os.py [ edit | delete | rename ]
[FILE] pathlib.py [ edit | delete | rename ]
[FILE] pdb.py [ edit | delete | rename ]
[FILE] pickle.py [ edit | delete | rename ]
[FILE] pickletools.py [ edit | delete | rename ]
[FILE] pipes.py [ edit | delete | rename ]
[FILE] pkgutil.py [ edit | delete | rename ]
[FILE] platform.py [ edit | delete | rename ]
[FILE] plistlib.py [ edit | delete | rename ]
[FILE] poplib.py [ edit | delete | rename ]
[FILE] posixpath.py [ edit | delete | rename ]
[FILE] pprint.py [ edit | delete | rename ]
[FILE] profile.py [ edit | delete | rename ]
[FILE] pstats.py [ edit | delete | rename ]
[FILE] pty.py [ edit | delete | rename ]
[FILE] pyclbr.py [ edit | delete | rename ]
[FILE] pydoc.py [ edit | delete | rename ]
[FILE] py_compile.py [ edit | delete | rename ]
[FILE] queue.py [ edit | delete | rename ]
[FILE] quopri.py [ edit | delete | rename ]
[FILE] random.py [ edit | delete | rename ]
[FILE] re.py [ edit | delete | rename ]
[FILE] reprlib.py [ edit | delete | rename ]
[FILE] rlcompleter.py [ edit | delete | rename ]
[FILE] runpy.py [ edit | delete | rename ]
[FILE] sched.py [ edit | delete | rename ]
[FILE] secrets.py [ edit | delete | rename ]
[FILE] selectors.py [ edit | delete | rename ]
[FILE] shelve.py [ edit | delete | rename ]
[FILE] shlex.py [ edit | delete | rename ]
[FILE] shutil.py [ edit | delete | rename ]
[FILE] signal.py [ edit | delete | rename ]
[FILE] site.py [ edit | delete | rename ]
[FILE] sitecustomize.py [ edit | delete | rename ]
[FILE] smtpd.py [ edit | delete | rename ]
[FILE] smtplib.py [ edit | delete | rename ]
[FILE] sndhdr.py [ edit | delete | rename ]
[FILE] socket.py [ edit | delete | rename ]
[FILE] socketserver.py [ edit | delete | rename ]
[FILE] sre_compile.py [ edit | delete | rename ]
[FILE] sre_constants.py [ edit | delete | rename ]
[FILE] sre_parse.py [ edit | delete | rename ]
[FILE] ssl.py [ edit | delete | rename ]
[FILE] stat.py [ edit | delete | rename ]
[FILE] statistics.py [ edit | delete | rename ]
[FILE] string.py [ edit | delete | rename ]
[FILE] stringprep.py [ edit | delete | rename ]
[FILE] struct.py [ edit | delete | rename ]
[FILE] subprocess.py [ edit | delete | rename ]
[FILE] sunau.py [ edit | delete | rename ]
[FILE] symtable.py [ edit | delete | rename ]
[FILE] sysconfig.py [ edit | delete | rename ]
[FILE] tabnanny.py [ edit | delete | rename ]
[FILE] tarfile.py [ edit | delete | rename ]
[FILE] telnetlib.py [ edit | delete | rename ]
[FILE] tempfile.py [ edit | delete | rename ]
[FILE] textwrap.py [ edit | delete | rename ]
[FILE] this.py [ edit | delete | rename ]
[FILE] threading.py [ edit | delete | rename ]
[FILE] timeit.py [ edit | delete | rename ]
[FILE] token.py [ edit | delete | rename ]
[FILE] tokenize.py [ edit | delete | rename ]
[FILE] trace.py [ edit | delete | rename ]
[FILE] traceback.py [ edit | delete | rename ]
[FILE] tracemalloc.py [ edit | delete | rename ]
[FILE] tty.py [ edit | delete | rename ]
[FILE] turtle.py [ edit | delete | rename ]
[FILE] types.py [ edit | delete | rename ]
[FILE] typing.py [ edit | delete | rename ]
[FILE] uu.py [ edit | delete | rename ]
[FILE] uuid.py [ edit | delete | rename ]
[FILE] warnings.py [ edit | delete | rename ]
[FILE] wave.py [ edit | delete | rename ]
[FILE] weakref.py [ edit | delete | rename ]
[FILE] webbrowser.py [ edit | delete | rename ]
[FILE] xdrlib.py [ edit | delete | rename ]
[FILE] zipapp.py [ edit | delete | rename ]
[FILE] zipfile.py [ edit | delete | rename ]
[FILE] zipimport.py [ edit | delete | rename ]
[FILE] _aix_support.py [ edit | delete | rename ]
[FILE] _bootsubprocess.py [ edit | delete | rename ]
[FILE] _collections_abc.py [ edit | delete | rename ]
[FILE] _compat_pickle.py [ edit | delete | rename ]
[FILE] _compression.py [ edit | delete | rename ]
[FILE] _distutils_system_mod.py [ edit | delete | rename ]
[FILE] _markupbase.py [ edit | delete | rename ]
[FILE] _osx_support.py [ edit | delete | rename ]
[FILE] _pydecimal.py [ edit | delete | rename ]
[FILE] _pyio.py [ edit | delete | rename ]
[FILE] _py_abc.py [ edit | delete | rename ]
[FILE] _sitebuiltins.py [ edit | delete | rename ]
[FILE] _strptime.py [ edit | delete | rename ]
[FILE] _sysconfigdata__linux_x86_64-linux-gnu.py [ edit | delete | rename ]
[FILE] _sysconfigdata__x86_64-linux-gnu.py [ edit | delete | rename ]
[FILE] _threading_local.py [ edit | delete | rename ]
[FILE] _weakrefset.py [ edit | delete | rename ]
[FILE] __future__.py [ edit | delete | rename ]
[FILE] __phello__.foo.py [ edit | delete | rename ]

Viewing: /snap/core22/2955/usr/lib/python3.10/stat.py

"""Constants/functions for interpreting results of os.stat() and os.lstat().

Suggested usage: from stat import *
"""

# Indices for stat struct members in the tuple returned by os.stat()

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

# Extract bits from the mode

def S_IMODE(mode):
    """Return the portion of the file's mode that can be set by
    os.chmod().
    """
    return mode & 0o7777

def S_IFMT(mode):
    """Return the portion of the file's mode that describes the
    file type.
    """
    return mode & 0o170000

# Constants used as S_IFMT() for various file types
# (not all are implemented on all systems)

S_IFDIR  = 0o040000  # directory
S_IFCHR  = 0o020000  # character device
S_IFBLK  = 0o060000  # block device
S_IFREG  = 0o100000  # regular file
S_IFIFO  = 0o010000  # fifo (named pipe)
S_IFLNK  = 0o120000  # symbolic link
S_IFSOCK = 0o140000  # socket file
# Fallbacks for uncommon platform-specific constants
S_IFDOOR = 0
S_IFPORT = 0
S_IFWHT = 0

# Functions to test for each file type

def S_ISDIR(mode):
    """Return True if mode is from a directory."""
    return S_IFMT(mode) == S_IFDIR

def S_ISCHR(mode):
    """Return True if mode is from a character special device file."""
    return S_IFMT(mode) == S_IFCHR

def S_ISBLK(mode):
    """Return True if mode is from a block special device file."""
    return S_IFMT(mode) == S_IFBLK

def S_ISREG(mode):
    """Return True if mode is from a regular file."""
    return S_IFMT(mode) == S_IFREG

def S_ISFIFO(mode):
    """Return True if mode is from a FIFO (named pipe)."""
    return S_IFMT(mode) == S_IFIFO

def S_ISLNK(mode):
    """Return True if mode is from a symbolic link."""
    return S_IFMT(mode) == S_IFLNK

def S_ISSOCK(mode):
    """Return True if mode is from a socket."""
    return S_IFMT(mode) == S_IFSOCK

def S_ISDOOR(mode):
    """Return True if mode is from a door."""
    return False

def S_ISPORT(mode):
    """Return True if mode is from an event port."""
    return False

def S_ISWHT(mode):
    """Return True if mode is from a whiteout."""
    return False

# Names for permission bits

S_ISUID = 0o4000  # set UID bit
S_ISGID = 0o2000  # set GID bit
S_ENFMT = S_ISGID # file locking enforcement
S_ISVTX = 0o1000  # sticky bit
S_IREAD = 0o0400  # Unix V7 synonym for S_IRUSR
S_IWRITE = 0o0200 # Unix V7 synonym for S_IWUSR
S_IEXEC = 0o0100  # Unix V7 synonym for S_IXUSR
S_IRWXU = 0o0700  # mask for owner permissions
S_IRUSR = 0o0400  # read by owner
S_IWUSR = 0o0200  # write by owner
S_IXUSR = 0o0100  # execute by owner
S_IRWXG = 0o0070  # mask for group permissions
S_IRGRP = 0o0040  # read by group
S_IWGRP = 0o0020  # write by group
S_IXGRP = 0o0010  # execute by group
S_IRWXO = 0o0007  # mask for others (not in group) permissions
S_IROTH = 0o0004  # read by others
S_IWOTH = 0o0002  # write by others
S_IXOTH = 0o0001  # execute by others

# Names for file flags

UF_NODUMP    = 0x00000001  # do not dump file
UF_IMMUTABLE = 0x00000002  # file may not be changed
UF_APPEND    = 0x00000004  # file may only be appended to
UF_OPAQUE    = 0x00000008  # directory is opaque when viewed through a union stack
UF_NOUNLINK  = 0x00000010  # file may not be renamed or deleted
UF_COMPRESSED = 0x00000020 # OS X: file is hfs-compressed
UF_HIDDEN    = 0x00008000  # OS X: file should not be displayed
SF_ARCHIVED  = 0x00010000  # file may be archived
SF_IMMUTABLE = 0x00020000  # file may not be changed
SF_APPEND    = 0x00040000  # file may only be appended to
SF_NOUNLINK  = 0x00100000  # file may not be renamed or deleted
SF_SNAPSHOT  = 0x00200000  # file is a snapshot file


_filemode_table = (
    ((S_IFLNK,         "l"),
     (S_IFSOCK,        "s"),  # Must appear before IFREG and IFDIR as IFSOCK == IFREG | IFDIR
     (S_IFREG,         "-"),
     (S_IFBLK,         "b"),
     (S_IFDIR,         "d"),
     (S_IFCHR,         "c"),
     (S_IFIFO,         "p")),

    ((S_IRUSR,         "r"),),
    ((S_IWUSR,         "w"),),
    ((S_IXUSR|S_ISUID, "s"),
     (S_ISUID,         "S"),
     (S_IXUSR,         "x")),

    ((S_IRGRP,         "r"),),
    ((S_IWGRP,         "w"),),
    ((S_IXGRP|S_ISGID, "s"),
     (S_ISGID,         "S"),
     (S_IXGRP,         "x")),

    ((S_IROTH,         "r"),),
    ((S_IWOTH,         "w"),),
    ((S_IXOTH|S_ISVTX, "t"),
     (S_ISVTX,         "T"),
     (S_IXOTH,         "x"))
)

def filemode(mode):
    """Convert a file's mode to a string of the form '-rwxrwxrwx'."""
    perm = []
    for table in _filemode_table:
        for bit, char in table:
            if mode & bit == bit:
                perm.append(char)
                break
        else:
            perm.append("-")
    return "".join(perm)


# Windows FILE_ATTRIBUTE constants for interpreting os.stat()'s
# "st_file_attributes" member

FILE_ATTRIBUTE_ARCHIVE = 32
FILE_ATTRIBUTE_COMPRESSED = 2048
FILE_ATTRIBUTE_DEVICE = 64
FILE_ATTRIBUTE_DIRECTORY = 16
FILE_ATTRIBUTE_ENCRYPTED = 16384
FILE_ATTRIBUTE_HIDDEN = 2
FILE_ATTRIBUTE_INTEGRITY_STREAM = 32768
FILE_ATTRIBUTE_NORMAL = 128
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 8192
FILE_ATTRIBUTE_NO_SCRUB_DATA = 131072
FILE_ATTRIBUTE_OFFLINE = 4096
FILE_ATTRIBUTE_READONLY = 1
FILE_ATTRIBUTE_REPARSE_POINT = 1024
FILE_ATTRIBUTE_SPARSE_FILE = 512
FILE_ATTRIBUTE_SYSTEM = 4
FILE_ATTRIBUTE_TEMPORARY = 256
FILE_ATTRIBUTE_VIRTUAL = 65536


# If available, use C implementation
try:
    from _stat import *
except ImportError:
    pass

Upload File: