From 72ee50c74fece1d9da4c8df977fddd7dbf5c358e Mon Sep 17 00:00:00 2001 From: EvanYao <2869018789@qq.com> Date: Sat, 23 May 2026 17:56:36 +0800 Subject: [PATCH] refactor: add missing @override decorators to method overrides (#36501) Co-authored-by: EvanYao826 Co-authored-by: Asuka Minato Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: WH-2099 --- api/configs/remote_settings_sources/apollo/__init__.py | 3 ++- api/configs/remote_settings_sources/nacos/__init__.py | 3 ++- api/context/execution_context.py | 5 ++++- api/context/flask_app_context.py | 5 ++++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/api/configs/remote_settings_sources/apollo/__init__.py b/api/configs/remote_settings_sources/apollo/__init__.py index 55c14ead56..d017b86ad5 100644 --- a/api/configs/remote_settings_sources/apollo/__init__.py +++ b/api/configs/remote_settings_sources/apollo/__init__.py @@ -1,5 +1,5 @@ from collections.abc import Mapping -from typing import Any +from typing import Any, override from pydantic import Field from pydantic.fields import FieldInfo @@ -48,6 +48,7 @@ class ApolloSettingsSource(RemoteSettingsSource): self.namespace = configs["APOLLO_NAMESPACE"] self.remote_configs = self.client.get_all_dicts(self.namespace) + @override def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: if not isinstance(self.remote_configs, dict): raise ValueError(f"remote configs is not dict, but {type(self.remote_configs)}") diff --git a/api/configs/remote_settings_sources/nacos/__init__.py b/api/configs/remote_settings_sources/nacos/__init__.py index f3e6306753..ddef8a5f49 100644 --- a/api/configs/remote_settings_sources/nacos/__init__.py +++ b/api/configs/remote_settings_sources/nacos/__init__.py @@ -1,7 +1,7 @@ import logging import os from collections.abc import Mapping -from typing import Any +from typing import Any, override from pydantic.fields import FieldInfo @@ -41,6 +41,7 @@ class NacosSettingsSource(RemoteSettingsSource): except Exception as e: raise RuntimeError(f"Failed to parse config: {e}") + @override def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: field_value = self.remote_configs.get(field_name) if field_value is None: diff --git a/api/context/execution_context.py b/api/context/execution_context.py index e687dfc4b1..6fb3ca1971 100644 --- a/api/context/execution_context.py +++ b/api/context/execution_context.py @@ -10,7 +10,7 @@ import threading from abc import ABC, abstractmethod from collections.abc import Callable, Generator from contextlib import AbstractContextManager, contextmanager -from typing import Any, Protocol, final, runtime_checkable +from typing import Any, Protocol, final, override, runtime_checkable from pydantic import BaseModel @@ -133,10 +133,12 @@ class NullAppContext(AppContext): self._config = config or {} self._extensions: dict[str, Any] = {} + @override def get_config(self, key: str, default: Any = None) -> Any: """Get configuration value by key.""" return self._config.get(key, default) + @override def get_extension(self, name: str) -> Any: """Get extension by name.""" return self._extensions.get(name) @@ -146,6 +148,7 @@ class NullAppContext(AppContext): self._extensions[name] = extension @contextmanager + @override def enter(self) -> Generator[None, None, None]: """Enter null context (no-op).""" yield diff --git a/api/context/flask_app_context.py b/api/context/flask_app_context.py index eddd6448d8..1201bad041 100644 --- a/api/context/flask_app_context.py +++ b/api/context/flask_app_context.py @@ -6,7 +6,7 @@ import contextvars import threading from collections.abc import Generator from contextlib import contextmanager -from typing import Any, final +from typing import Any, final, override from flask import Flask, current_app, g @@ -30,15 +30,18 @@ class FlaskAppContext(AppContext): """ self._flask_app = flask_app + @override def get_config(self, key: str, default: Any = None) -> Any: """Get configuration value from Flask app config.""" return self._flask_app.config.get(key, default) + @override def get_extension(self, name: str) -> Any: """Get Flask extension by name.""" return self._flask_app.extensions.get(name) @contextmanager + @override def enter(self) -> Generator[None, None, None]: """Enter Flask app context.""" with self._flask_app.app_context():