mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Add more builtins to safe list (python_script) (#42146)
This commit is contained in:
parent
1c58a0fedc
commit
f92ebde75a
@ -5,15 +5,18 @@ import logging
|
||||
import os
|
||||
import time
|
||||
|
||||
from RestrictedPython import compile_restricted_exec
|
||||
from RestrictedPython import (
|
||||
compile_restricted_exec,
|
||||
limited_builtins,
|
||||
safe_builtins,
|
||||
utility_builtins,
|
||||
)
|
||||
from RestrictedPython.Eval import default_guarded_getitem
|
||||
from RestrictedPython.Guards import (
|
||||
full_write_guard,
|
||||
guarded_iter_unpack_sequence,
|
||||
guarded_unpack_sequence,
|
||||
safe_builtins,
|
||||
)
|
||||
from RestrictedPython.Utilities import utility_builtins
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.const import SERVICE_RELOAD
|
||||
@ -178,12 +181,21 @@ def execute(hass, filename, source, data=None):
|
||||
|
||||
return getattr(obj, name, default)
|
||||
|
||||
extra_builtins = {
|
||||
"datetime": datetime,
|
||||
"sorted": sorted,
|
||||
"time": TimeWrapper(),
|
||||
"dt_util": dt_util,
|
||||
"min": min,
|
||||
"max": max,
|
||||
"sum": sum,
|
||||
"any": any,
|
||||
"all": all,
|
||||
}
|
||||
builtins = safe_builtins.copy()
|
||||
builtins.update(utility_builtins)
|
||||
builtins["datetime"] = datetime
|
||||
builtins["sorted"] = sorted
|
||||
builtins["time"] = TimeWrapper()
|
||||
builtins["dt_util"] = dt_util
|
||||
builtins.update(limited_builtins)
|
||||
builtins.update(extra_builtins)
|
||||
logger = logging.getLogger(f"{__name__}.{filename}")
|
||||
restricted_globals = {
|
||||
"__builtins__": builtins,
|
||||
|
Loading…
x
Reference in New Issue
Block a user