游雁
2024-11-01 53a06e3c1a3ceee769ac3d69510cdcdc26736652
fix(register): 修改注册重复键值的处理方式

更新注册系统,在尝试注册已存在的键值时,从抛出异常改为打印提示信息并重新注册。
2个文件已修改
8 ■■■■ 已修改文件
funasr/register.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/version.txt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/register.py
@@ -3,9 +3,11 @@
from dataclasses import dataclass
import re
@dataclass
class RegisterTables:
    """Registry system for classes."""
    model_classes = {}
    frontend_classes = {}
    specaug_classes = {}
@@ -46,6 +48,7 @@
    def register(self, register_tables_key: str, key: str = None) -> callable:
        """Decorator to register a class."""
        def decorator(target_class):
            if not hasattr(self, register_tables_key):
                setattr(self, register_tables_key, {})
@@ -55,7 +58,7 @@
            registry_key = key if key is not None else target_class.__name__
            if registry_key in registry:
                raise ValueError(f"Key {registry_key} already exists in {register_tables_key}")
                print(f"Key {registry_key} already exists in {register_tables_key}, re-register")
            registry[registry_key] = target_class
@@ -78,4 +81,5 @@
        return decorator
tables = RegisterTables()
funasr/version.txt
@@ -1 +1 @@
1.1.13
1.1.14