根据 name 获取对应的 translator 配置
(cls, translater_name, name, default=None)
| 153 | |
| 154 | @classmethod |
| 155 | def get_env_by_translatername(cls, translater_name, name, default=None): |
| 156 | """根据 name 获取对应的 translator 配置""" |
| 157 | instance = cls.get_instance() |
| 158 | translators = instance._config_data.get("translators", []) |
| 159 | for translator in translators: |
| 160 | if translator.get("name") == translater_name.name: |
| 161 | if translator["envs"][name]: |
| 162 | return translator["envs"][name] |
| 163 | else: |
| 164 | with instance._lock: |
| 165 | translator["envs"][name] = default |
| 166 | instance._save_config() |
| 167 | return default |
| 168 | |
| 169 | with instance._lock: |
| 170 | translators = instance._config_data.get("translators", []) |
| 171 | for translator in translators: |
| 172 | if translator.get("name") == translater_name.name: |
| 173 | translator["envs"][name] = default |
| 174 | instance._save_config() |
| 175 | return default |
| 176 | translators.append( |
| 177 | { |
| 178 | "name": translater_name.name, |
| 179 | "envs": copy.deepcopy(translater_name.envs), |
| 180 | } |
| 181 | ) |
| 182 | instance._config_data["translators"] = translators |
| 183 | instance._save_config() |
| 184 | return default |
| 185 | |
| 186 | @classmethod |
| 187 | def delete(cls, key): |
no test coverage detected