Skip to content

Commit

Permalink
Merge branch 'master' of github.com:VOICEVOX/voicevox_engine
Browse files Browse the repository at this point in the history
  • Loading branch information
tsukumijima committed Nov 25, 2024
2 parents ea3394d + 9599e11 commit 66a48ae
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 15 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1027,6 +1027,7 @@ VOICEVOX エディターにうまく読み込ませられないときは、エ

また、`xxx.vvpp`は分割して連番を付けた`xxx.0.vvppp`ファイルとして配布することも可能です。
これはファイル容量が大きくて配布が困難な場合に有用です。
インストールに必要な`vvpp`および`vvppp`ファイルは`vvpp.txt`ファイルにリストアップしています。

</details>

Expand Down
6 changes: 3 additions & 3 deletions test/unit/preset/test_preset.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ def test_add_preset_write_failure(tmp_path: Path) -> None:
preset_manager.load_presets()
preset_manager._refresh_cache = lambda: None # type:ignore[method-assign]
preset_manager.preset_path = "" # type: ignore[assignment]
true_msg = "プリセットの設定ファイルが見つかりません"
true_msg = "プリセットの書き込みに失敗しました"
with pytest.raises(PresetInternalError, match=true_msg):
preset_manager.add_preset(preset)
assert len(preset_manager.presets) == 2
Expand Down Expand Up @@ -302,7 +302,7 @@ def test_update_preset_write_failure(tmp_path: Path) -> None:
preset_manager.load_presets()
preset_manager._refresh_cache = lambda: None # type:ignore[method-assign]
preset_manager.preset_path = "" # type: ignore[assignment]
true_msg = "プリセットの設定ファイルが見つかりません"
true_msg = "プリセットの書き込みに失敗しました"
with pytest.raises(PresetInternalError, match=true_msg):
preset_manager.update_preset(preset)
assert len(preset_manager.presets) == 2
Expand Down Expand Up @@ -345,7 +345,7 @@ def test_delete_preset_write_failure(tmp_path: Path) -> None:
preset_manager.load_presets()
preset_manager._refresh_cache = lambda: None # type:ignore[method-assign]
preset_manager.preset_path = "" # type: ignore[assignment]
true_msg = "プリセットの設定ファイルが見つかりません"
true_msg = "プリセットの書き込みに失敗しました"
with pytest.raises(PresetInternalError, match=true_msg):
preset_manager.delete_preset(1)
assert len(preset_manager.presets) == 2
Expand Down
27 changes: 15 additions & 12 deletions voicevox_engine/preset/preset_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,17 @@ def _refresh_cache(self) -> None:
if _last_modified_time == self.last_modified_time:
# 更新無し
return

# データベースの読み込み
with open(self.preset_path, mode="r", encoding="utf-8") as f:
obj = yaml.safe_load(f)
except OSError:
raise PresetInternalError("プリセットの設定ファイルが見つかりません")
raise PresetInternalError("プリセットの読み込みに失敗しました")
except yaml.YAMLError:
raise PresetInternalError("プリセットのパースに失敗しました")
if obj is None:
raise PresetInternalError("プリセットの設定ファイルが空の内容です")

# データベースの読み込み
with open(self.preset_path, mode="r", encoding="utf-8") as f:
obj = yaml.safe_load(f)
if obj is None:
raise PresetInternalError("プリセットの設定ファイルが空の内容です")
try:
preset_list_adapter = TypeAdapter(list[Preset])
_presets = preset_list_adapter.validate_python(obj)
Expand Down Expand Up @@ -87,8 +90,8 @@ def add_preset(self, preset: Preset) -> int:
self._write_on_file()
except Exception as err:
self.presets.pop()
if isinstance(err, FileNotFoundError):
raise PresetInternalError("プリセットの設定ファイルが見つかりません")
if isinstance(err, OSError):
raise PresetInternalError("プリセットの書き込みに失敗しました")
else:
raise err

Expand Down Expand Up @@ -123,8 +126,8 @@ def update_preset(self, preset: Preset) -> int:
self._write_on_file()
except Exception as err:
self.presets[prev_preset[0]] = prev_preset[1]
if isinstance(err, FileNotFoundError):
raise PresetInternalError("プリセットの設定ファイルが見つかりません")
if isinstance(err, OSError):
raise PresetInternalError("プリセットの書き込みに失敗しました")
else:
raise err

Expand All @@ -150,9 +153,9 @@ def delete_preset(self, id: int) -> int:
# 変更の反映。失敗時はリバート。
try:
self._write_on_file()
except FileNotFoundError:
except OSError:
self.presets.insert(buf_index, buf)
raise PresetInternalError("プリセットの設定ファイルが見つかりません")
raise PresetInternalError("プリセットの書き込みに失敗しました")

return id

Expand Down

0 comments on commit 66a48ae

Please sign in to comment.