NEKOparapa / AiNiee

一款专注于Ai翻译的工具,可以用来一键自动翻译RPG SLG游戏,Epub Word TXT小说,Srt Vtt Lrc字幕等等。
GNU General Public License v3.0
1.4k stars 77 forks source link

调整 - 缓存系统重构 #362

Closed neavo closed 5 days ago

neavo commented 5 days ago

主要变化点为: 1、实现了对象级的细粒度线程锁机制 2、任务文本分配逻辑优化:原文不再跨文件,上文须保持连续 3、代码保留功能逻辑优化:使用代码救星的规则库取代了原有的字符匹配逻辑 4、移除了对 Sakura-v0.9 版本的支持 5、移除了翻译任务的错误重试逻辑

除此之外的业务逻辑基本没有变化 在输出到文件和插件事件时,会将缓存对象转换到原有的数据格式 现在除了 Request_limit 以外,其他翻译流程应该都是线程安全的了 注意使用缓存对象时,不要直接读写数据字段,而是使用带锁的 get/set 方法

# 获取原文
def get_source_text(self) -> str:
    with self.lock:
        return self.source_text