alkaid_release_platform/database/black.py
ekko.bao 0a0f6a6054 初次创建仓库提交代码
1. 已经构建好了架子了。
2. 添加了示例的插件
2025-04-21 06:37:06 +00:00

120 lines
2.8 KiB
Python

from functools import wraps
import sys, os
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
import core.logger as logger
log = logger.get_logger()
from database.base import BaseConfig, AutoInstanceDecorator
from database.dirs import CheckDirAliasDecorator
from database.common import *
def BlackListUpdateRemoveDecorator(cls:BaseConfig):
"""黑名单更新装饰器:对于黑名单来说更新配置就是将默认的黑名单里面的项目删除
Args:
cls: 被装饰的类
Returns:
cls: 装饰后的类
"""
cls.update_from_extra = cls.remove
return cls
@AutoInstanceDecorator
@BlackListUpdateRemoveDecorator
class ProjectBlackList(BaseConfig):
_config = [
"project/tools/codesize",
"project/image/codesize",
]
def check(self) -> bool:
for item in self._list:
if not check_file_exists(item):
log.warning(f"path {item} not exists")
return True
@AutoInstanceDecorator
@CheckDirAliasDecorator
@BlackListUpdateRemoveDecorator
class BlackListDefault(BaseConfig):
"""BLACK_LIST_DEFAULT
"""
_config = [
"mi_ai",
"mi_ao",
"mi_aio",
"mi_alsa",
"mi_cipher",
"mi_common",
"mi_cus3a",
"mi_debug",
"mi_dummy",
"mi_disp",
"mi_dpu",
"mi_dsp",
"mi_fb",
"mi_gfx",
"mi_hdmi",
"mi_hdmirx",
"mi_hvp",
"mi_ipu",
"mi_iqserver",
"mi_ive",
"mi_jpd",
"mi_mipitx",
"mi_nir",
"mi_panel",
"mi_pcie",
"mi_pspi",
"mi_rgn",
"mi_scl",
"mi_sed",
"mi_sensor",
"mi_shadow",
"sdk/impl/sys/",
"mi_vdec",
"mi_vdf",
"sdk/interface/src/vcodec/",
"mi_vdisp",
"mi_wlan",
"dualos",
"otp",
"usb_gadget_udc_usb30",
"freertos",
"context_switch",
"lh_monitor",
"pm_mhal_pm_default",
"pm_mhal_pm_aio",
"pm_mhal_pm_idle",
"pm_mhal_pm_jpe",
"pm_mhal_pm_md",
"pm_mhal_pm_radar",
"pm_mhal_pm_usbpoc",
"pm_mhal_pm_vif",
"pm_mhal_pm_usb_gadget_udc_usb30",
]
@AutoInstanceDecorator
@BlackListUpdateRemoveDecorator
@CheckDirAliasDecorator
class BlackListInternal(BaseConfig):
"""BLACK_LIST_INTERNAL
"""
_config = [
"mi_isp",
"mi_ispalgo",
"mi_ldc",
"mi_venc",
"mi_vif",
"pm_mhal_pm_isp",
"pm_mhal_pm_ispalgo",
"pm_mhal_pm_radar_algo",
]
@AutoInstanceDecorator
@BlackListUpdateRemoveDecorator
class DemoBlackList(BaseConfig):
"""verify 目录下面的黑名单,不允许被 release 出去
"""
_config = [
"sdk/verify/mi_demo/source/ipu",
"sdk/verify/vectorcast",
]