-
Notifications
You must be signed in to change notification settings - Fork 309
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
複数エンジン対応:Engine manifestによるUI無効化 #919
複数エンジン対応:Engine manifestによるUI無効化 #919
Conversation
openapi.jsonが古くて動けない状況です、更新PRは更新PRで作った方がよさそう。 |
あ! ちょうど今そのPRを作っているところです・・・! |
@sevenc-nanashi openapi更新しました! 🙏 |
|
あ、ちょっと面倒かもなのですが、エンジンをディレクトリごとコピーしちゃって、片方のエンジンの |
それやろうとしたんですけど、キャラがかぶるんですよね… |
あーーーそうか・・・・。ちょっとCOEIROINKさんにお願いしてみます! |
いや、COEIROINK側にもある機能だとデバッグできないから解決にならないか・・・。 |
coeiroink側を全有効、開発版ボイボエンジン側を無効にすればよさそう。 |
すみません、もしかしてこちらのPRはすでに完成されてたりしますか・・・? |
あーっと、Coeiroinkで試そうとしたら/engine_manifestがなくて困ってる感じです。 |
おお、なるほどです!であれば仕方ないですね…! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
いくつかコメントを書きましたが、概ねLGTMの気持ちです!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!
このブランチに main を再度マージして、試してみましたが、エラーが出ました。
|
import flask
import requests
import json
from flask_cors import CORS
app = flask.Flask(__name__)
CORS(app)
session = requests.Session()
@app.route("/engine_manifest")
def engine_manifest():
with open("../coeiroink/engine_manifest.json") as f:
d = json.load(f)
for k in ("update_infos", "dependency_licenses"):
with open("../coeiroink/" + d[k]) as f:
d[k] = json.load(f)
with open("../coeiroink/" + d["terms_of_service"]) as f:
d["terms_of_service"] = f.read()
d["supported_features"] = {k: v["value"] for k, v in d["supported_features"].items()}
r = flask.jsonify(d)
r.access_control_allow_origin = "*"
return r
@app.route("/", defaults={"path": ""})
@app.route("/<path:path>", methods=["GET", "POST", "PUT", "DELETE", "OPTIONS"])
def proxy(path):
resp = session.request(
method=flask.request.method,
url=flask.request.url.replace(flask.request.host_url, "http://localhost:50031/"),
headers={
key: value
for (key, value) in flask.request.headers
if key != "Host" and key != "Access-Control-Allow-Origin"
},
data=flask.request.get_data(),
cookies=flask.request.cookies,
)
return flask.Response(
response=resp.content,
status=resp.status_code,
headers={key: value for (key, value) in resp.raw.headers.items()},
)
app.run(port=50030, debug=True) 自分が使ってたプロキシ(?)です、こっちを登録すれば動くかも? |
@raa0121 プロキシ挟むか、もしくはとりあえずUI無効化を試すなら、ボイボのengine_manifest.jsonのfeaturesを全部falseにして起動すればOKだと思います! |
すいません、手元でちゃんと動かせてないんですが、コード的には問題ないと思います。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
実際に触ってみるとちょっと変な挙動があったのでRequest changes
にしました!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
改めてLGTM!!
@raa0121 さんもレビューありがとうございます!
マージします!!
内容
Engine manifestのsupported_featuresによって一部UI(音高やイントネーションなど)を無効化するようにします。
関連 Issue
スクリーンショット・動画など
(なし)
その他
(なし)