config.processor.rtoml ====================== .. py:module:: config.processor.rtoml .. autoapi-nested-parse:: 基于rtoml的TOML格式处理器" .. versionadded:: 0.3.0 Classes ------- .. autoapisummary:: config.processor.rtoml.RTomlSL Module Contents --------------- .. py:class:: RTomlSL(s_arg: config.abc.SLArgumentType = None, l_arg: config.abc.SLArgumentType = None, *, reg_alias: str | None = None, create_dir: bool = True) Bases: :py:obj:`config.main.BasicLocalFileConfigSL` 基于rtoml的TOML格式处理器 :param s_arg: 保存器默认参数 :type s_arg: SLArgumentType :param l_arg: 加载器默认参数 :type l_arg: SLArgumentType :param reg_alias: sl处理器注册别名 :type reg_alias: Optional[str] :param create_dir: 是否允许创建目录 :type create_dir: bool .. versionchanged:: 0.2.0 将 ``保存加载器参数`` 相关从 :py:class:`BasicConfigSL` 移动到此类 .. py:method:: __eq__(other: Any) -> bool .. py:method:: __hash__() -> int .. py:method:: initialize(processor_pool: config.abc.ABCSLProcessorPool, root_path: str, namespace: str, file_name: str, *args: Any, **kwargs: Any) -> config.abc.ABCConfigFile[Any] 初始化一个受SL处理器支持的配置文件 :param processor_pool: 配置池 :type processor_pool: ABCSLProcessorPool :param root_path: 保存的根目录 :type root_path: str :param namespace: 配置的命名空间 :type namespace: str :param file_name: 配置文件名 :type file_name: str :return: 配置对象 :rtype: ABCConfigFile .. versionadded:: 0.2.0 .. py:method:: load(processor_pool: config.abc.ABCSLProcessorPool, root_path: str, namespace: str, file_name: str, *args: Any, **kwargs: Any) -> config.abc.ABCConfigFile[Any] 加载处理器 :param processor_pool: 配置池 :type processor_pool: ABCSLProcessorPool :param root_path: 保存的根目录 :type root_path: str :param namespace: 配置的命名空间 :type namespace: str :param file_name: 配置文件名 :type file_name: str :return: 配置对象 :rtype: ABCConfigFile :raise FailedProcessConfigFileError: 处理配置文件失败 .. versionchanged:: 0.2.0 现在操作是原子的(操作过程发生异常会回滚操作) 现在操作是理论上是多线/进程安全的 删除参数 ``config_file_cls`` 添加参数 ``processor_pool`` .. py:method:: load_file(source_file: TextIO, *merged_args: Any, **merged_kwargs: Any) -> config.basic.core.ConfigFile[config.basic.mapping.MappingConfigData[collections.abc.MutableMapping[str, Any]]] 从文件加载配置 :param source_file: 源文件对象 :type source_file: Any :param merged_args: 合并后的位置参数 :param merged_kwargs: 合并后的关键字参数 :return: 本地配置文件对象 :rtype: ABCConfigFile :raise FailedProcessConfigFileError: 处理配置文件失败 .. versionchanged:: 0.2.0 删除参数 ``config_file_cls`` 更改 ``source_file`` 参数类型为 ``Any`` .. py:method:: register_to(config_pool: config.abc.ABCSLProcessorPool | None = None) -> Self 注册到配置池中 :param config_pool: 配置池 :type config_pool: ABCSLProcessorPool | None :return: 返回当前实例便于链式调用 :rtype: Self .. versionchanged:: 0.3.0 返回当前实例便于链式调用 .. py:method:: save(processor_pool: config.abc.ABCSLProcessorPool, config_file: config.abc.ABCConfigFile[Any], root_path: str, namespace: str, file_name: str, *args: Any, **kwargs: Any) -> None 保存处理器 (原子操作 多线/进程安全) :param processor_pool: 配置池 :type processor_pool: ABCSLProcessorPool :param config_file: 待保存配置 :type config_file: ABCConfigFile :param root_path: 保存的根目录 :type root_path: str :param namespace: 配置的命名空间 :type namespace: str :param file_name: 配置文件名 :type file_name: str :raise FailedProcessConfigFileError: 处理配置文件失败 .. versionchanged:: 0.2.0 现在操作是原子的(操作过程发生异常会回滚操作) 现在操作是理论上是多线/进程安全的 添加参数 ``processor_pool`` .. py:method:: save_file(config_file: config.abc.ABCConfigFile[config.basic.mapping.MappingConfigData[collections.abc.Mapping[str, Any]]], target_file: TextIO, *merged_args: Any, **merged_kwargs: Any) -> None 将配置保存到文件 :param config_file: 配置文件 :type config_file: ABCConfigFile :param target_file: 目标文件对象 :type target_file: Any :param merged_args: 合并后的位置参数 :param merged_kwargs: 合并后的关键字参数 :raise FailedProcessConfigFileError: 处理配置文件失败 .. versionchanged:: 0.2.0 更改 ``target_file`` 参数类型为 ``Any`` .. py:attribute:: __slots__ :value: () .. py:attribute:: _l_open_kwargs :type: dict[str, Any] .. py:attribute:: _loader_args :type: config.utils.FrozenArguments .. py:attribute:: _reg_alias :type: str | None :value: None .. py:attribute:: _s_open_kwargs :type: dict[str, Any] .. py:attribute:: _saver_args :type: config.utils.FrozenArguments .. py:attribute:: create_dir :value: True .. py:property:: loader_args :type: config.utils.FrozenArguments 加载器默认参数 .. py:property:: processor_reg_name :type: str SL处理器的默认注册名 .. py:attribute:: raises .. py:property:: reg_alias :type: str | None 处理器的别名 .. py:property:: reg_name :type: str 处理器的注册名 .. py:property:: saver_args :type: config.utils.FrozenArguments 保存器默认参数 .. py:attribute:: supported_file_classes :return: 支持的配置文件类 .. versionadded:: 0.2.0 .. py:property:: supported_file_patterns :type: tuple[str, Ellipsis] :return: 支持的文件名匹配 .. versionchanged:: 0.2.0 重命名 ``file_ext`` 为 ``supported_file_patterns``