diff --git a/stdlib/stat.pyi b/stdlib/stat.pyi index f49ff711d..2cc2ff777 100644 --- a/stdlib/stat.pyi +++ b/stdlib/stat.pyi @@ -1,4 +1,5 @@ import sys +from typing_extensions import Literal def S_ISDIR(mode: int) -> bool: ... def S_ISCHR(mode: int) -> bool: ... @@ -14,81 +15,84 @@ def S_ISPORT(mode: int) -> int: ... def S_ISWHT(mode: int) -> int: ... def filemode(mode: int) -> str: ... -ST_MODE: int -ST_INO: int -ST_DEV: int -ST_NLINK: int -ST_UID: int -ST_GID: int -ST_SIZE: int -ST_ATIME: int -ST_MTIME: int -ST_CTIME: int +ST_MODE: Literal[0] +ST_INO: Literal[1] +ST_DEV: Literal[2] +ST_NLINK: Literal[3] +ST_UID: Literal[4] +ST_GID: Literal[5] +ST_SIZE: Literal[6] +ST_ATIME: Literal[7] +ST_MTIME: Literal[8] +ST_CTIME: Literal[9] -S_IFSOCK: int -S_IFLNK: int -S_IFREG: int -S_IFBLK: int -S_IFDIR: int -S_IFCHR: int -S_IFIFO: int -S_IFDOOR: int -S_IFPORT: int -S_IFWHT: int -S_ISUID: int -S_ISGID: int -S_ISVTX: int +S_IFIFO: Literal[0o010000] +S_IFLNK: Literal[0o120000] +S_IFREG: Literal[0o100000] +S_IFSOCK: Literal[0o140000] +S_IFBLK: Literal[0o060000] +S_IFCHR: Literal[0o020000] +S_IFDIR: Literal[0o040000] -S_IRWXU: int -S_IRUSR: int -S_IWUSR: int -S_IXUSR: int +S_IFDOOR: Literal[0] +S_IFPORT: Literal[0] +S_IFWHT: Literal[0] -S_IRWXG: int -S_IRGRP: int -S_IWGRP: int -S_IXGRP: int +S_ISUID: Literal[0o4000] +S_ISGID: Literal[0o2000] +S_ISVTX: Literal[0o1000] -S_IRWXO: int -S_IROTH: int -S_IWOTH: int -S_IXOTH: int +S_IRWXU: Literal[0o0700] +S_IRUSR: Literal[0o0400] +S_IWUSR: Literal[0o0200] +S_IXUSR: Literal[0o0100] -S_ENFMT: int -S_IREAD: int -S_IWRITE: int -S_IEXEC: int +S_IRWXG: Literal[0o0070] +S_IRGRP: Literal[0o0040] +S_IWGRP: Literal[0o0020] +S_IXGRP: Literal[0o0010] -UF_NODUMP: int -UF_IMMUTABLE: int -UF_APPEND: int -UF_OPAQUE: int -UF_NOUNLINK: int -UF_COMPRESSED: int # OS X 10.6+ only -UF_HIDDEN: int # OX X 10.5+ only -SF_ARCHIVED: int -SF_IMMUTABLE: int -SF_APPEND: int -SF_NOUNLINK: int -SF_SNAPSHOT: int +S_IRWXO: Literal[0o0007] +S_IROTH: Literal[0o0004] +S_IWOTH: Literal[0o0002] +S_IXOTH: Literal[0o0001] -FILE_ATTRIBUTE_ARCHIVE: int -FILE_ATTRIBUTE_COMPRESSED: int -FILE_ATTRIBUTE_DEVICE: int -FILE_ATTRIBUTE_DIRECTORY: int -FILE_ATTRIBUTE_ENCRYPTED: int -FILE_ATTRIBUTE_HIDDEN: int -FILE_ATTRIBUTE_INTEGRITY_STREAM: int -FILE_ATTRIBUTE_NORMAL: int -FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: int -FILE_ATTRIBUTE_NO_SCRUB_DATA: int -FILE_ATTRIBUTE_OFFLINE: int -FILE_ATTRIBUTE_READONLY: int -FILE_ATTRIBUTE_REPARSE_POINT: int -FILE_ATTRIBUTE_SPARSE_FILE: int -FILE_ATTRIBUTE_SYSTEM: int -FILE_ATTRIBUTE_TEMPORARY: int -FILE_ATTRIBUTE_VIRTUAL: int +S_ENFMT: Literal[0o2000] +S_IREAD: Literal[0o0400] +S_IWRITE: Literal[0o0200] +S_IEXEC: Literal[0o0100] + +UF_APPEND: Literal[0x00000004] +UF_COMPRESSED: Literal[0x00000020] # OS X 10.6+ only +UF_HIDDEN: Literal[0x00008000] # OX X 10.5+ only +UF_IMMUTABLE: Literal[0x00000002] +UF_NODUMP: Literal[0x00000001] +UF_NOUNLINK: Literal[0x00000010] +UF_OPAQUE: Literal[0x00000008] + +SF_APPEND: Literal[0x00040000] +SF_ARCHIVED: Literal[0x00010000] +SF_IMMUTABLE: Literal[0x00020000] +SF_NOUNLINK: Literal[0x00100000] +SF_SNAPSHOT: Literal[0x00200000] + +FILE_ATTRIBUTE_ARCHIVE: Literal[32] +FILE_ATTRIBUTE_COMPRESSED: Literal[2048] +FILE_ATTRIBUTE_DEVICE: Literal[64] +FILE_ATTRIBUTE_DIRECTORY: Literal[16] +FILE_ATTRIBUTE_ENCRYPTED: Literal[16384] +FILE_ATTRIBUTE_HIDDEN: Literal[2] +FILE_ATTRIBUTE_INTEGRITY_STREAM: Literal[32768] +FILE_ATTRIBUTE_NORMAL: Literal[128] +FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: Literal[8192] +FILE_ATTRIBUTE_NO_SCRUB_DATA: Literal[131072] +FILE_ATTRIBUTE_OFFLINE: Literal[4096] +FILE_ATTRIBUTE_READONLY: Literal[1] +FILE_ATTRIBUTE_REPARSE_POINT: Literal[1024] +FILE_ATTRIBUTE_SPARSE_FILE: Literal[512] +FILE_ATTRIBUTE_SYSTEM: Literal[4] +FILE_ATTRIBUTE_TEMPORARY: Literal[256] +FILE_ATTRIBUTE_VIRTUAL: Literal[65536] if sys.platform == "win32" and sys.version_info >= (3, 8): IO_REPARSE_TAG_SYMLINK: int