From c341eb8b2f179466ccfd59cbbfebeb444bef43e3 Mon Sep 17 00:00:00 2001 From: FujisakiEx <111629523+FujisakiEx@users.noreply.github.com> Date: Thu, 25 May 2023 21:55:22 +0900 Subject: [PATCH] =?UTF-8?q?AquesTalk=E8=A8=98=E6=B3=95=E3=81=AE=E3=83=90?= =?UTF-8?q?=E3=83=AA=E3=83=87=E3=83=BC=E3=82=BF=20(#315)=20(#681)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * AquesTalk記法のバリデータ (#315) * aplly linter * テストの拡充とコードの位置を変更した * validate_kana webAPIの追加 * コメント内のテキストの修正 * エラーを返す旨を説明に追加 --------- Co-authored-by: takana-v <44311840+takana-v@users.noreply.github.com> --- run.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/run.py b/run.py index 4b23c0f32..b73b45b40 100644 --- a/run.py +++ b/run.py @@ -1044,6 +1044,37 @@ def supported_devices( def engine_manifest(): return engine_manifest_loader.load_manifest() + @app.post( + "/validate_kana", + response_model=bool, + tags=["その他"], + summary="テキストがAquesTalkライクな記法に従っているか判定する", + responses={ + 400: { + "description": "テキストが不正です", + "model": ParseKanaBadRequest, + } + }, + ) + def validate_kana(text: str): + """ + テキストがAquesTalkライクな記法に従っているかどうかを判定します。 + 従っていない場合はエラーが返ります。 + + Parameters + ---------- + text: str + 判定する対象の文字列 + """ + try: + parse_kana(text) + return True + except ParseKanaError as err: + raise HTTPException( + status_code=400, + detail=ParseKanaBadRequest(err).dict(), + ) + @app.get("/setting", response_class=HTMLResponse, tags=["設定"]) def setting_get(request: Request): settings = setting_loader.load_setting_file()