Skip to content

Commit

Permalink
整理: EngineManifest 利用範囲を削減 (#1258)
Browse files Browse the repository at this point in the history
* refactor: `EngineManifest` 利用範囲を削減

* fix: lint
  • Loading branch information
tarepan authored May 28, 2024
1 parent e0b60db commit 1269fab
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 12 deletions.
6 changes: 4 additions & 2 deletions voicevox_engine/app/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,10 @@ def generate_app(
app.include_router(generate_library_router(engine_manifest, library_manager))
app.include_router(generate_user_dict_router(user_dict))
app.include_router(generate_engine_info_router(core_manager, engine_manifest))
app.include_router(generate_setting_router(setting_loader, engine_manifest))
app.include_router(generate_portal_page_router(engine_manifest))
app.include_router(
generate_setting_router(setting_loader, engine_manifest.brand_name)
)
app.include_router(generate_portal_page_router(engine_manifest.name))

app = configure_openapi_schema(app)

Expand Down
6 changes: 2 additions & 4 deletions voicevox_engine/app/routers/portal_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,16 @@
from fastapi import APIRouter
from fastapi.responses import HTMLResponse

from voicevox_engine.engine_manifest import EngineManifest
from voicevox_engine.engine_manifest import EngineName


def generate_portal_page_router(engine_manifest_data: EngineManifest) -> APIRouter:
def generate_portal_page_router(engine_name: EngineName) -> APIRouter:
"""ポータルページ API Router を生成する"""
router = APIRouter()

@router.get("/", response_class=HTMLResponse, tags=["その他"])
async def get_portal_page() -> str:
"""ポータルページを返します。"""
engine_name = engine_manifest_data.name

return f"""
<html>
<head>
Expand Down
6 changes: 2 additions & 4 deletions voicevox_engine/app/routers/setting.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from fastapi import APIRouter, Depends, Form, Request, Response
from fastapi.templating import Jinja2Templates

from voicevox_engine.engine_manifest import EngineManifest
from voicevox_engine.engine_manifest import BrandName
from voicevox_engine.setting.Setting import CorsPolicyMode, Setting, SettingHandler
from voicevox_engine.utility.path_utility import resource_root

Expand All @@ -19,8 +19,7 @@


def generate_setting_router(
setting_loader: SettingHandler,
engine_manifest_data: EngineManifest,
setting_loader: SettingHandler, brand_name: BrandName
) -> APIRouter:
"""設定 API Router を生成する"""
router = APIRouter(tags=["設定"])
Expand All @@ -32,7 +31,6 @@ def setting_get(request: Request) -> Response:
"""
settings = setting_loader.load()

brand_name = engine_manifest_data.brand_name
cors_policy_mode = settings.cors_policy_mode
allow_origin = settings.allow_origin

Expand Down
9 changes: 7 additions & 2 deletions voicevox_engine/engine_manifest.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import json
from base64 import b64encode
from pathlib import Path
from typing import TypeAlias

from pydantic import BaseModel, Field

Expand Down Expand Up @@ -95,14 +96,18 @@ class SupportedFeatures(BaseModel):
)


EngineName: TypeAlias = str
BrandName: TypeAlias = str


class EngineManifest(BaseModel):
"""
エンジン自体に関する情報
"""

manifest_version: str = Field(title="マニフェストのバージョン")
name: str = Field(title="エンジン名")
brand_name: str = Field(title="ブランド名")
name: EngineName = Field(title="エンジン名")
brand_name: BrandName = Field(title="ブランド名")
uuid: str = Field(title="エンジンのUUID")
url: str = Field(title="エンジンのURL")
icon: str = Field(title="エンジンのアイコンをBASE64エンコードしたもの")
Expand Down

0 comments on commit 1269fab

Please sign in to comment.