mirror of
https://github.com/denizsafak/abogen.git
synced 2026-07-18 13:40:27 +02:00
feat: Update entities route to use '/overrides' prefix and enhance filtering options for pronunciation overrides
This commit is contained in:
+1
-1
@@ -109,7 +109,7 @@ def create_app(config: Optional[dict[str, Any]] = None) -> Flask:
|
|||||||
app.register_blueprint(jobs_bp, url_prefix="/jobs")
|
app.register_blueprint(jobs_bp, url_prefix="/jobs")
|
||||||
app.register_blueprint(settings_bp, url_prefix="/settings")
|
app.register_blueprint(settings_bp, url_prefix="/settings")
|
||||||
app.register_blueprint(voices_bp, url_prefix="/voices")
|
app.register_blueprint(voices_bp, url_prefix="/voices")
|
||||||
app.register_blueprint(entities_bp, url_prefix="/entities")
|
app.register_blueprint(entities_bp, url_prefix="/overrides")
|
||||||
app.register_blueprint(books_bp, url_prefix="/find-books")
|
app.register_blueprint(books_bp, url_prefix="/find-books")
|
||||||
app.register_blueprint(api_bp, url_prefix="/api")
|
app.register_blueprint(api_bp, url_prefix="/api")
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ from abogen.pronunciation_store import (
|
|||||||
delete_override as delete_pronunciation_override,
|
delete_override as delete_pronunciation_override,
|
||||||
save_override as save_pronunciation_override,
|
save_override as save_pronunciation_override,
|
||||||
get_override_stats,
|
get_override_stats,
|
||||||
|
all_overrides,
|
||||||
)
|
)
|
||||||
|
|
||||||
entities_bp = Blueprint("entities", __name__)
|
entities_bp = Blueprint("entities", __name__)
|
||||||
@@ -128,13 +129,46 @@ def upsert_global_override() -> ResponseReturnValue:
|
|||||||
def entities_page() -> str:
|
def entities_page() -> str:
|
||||||
settings = load_settings()
|
settings = load_settings()
|
||||||
lang = request.args.get("lang") or settings.get("language", "en")
|
lang = request.args.get("lang") or settings.get("language", "en")
|
||||||
|
voice_filter = request.args.get("voice", "")
|
||||||
|
pronunciation_filter = request.args.get("pronunciation", "")
|
||||||
|
|
||||||
options = template_options()
|
options = template_options()
|
||||||
stats = get_override_stats(lang)
|
stats = get_override_stats(lang)
|
||||||
|
|
||||||
|
overrides = all_overrides(lang)
|
||||||
|
|
||||||
|
if voice_filter == "assigned":
|
||||||
|
overrides = [o for o in overrides if o.get("voice")]
|
||||||
|
elif voice_filter == "unassigned":
|
||||||
|
overrides = [o for o in overrides if not o.get("voice")]
|
||||||
|
|
||||||
|
if pronunciation_filter == "defined":
|
||||||
|
overrides = [o for o in overrides if o.get("pronunciation")]
|
||||||
|
elif pronunciation_filter == "undefined":
|
||||||
|
overrides = [o for o in overrides if not o.get("pronunciation")]
|
||||||
|
|
||||||
|
voice_filter_options = [
|
||||||
|
{"value": "", "label": "All voices"},
|
||||||
|
{"value": "assigned", "label": "Assigned"},
|
||||||
|
{"value": "unassigned", "label": "Unassigned"},
|
||||||
|
]
|
||||||
|
pronunciation_filter_options = [
|
||||||
|
{"value": "", "label": "All pronunciations"},
|
||||||
|
{"value": "defined", "label": "Defined"},
|
||||||
|
{"value": "undefined", "label": "Undefined"},
|
||||||
|
]
|
||||||
|
|
||||||
language_label = options["languages"].get(lang, lang)
|
language_label = options["languages"].get(lang, lang)
|
||||||
return render_template(
|
return render_template(
|
||||||
"entities.html",
|
"entities.html",
|
||||||
language=lang,
|
language=lang,
|
||||||
language_label=language_label,
|
language_label=language_label,
|
||||||
|
options=options,
|
||||||
languages=options["languages"].items(),
|
languages=options["languages"].items(),
|
||||||
stats=stats,
|
stats=stats,
|
||||||
|
overrides=overrides,
|
||||||
|
voice_filter=voice_filter,
|
||||||
|
pronunciation_filter=pronunciation_filter,
|
||||||
|
voice_filter_options=voice_filter_options,
|
||||||
|
pronunciation_filter_options=pronunciation_filter_options,
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user