config: _merge 递归 cast 消除 dict[Unknown,Unknown] 类型警告
This commit is contained in:
@@ -12,7 +12,7 @@ import argparse
|
||||
import json
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
from typing import Any, cast
|
||||
|
||||
DEFAULT_CONFIG = Path(__file__).resolve().parent / "config" / "config.json"
|
||||
|
||||
@@ -52,7 +52,10 @@ class AppConfig:
|
||||
def _merge(base: dict[str, Any], override: dict[str, Any]) -> None:
|
||||
for key, val in override.items():
|
||||
if key in base and isinstance(base[key], dict) and isinstance(val, dict):
|
||||
AppConfig._merge(base[key], val)
|
||||
# isinstance 收窄后是 dict[Unknown,Unknown], cast 回明确类型再递归
|
||||
AppConfig._merge(
|
||||
cast(dict[str, Any], base[key]), cast(dict[str, Any], val)
|
||||
)
|
||||
else:
|
||||
base[key] = val
|
||||
|
||||
|
||||
Reference in New Issue
Block a user