Rename custom_jinja to custom_templates (#90473)

Co-authored-by: Franck Nijhof <git@frenck.dev>
This commit is contained in:
Erik Montnemery 2023-03-29 21:58:25 +02:00 committed by GitHub
parent cf0550f5c2
commit 5bc9545b81
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 27 additions and 27 deletions

View file

@ -245,7 +245,7 @@ async def load_registries(hass: core.HomeAssistant) -> None:
entity_registry.async_load(hass), entity_registry.async_load(hass),
issue_registry.async_load(hass), issue_registry.async_load(hass),
hass.async_add_executor_job(_cache_uname_processor), hass.async_add_executor_job(_cache_uname_processor),
template.async_load_custom_jinja(hass), template.async_load_custom_templates(hass),
) )

View file

@ -30,7 +30,7 @@ from homeassistant.helpers.service import (
async_extract_referenced_entity_ids, async_extract_referenced_entity_ids,
async_register_admin_service, async_register_admin_service,
) )
from homeassistant.helpers.template import async_load_custom_jinja from homeassistant.helpers.template import async_load_custom_templates
from homeassistant.helpers.typing import ConfigType from homeassistant.helpers.typing import ConfigType
ATTR_ENTRY_ID = "entry_id" ATTR_ENTRY_ID = "entry_id"
@ -39,7 +39,7 @@ _LOGGER = logging.getLogger(__name__)
DOMAIN = ha.DOMAIN DOMAIN = ha.DOMAIN
SERVICE_RELOAD_CORE_CONFIG = "reload_core_config" SERVICE_RELOAD_CORE_CONFIG = "reload_core_config"
SERVICE_RELOAD_CONFIG_ENTRY = "reload_config_entry" SERVICE_RELOAD_CONFIG_ENTRY = "reload_config_entry"
SERVICE_RELOAD_CUSTOM_JINJA = "reload_custom_jinja" SERVICE_RELOAD_CUSTOM_TEMPLATES = "reload_custom_templates"
SERVICE_CHECK_CONFIG = "check_config" SERVICE_CHECK_CONFIG = "check_config"
SERVICE_UPDATE_ENTITY = "update_entity" SERVICE_UPDATE_ENTITY = "update_entity"
SERVICE_SET_LOCATION = "set_location" SERVICE_SET_LOCATION = "set_location"
@ -260,12 +260,12 @@ async def async_setup(hass: ha.HomeAssistant, config: ConfigType) -> bool: # no
vol.Schema({ATTR_LATITUDE: cv.latitude, ATTR_LONGITUDE: cv.longitude}), vol.Schema({ATTR_LATITUDE: cv.latitude, ATTR_LONGITUDE: cv.longitude}),
) )
async def async_handle_reload_jinja(call: ha.ServiceCall) -> None: async def async_handle_reload_templates(call: ha.ServiceCall) -> None:
"""Service handler to reload custom Jinja.""" """Service handler to reload custom Jinja."""
await async_load_custom_jinja(hass) await async_load_custom_templates(hass)
async_register_admin_service( async_register_admin_service(
hass, ha.DOMAIN, SERVICE_RELOAD_CUSTOM_JINJA, async_handle_reload_jinja hass, ha.DOMAIN, SERVICE_RELOAD_CUSTOM_TEMPLATES, async_handle_reload_templates
) )
async def async_handle_reload_config_entry(call: ha.ServiceCall) -> None: async def async_handle_reload_config_entry(call: ha.ServiceCall) -> None:
@ -300,7 +300,7 @@ async def async_setup(hass: ha.HomeAssistant, config: ConfigType) -> bool: # no
Additionally, it also calls the `homeasssitant.reload_core_config` Additionally, it also calls the `homeasssitant.reload_core_config`
service, as that reloads the core YAML configuration, the service, as that reloads the core YAML configuration, the
`frontend.reload_themes` service that reloads the themes, and the `frontend.reload_themes` service that reloads the themes, and the
`homeassistant.reload_custom_jinja` service that reloads any custom `homeassistant.reload_custom_templates` service that reloads any custom
jinja into memory. jinja into memory.
We only do so, if there are no configuration errors. We only do so, if there are no configuration errors.
@ -330,7 +330,7 @@ async def async_setup(hass: ha.HomeAssistant, config: ConfigType) -> bool: # no
for domain, service in ( for domain, service in (
(ha.DOMAIN, SERVICE_RELOAD_CORE_CONFIG), (ha.DOMAIN, SERVICE_RELOAD_CORE_CONFIG),
("frontend", "reload_themes"), ("frontend", "reload_themes"),
(ha.DOMAIN, SERVICE_RELOAD_CUSTOM_JINJA), (ha.DOMAIN, SERVICE_RELOAD_CUSTOM_TEMPLATES),
) )
] ]

View file

@ -59,10 +59,10 @@ update_entity:
target: target:
entity: {} entity: {}
reload_custom_jinja: reload_custom_templates:
name: Reload custom Jinja2 templates name: Reload custom Jinja2 templates
description: >- description: >-
Reload Jinja2 templates found in the custom_jinja folder in your config. Reload Jinja2 templates found in the custom_templates folder in your config.
New values will be applied on the next render of the template. New values will be applied on the next render of the template.
reload_config_entry: reload_config_entry:

View file

