core package
Submodules
core.base_sentence_generator module
句子生成器基类模块 定义所有生成器的统一接口和通用方法
- class core.base_sentence_generator.BaseSentenceGenerator(translator: ParamTranslator, engine_config: EngineConfig)[源代码]
基类:
ABC句子生成器基类 - 管道模式
- abstract property category: str
返回生成器处理的句子类型
- 返回:
类型名称
- 返回类型:
str
- exists_param(name: str, data: Dict[str, Any]) bool[源代码]
检查参数是否存在
- 参数:
name -- 参数名
data -- 数据字典
- 返回:
参数是否存在
- 返回类型:
bool
- get_format_in_config(name: str) str | None[源代码]
获取参数配置中的格式字符串
- 参数:
name -- 参数名
- 返回:
格式字符串
- 返回类型:
Optional[str]
- get_sentence(name: str, data: Dict[str, Any], use_default: bool = False) str[源代码]
根据格式字符串生成句子
- 参数:
name -- 参数名
data -- 数据字典
use_default -- 是否使用配置中的默认值
- 返回:
格式化后的句子
- 返回类型:
str
- get_value(name: str, data: Dict[str, Any], use_default: bool = False) str[源代码]
从数据中获取参数值
- 参数:
name -- 参数名
data -- 数据字典
use_default -- 是否使用配置中的默认值
- 返回:
参数值
- 返回类型:
str
- param_config: Dict[str, Dict] = {}
- property priority: int
生成器执行优先级
- 返回:
优先级数字,越小越先执行
- 返回类型:
int
core.config_manager module
配置管理模块 提供类型安全的配置管理功能
- class core.config_manager.AppConfig(paths: ~core.config_manager.PathConfig = <factory>, processing: ~core.config_manager.ProcessingConfig = <factory>, engine: ~core.config_manager.EngineConfig = <factory>)[源代码]
基类:
object应用总配置
- classmethod create_default(engine_type: str = 'naninovel') AppConfig[源代码]
创建默认配置
- 参数:
engine_type -- 引擎类型
- 返回:
默认配置对象
- 返回类型:
- engine: EngineConfig
- classmethod from_file(config_path: Path) AppConfig[源代码]
从配置文件加载
- 参数:
config_path -- 配置文件路径
- 返回:
配置对象
- 返回类型:
- 抛出:
ValueError -- 不支持的配置文件格式
- paths: PathConfig
- processing: ProcessingConfig
- class core.config_manager.EngineConfig(engine_type: str, file_extension: str, indent_size: int = 0)[源代码]
基类:
object引擎配置基类
- engine_type: str
- file_extension: str
- indent_size: int = 0
- class core.config_manager.NaninovelConfig(engine_type: str = 'naninovel', file_extension: str = '.nani', indent_size: int = 0, command_prefix: str = '@')[源代码]
基类:
EngineConfigNaninovel 引擎配置
- command_prefix: str = '@'
- engine_type: str = 'naninovel'
- file_extension: str = '.nani'
- class core.config_manager.PathConfig(input_dir: Path = WindowsPath('input'), output_dir: Path = WindowsPath('output'), param_config_dir: Path = WindowsPath('param_config'), log_dir: Path = WindowsPath('logs'))[源代码]
基类:
object路径配置
- input_dir: Path = WindowsPath('input')
- log_dir: Path = WindowsPath('logs')
- output_dir: Path = WindowsPath('output')
- param_config_dir: Path = WindowsPath('param_config')
- class core.config_manager.ProcessingConfig(ignore_mode: bool = True, ignore_words: ~typing.List[str] = <factory>, batch_size: int = 100, enable_progress_bar: bool = True)[源代码]
基类:
object处理配置
- batch_size: int = 100
- enable_progress_bar: bool = True
- ignore_mode: bool = True
- ignore_words: List[str]
- class core.config_manager.RenpyConfig(engine_type: str = 'renpy', file_extension: str = '.rpy', indent_size: int = 4, label_indent: bool = False, default_transition: str = 'dissolve')[源代码]
基类:
EngineConfigRen'Py 引擎配置
- default_transition: str = 'dissolve'
- engine_type: str = 'renpy'
- file_extension: str = '.rpy'
- indent_size: int = 4
- label_indent: bool = False
core.constants module
常量定义模块 集中管理项目中使用的所有常量
- class core.constants.ColumnName(value)[源代码]
基类:
str,EnumExcel 列名
- BACKGROUND = 'Background'
- CHARACTER = 'Character'
- IGNORE = 'Ignore'
- NOTE = 'Note'
- SPEAKER = 'Speaker'
- TEXT = 'Text'
- class core.constants.FileType(value)[源代码]
基类:
str,Enum文件类型
- BACKGROUND = 'Background'
- CHARACTER = 'Character'
- EVENT = 'Event'
- MUSIC = 'Music'
- SOUND = 'Sound'
- VOICE = 'Voice'
core.engine_processor module
引擎处理器模块 基于管道模式的协调器,负责协调数据在生成器管道中的流动
- class core.engine_processor.EngineProcessor(engine_type: str, translator: ParamTranslator, engine_config: EngineConfig)[源代码]
基类:
object引擎处理器 - 基于管道模式的协调器
职责: 1. 管理生成器管道(固定顺序) 2. 协调数据在管道中的流动 3. 处理异常和日志
- get_generator_manager() SentenceGeneratorManager[源代码]
获取生成器管理器实例
core.engine_registry module
引擎注册表模块 实现引擎的动态注册和管理
- class core.engine_registry.EngineMetadata(name: str, display_name: str, file_extension: str, config_class: Type[EngineConfig], processor_factory: Callable, validator_factory: Callable | None = None, description: str = '')[源代码]
基类:
object引擎元数据
- config_class: Type[EngineConfig]
- description: str = ''
- display_name: str
- file_extension: str
- name: str
- processor_factory: Callable
- validator_factory: Callable | None = None
- class core.engine_registry.EngineRegistry[源代码]
基类:
object引擎注册表(单例模式)
- classmethod get(engine_name: str) EngineMetadata[源代码]
获取引擎元数据
- 参数:
engine_name -- 引擎名称
- 返回:
引擎元数据
- 返回类型:
- 抛出:
EngineNotRegisteredError -- 引擎未注册
- classmethod is_registered(engine_name: str) bool[源代码]
检查引擎是否已注册
- 参数:
engine_name -- 引擎名称
- 返回:
是否已注册
- 返回类型:
bool
- classmethod list_engines() Dict[str, EngineMetadata][源代码]
列出所有已注册引擎
- 返回:
引擎字典
- 返回类型:
Dict[str, EngineMetadata]
- classmethod register(metadata: EngineMetadata)[源代码]
注册引擎
- 参数:
metadata -- 引擎元数据
- core.engine_registry.register_engine(name: str, display_name: str, file_extension: str, config_class: Type[EngineConfig], validator_factory: Callable | None = None, description: str = '')[源代码]
引擎注册装饰器
- 参数:
name -- 引擎名称
display_name -- 显示名称
file_extension -- 文件扩展名
config_class -- 配置类
validator_factory -- 验证器工厂函数
description -- 描述
- 返回:
装饰器函数
core.exceptions module
自定义异常类模块 定义项目中使用的所有异常类型
- exception core.exceptions.EngineNotRegisteredError[源代码]
基类:
EngineError引擎未注册错误
core.logger module
日志管理模块 提供统一的日志记录功能
- class core.logger.ColoredFormatter(fmt=None, datefmt=None, style='%', validate=True, *, defaults=None)[源代码]
基类:
Formatter彩色日志格式化器
- BOLD = '\x1b[1m'
- COLORS = {'CRITICAL': '\x1b[35m', 'DEBUG': '\x1b[36m', 'ERROR': '\x1b[31m', 'INFO': '\x1b[32m', 'WARNING': '\x1b[33m'}
- RESET = '\x1b[0m'
- format(record)[源代码]
Format the specified record as text.
The record's attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message.
core.param_translator module
参数翻译器模块 负责将用户友好的参数名称翻译为引擎特定的语法
- class core.param_translator.LayerTranslator(module_file: str = 'param_config/param_mappings.py', varient_module_file: str = 'param_config/varient_mappings.py')[源代码]
-
Layer参数翻译器
- class core.param_translator.ParamTranslator(module_file: str = 'param_config/param_mappings.py', varient_module_file: str = 'param_config/varient_mappings.py')[源代码]
基类:
object参数翻译器类,用于加载参数映射并提供翻译功能
- get_params_for_type(param_type: str) list[源代码]
获取指定参数类型的所有原始参数
- 参数:
param_type -- 参数类型
- 返回:
原始参数列表,如果类型不存在则返回空列表
- 返回类型:
list
- get_translations_for_type(param_type: str) list[源代码]
获取指定参数类型的所有翻译后参数
- 参数:
param_type -- 参数类型
- 返回:
翻译后参数列表,如果类型不存在则返回空列表
- 返回类型:
list
- has_mapping(param_type: str, param: str) bool[源代码]
检查是否存在指定参数的映射
- 参数:
param_type -- 参数类型
param -- 参数值
- 返回:
是否存在映射
- 返回类型:
bool
- translate(param_type: str, param: str) str[源代码]
翻译单个参数
- 参数:
param_type -- 参数类型(如"Layer", "Transform", "Transition")
param -- 要翻译的参数值
- 返回:
翻译后的参数值,如果找不到映射则返回原值
- 返回类型:
str
- class core.param_translator.TransformTranslator(module_file: str = 'param_config/param_mappings.py', varient_module_file: str = 'param_config/varient_mappings.py')[源代码]
-
Transform参数翻译器
core.sentence_generator_manager module
句子生成器管理器模块 负责发现、加载和管理引擎特定的生成器
- class core.sentence_generator_manager.SentenceGeneratorManager(engine_type: str)[源代码]
基类:
object句子生成器管理器
- create_generator_instances(translator: ParamTranslator, engine_config: EngineConfig) List[BaseSentenceGenerator][源代码]
创建生成器实例
Module contents
Core module 核心模块,提供基础设施和框架功能
- class core.AppConfig(paths: ~core.config_manager.PathConfig = <factory>, processing: ~core.config_manager.ProcessingConfig = <factory>, engine: ~core.config_manager.EngineConfig = <factory>)[源代码]
基类:
object应用总配置
- classmethod create_default(engine_type: str = 'naninovel') AppConfig[源代码]
创建默认配置
- 参数:
engine_type -- 引擎类型
- 返回:
默认配置对象
- 返回类型:
- engine: EngineConfig
- classmethod from_file(config_path: Path) AppConfig[源代码]
从配置文件加载
- 参数:
config_path -- 配置文件路径
- 返回:
配置对象
- 返回类型:
- 抛出:
ValueError -- 不支持的配置文件格式
- paths: PathConfig
- processing: ProcessingConfig
- class core.BaseSentenceGenerator(translator: ParamTranslator, engine_config: EngineConfig)[源代码]
基类:
ABC句子生成器基类 - 管道模式
- abstract property category: str
返回生成器处理的句子类型
- 返回:
类型名称
- 返回类型:
str
- exists_param(name: str, data: Dict[str, Any]) bool[源代码]
检查参数是否存在
- 参数:
name -- 参数名
data -- 数据字典
- 返回:
参数是否存在
- 返回类型:
bool
- get_format_in_config(name: str) str | None[源代码]
获取参数配置中的格式字符串
- 参数:
name -- 参数名
- 返回:
格式字符串
- 返回类型:
Optional[str]
- get_sentence(name: str, data: Dict[str, Any], use_default: bool = False) str[源代码]
根据格式字符串生成句子
- 参数:
name -- 参数名
data -- 数据字典
use_default -- 是否使用配置中的默认值
- 返回:
格式化后的句子
- 返回类型:
str
- get_value(name: str, data: Dict[str, Any], use_default: bool = False) str[源代码]
从数据中获取参数值
- 参数:
name -- 参数名
data -- 数据字典
use_default -- 是否使用配置中的默认值
- 返回:
参数值
- 返回类型:
str
- param_config: Dict[str, Dict] = {}
- property priority: int
生成器执行优先级
- 返回:
优先级数字,越小越先执行
- 返回类型:
int
- class core.EngineConfig(engine_type: str, file_extension: str, indent_size: int = 0)[源代码]
基类:
object引擎配置基类
- engine_type: str
- file_extension: str
- indent_size: int = 0
- exception core.EngineNotRegisteredError[源代码]
基类:
EngineError引擎未注册错误
- class core.EngineProcessor(engine_type: str, translator: ParamTranslator, engine_config: EngineConfig)[源代码]
基类:
object引擎处理器 - 基于管道模式的协调器
职责: 1. 管理生成器管道(固定顺序) 2. 协调数据在管道中的流动 3. 处理异常和日志
- get_generator_manager() SentenceGeneratorManager[源代码]
获取生成器管理器实例
- class core.EngineRegistry[源代码]
基类:
object引擎注册表(单例模式)
- classmethod get(engine_name: str) EngineMetadata[源代码]
获取引擎元数据
- 参数:
engine_name -- 引擎名称
- 返回:
引擎元数据
- 返回类型:
- 抛出:
EngineNotRegisteredError -- 引擎未注册
- classmethod is_registered(engine_name: str) bool[源代码]
检查引擎是否已注册
- 参数:
engine_name -- 引擎名称
- 返回:
是否已注册
- 返回类型:
bool
- classmethod list_engines() Dict[str, EngineMetadata][源代码]
列出所有已注册引擎
- 返回:
引擎字典
- 返回类型:
Dict[str, EngineMetadata]
- classmethod register(metadata: EngineMetadata)[源代码]
注册引擎
- 参数:
metadata -- 引擎元数据
- class core.NaninovelConfig(engine_type: str = 'naninovel', file_extension: str = '.nani', indent_size: int = 0, command_prefix: str = '@')[源代码]
基类:
EngineConfigNaninovel 引擎配置
- command_prefix: str = '@'
- engine_type: str = 'naninovel'
- file_extension: str = '.nani'
- class core.ParamTranslator(module_file: str = 'param_config/param_mappings.py', varient_module_file: str = 'param_config/varient_mappings.py')[源代码]
基类:
object参数翻译器类,用于加载参数映射并提供翻译功能
- get_params_for_type(param_type: str) list[源代码]
获取指定参数类型的所有原始参数
- 参数:
param_type -- 参数类型
- 返回:
原始参数列表,如果类型不存在则返回空列表
- 返回类型:
list
- get_translations_for_type(param_type: str) list[源代码]
获取指定参数类型的所有翻译后参数
- 参数:
param_type -- 参数类型
- 返回:
翻译后参数列表,如果类型不存在则返回空列表
- 返回类型:
list
- has_mapping(param_type: str, param: str) bool[源代码]
检查是否存在指定参数的映射
- 参数:
param_type -- 参数类型
param -- 参数值
- 返回:
是否存在映射
- 返回类型:
bool
- translate(param_type: str, param: str) str[源代码]
翻译单个参数
- 参数:
param_type -- 参数类型(如"Layer", "Transform", "Transition")
param -- 要翻译的参数值
- 返回:
翻译后的参数值,如果找不到映射则返回原值
- 返回类型:
str
- class core.PathConfig(input_dir: Path = WindowsPath('input'), output_dir: Path = WindowsPath('output'), param_config_dir: Path = WindowsPath('param_config'), log_dir: Path = WindowsPath('logs'))[源代码]
基类:
object路径配置
- input_dir: Path = WindowsPath('input')
- log_dir: Path = WindowsPath('logs')
- output_dir: Path = WindowsPath('output')
- param_config_dir: Path = WindowsPath('param_config')
- class core.ProcessingConfig(ignore_mode: bool = True, ignore_words: ~typing.List[str] = <factory>, batch_size: int = 100, enable_progress_bar: bool = True)[源代码]
基类:
object处理配置
- batch_size: int = 100
- enable_progress_bar: bool = True
- ignore_mode: bool = True
- ignore_words: List[str]
- class core.RenpyConfig(engine_type: str = 'renpy', file_extension: str = '.rpy', indent_size: int = 4, label_indent: bool = False, default_transition: str = 'dissolve')[源代码]
基类:
EngineConfigRen'Py 引擎配置
- default_transition: str = 'dissolve'
- engine_type: str = 'renpy'
- file_extension: str = '.rpy'
- indent_size: int = 4
- label_indent: bool = False
- class core.ScenarioToolLogger[源代码]
基类:
object统一的日志管理器(单例模式)
- class core.SentenceGeneratorManager(engine_type: str)[源代码]
基类:
object句子生成器管理器
- create_generator_instances(translator: ParamTranslator, engine_config: EngineConfig) List[BaseSentenceGenerator][源代码]
创建生成器实例
- core.register_engine(name: str, display_name: str, file_extension: str, config_class: Type[EngineConfig], validator_factory: Callable | None = None, description: str = '')[源代码]
引擎注册装饰器
- 参数:
name -- 引擎名称
display_name -- 显示名称
file_extension -- 文件扩展名
config_class -- 配置类
validator_factory -- 验证器工厂函数
description -- 描述
- 返回:
装饰器函数