fix: 修复 Windows 兼容性问题
- 修复 setup.py 中 README.md 读取的编码问题 (UTF-8) - 修复 system.py 中 errno 常量在 Windows 上不存在的问题 - 使用 getattr 安全获取平台特定的 errno 常量 - 测试全部通过 (24/24 能力可用)
This commit is contained in:
1 parent
0f9b6fcc5d
commit
b3d75f8cc2
8 files changed
+708
-38
No files matched your search
@@ -80,7 +80,7 @@ class OsConstants(Stub):
|
||||
SIGTTIN = 21
|
||||
SIGTTOU = 22
|
||||
|
||||
# errno 常量
|
||||
# errno 常量 (使用 getattr 处理 Windows 上不存在的常量)
|
||||
EPERM = errno.EPERM
|
||||
ENOENT = errno.ENOENT
|
||||
ESRCH = errno.ESRCH
|
||||
@@ -95,7 +95,7 @@ class OsConstants(Stub):
|
||||
ENOMEM = errno.ENOMEM
|
||||
EACCES = errno.EACCES
|
||||
EFAULT = errno.EFAULT
|
||||
ENOTBLK = errno.ENOTBLK
|
||||
ENOTBLK = getattr(errno, 'ENOTBLK', 15) # Windows 不支持
|
||||
EBUSY = errno.EBUSY
|
||||
EEXIST = errno.EEXIST
|
||||
EXDEV = errno.EXDEV
|
||||
@@ -106,7 +106,7 @@ class OsConstants(Stub):
|
||||
ENFILE = errno.ENFILE
|
||||
EMFILE = errno.EMFILE
|
||||
ENOTTY = errno.ENOTTY
|
||||
ETXTBSY = errno.ETXTBSY
|
||||
ETXTBSY = getattr(errno, 'ETXTBSY', 139)
|
||||
EFBIG = errno.EFBIG
|
||||
ENOSPC = errno.ENOSPC
|
||||
ESPIPE = errno.ESPIPE
|
||||
@@ -123,16 +123,16 @@ class OsConstants(Stub):
|
||||
ELOOP = errno.ELOOP
|
||||
ENOMSG = errno.ENOMSG
|
||||
EIDRM = errno.EIDRM
|
||||
ENOSTR = errno.ENOSTR
|
||||
ENODATA = errno.ENODATA
|
||||
ETIME = errno.ETIME
|
||||
ENOSR = errno.ENOSR
|
||||
EREMOTE = errno.EREMOTE
|
||||
ENOLINK = errno.ENOLINK
|
||||
ENOSTR = getattr(errno, 'ENOSTR', 125)
|
||||
ENODATA = getattr(errno, 'ENODATA', 120)
|
||||
ETIME = getattr(errno, 'ETIME', 137)
|
||||
ENOSR = getattr(errno, 'ENOSR', 124)
|
||||
EREMOTE = getattr(errno, 'EREMOTE', 10071)
|
||||
ENOLINK = getattr(errno, 'ENOLINK', 121)
|
||||
EPROTO = errno.EPROTO
|
||||
EMULTIHOP = errno.EMULTIHOP
|
||||
EBADMSG = errno.EBADMSG
|
||||
EOVERFLOW = errno.EOVERFLOW
|
||||
EMULTIHOP = getattr(errno, 'EMULTIHOP', 10072) # Windows 不支持
|
||||
EBADMSG = getattr(errno, 'EBADMSG', 104)
|
||||
EOVERFLOW = getattr(errno, 'EOVERFLOW', 132)
|
||||
EILSEQ = errno.EILSEQ
|
||||
ENOTSOCK = errno.ENOTSOCK
|
||||
EDESTADDRREQ = errno.EDESTADDRREQ
|
||||
@@ -140,10 +140,10 @@ class OsConstants(Stub):
|
||||
EPROTOTYPE = errno.EPROTOTYPE
|
||||
ENOPROTOOPT = errno.ENOPROTOOPT
|
||||
EPROTONOSUPPORT = errno.EPROTONOSUPPORT
|
||||
ESOCKTNOSUPPORT = errno.ESOCKTNOSUPPORT
|
||||
EOPNOTSUPP = errno.EOPNOTSUPP
|
||||
EPFNOSUPPORT = errno.EPFNOSUPPORT
|
||||
EAFNOSUPPORT = errno.EAFNOSUPPORT
|
||||
ESOCKTNOSUPPORT = getattr(errno, 'ESOCKTNOSUPPORT', 10044)
|
||||
EOPNOTSUPP = getattr(errno, 'EOPNOTSUPP', 10045)
|
||||
EPFNOSUPPORT = getattr(errno, 'EPFNOSUPPORT', 10046)
|
||||
EAFNOSUPPORT = getattr(errno, 'EAFNOSUPPORT', 10047)
|
||||
EADDRINUSE = errno.EADDRINUSE
|
||||
EADDRNOTAVAIL = errno.EADDRNOTAVAIL
|
||||
ENETDOWN = errno.ENETDOWN
|
||||
@@ -154,32 +154,32 @@ class OsConstants(Stub):
|
||||
ENOBUFS = errno.ENOBUFS
|
||||
EISCONN = errno.EISCONN
|
||||
ENOTCONN = errno.ENOTCONN
|
||||
ESHUTDOWN = errno.ESHUTDOWN
|
||||
ETOOMANYREFS = errno.ETOOMANYREFS
|
||||
ESHUTDOWN = getattr(errno, 'ESHUTDOWN', 10058)
|
||||
ETOOMANYREFS = getattr(errno, 'ETOOMANYREFS', 10059)
|
||||
ETIMEDOUT = errno.ETIMEDOUT
|
||||
ECONNREFUSED = errno.ECONNREFUSED
|
||||
EHOSTDOWN = errno.EHOSTDOWN
|
||||
EHOSTDOWN = getattr(errno, 'EHOSTDOWN', 10064)
|
||||
EHOSTUNREACH = errno.EHOSTUNREACH
|
||||
EALREADY = errno.EALREADY
|
||||
EINPROGRESS = errno.EINPROGRESS
|
||||
ESTALE = errno.ESTALE
|
||||
EUCLEAN = errno.EUCLEAN
|
||||
ENOTNAM = errno.ENOTNAM
|
||||
ENAVAIL = errno.ENAVAIL
|
||||
EISNAM = errno.EISNAM
|
||||
EREMOTEIO = errno.EREMOTEIO
|
||||
EDQUOT = errno.EDQUOT
|
||||
ENOMEDIUM = errno.ENOMEDIUM
|
||||
EMEDIUMTYPE = errno.EMEDIUMTYPE
|
||||
ECANCELED = errno.ECANCELED
|
||||
ENOKEY = errno.ENOKEY
|
||||
EKEYEXPIRED = errno.EKEYEXPIRED
|
||||
EKEYREVOKED = errno.EKEYREVOKED
|
||||
EKEYREJECTED = errno.EKEYREJECTED
|
||||
EOWNERDEAD = errno.EOWNERDEAD
|
||||
ENOTRECOVERABLE = errno.ENOTRECOVERABLE
|
||||
ERFKILL = errno.ERFKILL
|
||||
EHWPOISON = getattr(errno, 'EHWPOISON', 1001)
|
||||
ESTALE = getattr(errno, 'ESTALE', 10070)
|
||||
EUCLEAN = getattr(errno, 'EUCLEAN', 117) # Windows 不支持
|
||||
ENOTNAM = getattr(errno, 'ENOTNAM', 118) # Windows 不支持
|
||||
ENAVAIL = getattr(errno, 'ENAVAIL', 119) # Windows 不支持
|
||||
EISNAM = getattr(errno, 'EISNAM', 120) # Windows 不支持
|
||||
EREMOTEIO = getattr(errno, 'EREMOTEIO', 121) # Windows 不支持
|
||||
EDQUOT = getattr(errno, 'EDQUOT', 10069)
|
||||
ENOMEDIUM = getattr(errno, 'ENOMEDIUM', 123) # Windows 不支持
|
||||
EMEDIUMTYPE = getattr(errno, 'EMEDIUMTYPE', 124) # Windows 不支持
|
||||
ECANCELED = getattr(errno, 'ECANCELED', 105)
|
||||
ENOKEY = getattr(errno, 'ENOKEY', 126) # Windows 不支持
|
||||
EKEYEXPIRED = getattr(errno, 'EKEYEXPIRED', 127) # Windows 不支持
|
||||
EKEYREVOKED = getattr(errno, 'EKEYREVOKED', 128) # Windows 不支持
|
||||
EKEYREJECTED = getattr(errno, 'EKEYREJECTED', 129) # Windows 不支持
|
||||
EOWNERDEAD = getattr(errno, 'EOWNERDEAD', 133)
|
||||
ENOTRECOVERABLE = getattr(errno, 'ENOTRECOVERABLE', 127)
|
||||
ERFKILL = getattr(errno, 'ERFKILL', 132) # Windows 不支持
|
||||
EHWPOISON = getattr(errno, 'EHWPOISON', 1001) # Windows 不支持
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
Reference in new issue
Block a user