From 40feb607c18b1c9dd4415bd858d92c48d7ad973a Mon Sep 17 00:00:00 2001 From: Junyan Qin Date: Wed, 2 Jul 2025 15:40:21 +0800 Subject: [PATCH] fix: type static check errors --- api/controllers/console/workspace/plugin.py | 27 +++++++++---------- .../plugin/plugin_auto_upgrade_service.py | 2 +- ...ss_tenant_plugin_autoupgrade_check_task.py | 17 +++++++----- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/api/controllers/console/workspace/plugin.py b/api/controllers/console/workspace/plugin.py index e998a8fbe6..2875ccc6de 100644 --- a/api/controllers/console/workspace/plugin.py +++ b/api/controllers/console/workspace/plugin.py @@ -598,29 +598,26 @@ class PluginFetchPreferencesApi(Resource): tenant_id = current_user.current_tenant_id permission = PluginPermissionService.get_permission(tenant_id) + permission_dict = { + "install_permission": TenantPluginPermission.InstallPermission.EVERYONE, + "debug_permission": TenantPluginPermission.DebugPermission.EVERYONE, + } - if not permission: - permission = { - "install_permission": TenantPluginPermission.InstallPermission.EVERYONE, - "debug_permission": TenantPluginPermission.DebugPermission.EVERYONE, - } - else: - permission = { - "install_permission": permission.install_permission, - "debug_permission": permission.debug_permission, - } + if permission: + permission_dict["install_permission"] = permission.install_permission + permission_dict["debug_permission"] = permission.debug_permission auto_upgrade = PluginAutoUpgradeService.get_strategy(tenant_id) - if not auto_upgrade: - auto_upgrade = { + auto_upgrade_dict = { "strategy_setting": TenantPluginAutoUpgradeStrategy.StrategySetting.FIX_ONLY, "upgrade_time_of_day": 0, "upgrade_mode": TenantPluginAutoUpgradeStrategy.UpgradeMode.EXCLUDE, "exclude_plugins": [], "include_plugins": [], } - else: - auto_upgrade = { + + if auto_upgrade: + auto_upgrade_dict = { "strategy_setting": auto_upgrade.strategy_setting, "upgrade_time_of_day": auto_upgrade.upgrade_time_of_day, "upgrade_mode": auto_upgrade.upgrade_mode, @@ -628,7 +625,7 @@ class PluginFetchPreferencesApi(Resource): "include_plugins": auto_upgrade.include_plugins, } - return jsonable_encoder({"permission": permission, "auto_upgrade": auto_upgrade}) + return jsonable_encoder({"permission": permission_dict, "auto_upgrade": auto_upgrade_dict}) class PluginAutoUpgradeExcludePluginApi(Resource): diff --git a/api/services/plugin/plugin_auto_upgrade_service.py b/api/services/plugin/plugin_auto_upgrade_service.py index d05292a4bc..3774050445 100644 --- a/api/services/plugin/plugin_auto_upgrade_service.py +++ b/api/services/plugin/plugin_auto_upgrade_service.py @@ -22,7 +22,7 @@ class PluginAutoUpgradeService: upgrade_mode: TenantPluginAutoUpgradeStrategy.UpgradeMode, exclude_plugins: list[str], include_plugins: list[str], - ) -> None: + ) -> bool: with Session(db.engine) as session: exist_strategy = ( session.query(TenantPluginAutoUpgradeStrategy) diff --git a/api/tasks/process_tenant_plugin_autoupgrade_check_task.py b/api/tasks/process_tenant_plugin_autoupgrade_check_task.py index fc01b33f4e..42484814fe 100644 --- a/api/tasks/process_tenant_plugin_autoupgrade_check_task.py +++ b/api/tasks/process_tenant_plugin_autoupgrade_check_task.py @@ -1,7 +1,8 @@ import traceback +import typing import click -from celery import shared_task +from celery import shared_task # type: ignore from core.helper import marketplace from core.helper.marketplace import MarketplacePluginDeclaration @@ -12,7 +13,7 @@ from models.account import TenantPluginAutoUpgradeStrategy RETRY_TIMES_OF_ONE_PLUGIN_IN_ONE_TENANT = 3 -cached_plugin_manifests: dict[str, MarketplacePluginDeclaration] = {} +cached_plugin_manifests: dict[str, typing.Union[MarketplacePluginDeclaration, None]] = {} def marketplace_batch_fetch_plugin_manifests( @@ -34,11 +35,13 @@ def marketplace_batch_fetch_plugin_manifests( for plugin_id in not_included_plugin_ids: cached_plugin_manifests[plugin_id] = None - return [ - cached_plugin_manifests[plugin_id] - for plugin_id in plugin_ids_plain_list - if cached_plugin_manifests[plugin_id] is not None - ] + result: list[MarketplacePluginDeclaration] = [] + for plugin_id in plugin_ids_plain_list: + final_manifest = cached_plugin_manifests.get(plugin_id) + if final_manifest is not None: + result.append(final_manifest) + + return result @shared_task(queue="plugin")