* Allow configuring country and language in core config * Add script for updating list of countries * Use black for formatting * Fix quoting * Move country codes to a separate file * Address review comments * Add generated/countries.py * Get default language from owner account * Remove unused variable * Add script to generate list of supported languages * Add tests * Fix stale docsring * Use format_python_namespace * Correct async_user_store * Improve typing * Fix with_store decorator * Initialize language in core store migration * Fix startup * Tweak * Apply suggestions from code review Co-authored-by: Franck Nijhof <git@frenck.dev> * Update storage.py Co-authored-by: Franck Nijhof <git@frenck.dev>
25 lines
645 B
Python
25 lines
645 B
Python
"""Helper script to update language list from the frontend source."""
|
|
import json
|
|
from pathlib import Path
|
|
import sys
|
|
|
|
import requests
|
|
|
|
from .hassfest.serializer import format_python_namespace
|
|
|
|
tag = sys.argv[1] if len(sys.argv) > 1 else "dev"
|
|
|
|
req = requests.get(
|
|
f"https://raw.githubusercontent.com/home-assistant/frontend/{tag}/src/translations/translationMetadata.json"
|
|
)
|
|
data = json.loads(req.content)
|
|
languages = set(data.keys())
|
|
|
|
Path("homeassistant/generated/languages.py").write_text(
|
|
format_python_namespace(
|
|
{
|
|
"LANGUAGES": languages,
|
|
},
|
|
generator="script.languages [frontend_tag]",
|
|
)
|
|
)
|