Todo: 集成多平台 解决因SaiNiu线程抢占资源问题 本地提交测试环境打包 和 正式打包脚本与正式环境打包bat 提交Python32环境包 改进多日志文件生成情况修改打包日志细节
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import shutil
|
||||
import sys
|
||||
from typing import TYPE_CHECKING, Any, Callable
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from _typeshed import ExcInfo, StrOrBytesPath
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
# Same as shutil._OnExcCallback from typeshed
|
||||
_OnExcCallback: TypeAlias = Callable[[Callable[..., Any], str, BaseException], object]
|
||||
|
||||
|
||||
def shutil_rmtree(
|
||||
path: StrOrBytesPath,
|
||||
ignore_errors: bool = False,
|
||||
onexc: _OnExcCallback | None = None,
|
||||
) -> None:
|
||||
if sys.version_info >= (3, 12):
|
||||
return shutil.rmtree(path, ignore_errors, onexc=onexc)
|
||||
|
||||
def _handler(fn: Callable[..., Any], path: str, excinfo: ExcInfo) -> None:
|
||||
if onexc:
|
||||
onexc(fn, path, excinfo[1])
|
||||
|
||||
return shutil.rmtree(path, ignore_errors, onerror=_handler)
|
||||
Reference in New Issue
Block a user