Tool Kit¤
其餘沒有分類的所有工具包都放在這裡。
tool_kit
¤
FUNCTION | DESCRIPTION |
---|---|
check_module_installed |
檢查指定的模組是否安裝,並選擇性地驗證其版本 |
setup_retry |
允許使用者修改全局預設重試配置 |
retry |
通用自動重試工具裝飾器,支援返回值緩存與全局預設配置 |
get_chrome_version_unix |
獲取 Chrome 的版本(Unix 系統) |
get_chrome_version_windows |
獲取 Chrome 的版本(Windows 系統) |
get_chrome_version |
根據操作系統獲取 Chrome 的版本 |
cleanup |
立即清除敏感資料 |
check_module_installed
¤
check_module_installed(
modules: str | list[str], version: str | list[str] | None = None, raise_error: bool = True
) -> list[str] | None
檢查指定的模組是否安裝,並選擇性地驗證其版本
PARAMETER | DESCRIPTION |
---|---|
modules
|
要檢查的模組名稱,單一模組名稱或模組名稱列表
TYPE:
|
version
|
可選的版本號,若提供,則檢查每個模組的版本是否匹配 若為單一字串,則對所有模組使用相同版本,若長度不匹配則略過後續版本比較
TYPE:
|
raise_error
|
若模組未安裝或版本不匹配,是否引發錯誤 預設為 True。若為 False,則返回報告
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
list[str] | None
|
list[str] | None: 若有問題,返回問題列表,若 |
RAISES | DESCRIPTION |
---|---|
ImportError
|
如果任何模組未安裝或不符合版本要求 |
VersionConflict
|
如果模組安裝,但版本不匹配 |
retry
¤
retry(
max_retries: int | None = None,
delay: int | float | None = None,
backoff: float = 2.0,
exceptions: tuple[type[BaseException], ...] = (Exception,),
max_duration: int | float | None = None,
alert_threshold: int | None = None,
log_func: Callable[[str], None] = print,
)
通用自動重試工具裝飾器,支援返回值緩存與全局預設配置
參數: - max_retries: 最大重試次數,若未提供則使用全局預設值 - delay: 初始延遲時間(秒),若未提供則使用全局預設值 - backoff: 指數退避係數,默認為 2.0(每次重試延遲時間翻倍) - exceptions: 捕捉並重試的異常類型,默認為 (Exception,) - max_duration: 重試總時間上限(秒),超過時間則終止重試,默認為 None - alert_threshold: 重試警戒線(次數),超過後觸發警告,默認為 None - log_func: 日誌函數,用於記錄重試信息,默認為 print
get_chrome_version_unix
¤
獲取 Chrome 的版本(Unix 系統)
get_chrome_version
¤
根據操作系統獲取 Chrome 的版本
PARAMETER | DESCRIPTION |
---|---|
system
|
操作系統,Windows、Darwin 或 Linux
TYPE:
|
chrome_path
|
Chrome 執行檔的路徑
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
str | None
|
str | None: 返回 Chrome 版本,若無法獲取則返回 None |
cleanup
¤
立即清除敏感資料
PARAMETER | DESCRIPTION |
---|---|
sensitive_data
|
敏感資料的位元組列表
TYPE:
|