@ -124,7 +124,7 @@ template_cv: ContextVar[tuple[str, str] | None] = ContextVar(
CACHED_TEMPLATE_STATES = 512 CACHED_TEMPLATE_STATES = 512
EVAL_CACHE_SIZE = 512 EVAL_CACHE_SIZE = 512
MAX_CUSTOM_JINJA_SIZE = 5 * 1024 * 1024 MAX_CUSTOM_TEMPLATE_SIZE = 5 * 1024 * 1024
@bind_hass @bind_hass
@ -2084,18 +2084,18 @@ class LoggingUndefined(jinja2.Undefined):
return super().__bool__() return super().__bool__()
async def async_load_custom_jinja(hass: HomeAssistant) -> None: async def async_load_custom_templates(hass: HomeAssistant) -> None:
"""Load all custom jinja files under 5MiB into memory.""" """Load all custom jinja files under 5MiB into memory."""
return await hass.async_add_executor_job(_load_custom_jinja, hass) return await hass.async_add_executor_job(_load_custom_templates, hass)
def _load_custom_jinja(hass: HomeAssistant) -> None: def _load_custom_templates(hass: HomeAssistant) -> None:
result = {} result = {}
jinja_path = hass.config.path("custom_jinja") jinja_path = hass.config.path("custom_templates")
all_files = [ all_files = [
item item
for item in pathlib.Path(jinja_path).rglob("*.jinja") for item in pathlib.Path(jinja_path).rglob("*.jinja")
if item.is_file() and item.stat().st_size <= MAX_CUSTOM_JINJA_SIZE if item.is_file() and item.stat().st_size <= MAX_CUSTOM_TEMPLATE_SIZE
] ]
for file in all_files: for file in all_files:
content = file.read_text() content = file.read_text()

View file

@ -14,7 +14,7 @@ from homeassistant.components.homeassistant import (
SERVICE_CHECK_CONFIG, SERVICE_CHECK_CONFIG,
SERVICE_RELOAD_ALL, SERVICE_RELOAD_ALL,
SERVICE_RELOAD_CORE_CONFIG, SERVICE_RELOAD_CORE_CONFIG,
SERVICE_RELOAD_CUSTOM_JINJA, SERVICE_RELOAD_CUSTOM_TEMPLATES,
SERVICE_SET_LOCATION, SERVICE_SET_LOCATION,
) )
from homeassistant.const import ( from homeassistant.const import (
@ -576,19 +576,19 @@ async def test_save_persistent_states(hass: HomeAssistant) -> None:
assert mock_save.called assert mock_save.called
async def test_reload_custom_jinja(hass: HomeAssistant) -> None: async def test_reload_custom_templates(hass: HomeAssistant) -> None:
"""Test we can call reload_custom_jinja.""" """Test we can call reload_custom_templates."""
await async_setup_component(hass, "homeassistant", {}) await async_setup_component(hass, "homeassistant", {})
with patch( with patch(
"homeassistant.components.homeassistant.async_load_custom_jinja", "homeassistant.components.homeassistant.async_load_custom_templates",
return_value=None, return_value=None,
) as mock_load_custom_jinja: ) as mock_load_custom_templates:
await hass.services.async_call( await hass.services.async_call(
"homeassistant", "homeassistant",
SERVICE_RELOAD_CUSTOM_JINJA, SERVICE_RELOAD_CUSTOM_TEMPLATES,
blocking=True, blocking=True,
) )
assert mock_load_custom_jinja.called assert mock_load_custom_templates.called
async def test_reload_all( async def test_reload_all(
@ -602,7 +602,7 @@ async def test_reload_all(
notify = async_mock_service(hass, "notify", "reload") notify = async_mock_service(hass, "notify", "reload")
core_config = async_mock_service(hass, "homeassistant", "reload_core_config") core_config = async_mock_service(hass, "homeassistant", "reload_core_config")
themes = async_mock_service(hass, "frontend", "reload_themes") themes = async_mock_service(hass, "frontend", "reload_themes")
jinja = async_mock_service(hass, "homeassistant", "reload_custom_jinja") jinja = async_mock_service(hass, "homeassistant", "reload_custom_templates")
with patch( with patch(
"homeassistant.config.async_check_ha_config_file", "homeassistant.config.async_check_ha_config_file",

View file

@ -245,8 +245,8 @@ def test_iterating_domain_states(hass: HomeAssistant) -> None:
async def test_import(hass: HomeAssistant) -> None: async def test_import(hass: HomeAssistant) -> None:
"""Test that imports work from the config/custom_jinja folder.""" """Test that imports work from the config/custom_templates folder."""
await template.async_load_custom_jinja(hass) await template.async_load_custom_templates(hass)
assert "test.jinja" in template._get_hass_loader(hass).sources assert "test.jinja" in template._get_hass_loader(hass).sources
assert "inner/inner_test.jinja" in template._get_hass_loader(hass).sources assert "inner/inner_test.jinja" in template._get_hass_loader(hass).sources
assert ( assert (
@ -283,7 +283,7 @@ async def test_import(hass: HomeAssistant) -> None:
async def test_import_change(hass: HomeAssistant) -> None: async def test_import_change(hass: HomeAssistant) -> None:
"""Test that a change in HassLoader results in updated imports.""" """Test that a change in HassLoader results in updated imports."""
await template.async_load_custom_jinja(hass) await template.async_load_custom_templates(hass)
to_test = template.Template( to_test = template.Template(
""" """
{% import 'test.jinja' as t %} {% import 'test.jinja' as t %}