Add more builtins to safe list (python_script) (#42146)

This commit is contained in:
jaydesl 2020-10-22 08:59:49 +01:00 committed by GitHub
parent 1c58a0fedc
commit f92ebde75a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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,