VOICEVOX / voicevox_core

無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXのコア
https://voicevox.hiroshiba.jp/
MIT License
866 stars 117 forks source link

ダウンローダーにリポジトリ指定機能をつける #620

Closed Hiroshiba closed 1 year ago

Hiroshiba commented 1 year ago

内容

コアの同梱物などをダウンロードするダウンローダーがあります。 現状はVOICEVOX/voicevox_coreのリポジトリからダウンロードするので固定になっていますが、これを指定可能にしておくとテストなどに便利です。

同梱物をダウンロードする対象リポジトリを規制で指定できるようになればこのタスクは完了だと思います。

Pros 良くなる点

テストに便利

Cons 悪くなる点

指定方法が自明ではない

実現方法

同梱物のダウンロードは2つあるので、それぞれを指定可能にすればOKなはず。 Rustの勉強にちょうどよいかも。

その他

qryxip commented 1 year ago

メモです。

{owner}/{repository}の指定方法ですが、clapでCLI引数をパースする段階で(String, String)まで分解するのがよいかと思います。そうすれば不正な引数に対してclapの文脈でエラーを表示できます。

実際は(String, String)相当のstructを定義してFromStrをimplすることになると思います。FromStrは手で書いてもいいのですが、ついさっきparse-displayというちょうど良いライブラリを発見しました。これがちょうどはまるかと思います。(なんか(?<owner>[…]+)/(?<repository>[…]+)みたいな正規表現一つからFromStrの実装生やせるやつないかな?と思ったら発見できた上に結構ポピュラーでした)