|
8 | 8 | model_fields_set, |
9 | 9 | model_validator, |
10 | 10 | model_with_model_config, |
11 | | - type_dump_python, |
12 | 11 | ) |
13 | 12 | from nonebot import get_plugin |
14 | 13 | from nonebot.plugin import Plugin |
@@ -96,19 +95,6 @@ class PMNPluginExtra(CompatModel): |
96 | 95 | menu_data: list[PMDataItem] | None = None |
97 | 96 | pmn: PMNData | None = None |
98 | 97 |
|
99 | | - @model_validator(mode="before") |
100 | | - def normalize_input(cls, values: Any): # noqa: N805 |
101 | | - if isinstance(values, PMNPluginExtra): |
102 | | - values = type_dump_python(values, exclude_unset=True) |
103 | | - if not isinstance(values, dict): |
104 | | - raise TypeError(f"Expected dict, got {type(values)}") |
105 | | - should_normalize_keys = {x for x in values if x.lower() == "author"} |
106 | | - for key in should_normalize_keys: |
107 | | - value = values[key] |
108 | | - del values[key] |
109 | | - values[key.lower()] = value |
110 | | - return values |
111 | | - |
112 | 98 |
|
113 | 99 | class OptionalPMNPluginInfo(CompatModel): |
114 | 100 | name: str | None = None |
@@ -175,12 +161,14 @@ class ExternalPluginInfo(CompatModel): |
175 | 161 | pmn: ExternalPMNData = ExternalPMNData() |
176 | 162 | supported_adapters: set[str] | None = None |
177 | 163 |
|
178 | | - @model_validator(mode="after") |
179 | | - def normalize_input(cls, values: dict[str, Any]): # noqa: N805 |
| 164 | + @model_validator(mode="before") |
| 165 | + def normalize_input(cls, values: Any): # noqa: N805 |
180 | 166 | # these params cannot be explicitly none |
| 167 | + if not isinstance(values, dict): |
| 168 | + return values |
181 | 169 | for key in ("name", "funcs"): |
182 | 170 | if key in values and values[key] is None: |
183 | | - raise TypeError(f"`{key}` cannot be null") |
| 171 | + raise ValueError(f"`{key}` cannot be null") |
184 | 172 | return values |
185 | 173 |
|
186 | 174 | def has_func_override(self) -> bool: |
|
0 commit comments