From fe4abc845469c9b6cf194f16de26495e5298df02 Mon Sep 17 00:00:00 2001 From: Open Home Automation Date: Tue, 11 Jul 2017 03:42:42 +0200 Subject: [PATCH] Integrate utility functions into restricted Python environment (#8427) --- homeassistant/components/python_script.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/python_script.py b/homeassistant/components/python_script.py index cfb7098bbdf..c159bec0f75 100644 --- a/homeassistant/components/python_script.py +++ b/homeassistant/components/python_script.py @@ -61,6 +61,7 @@ def execute(hass, filename, source, data=None): """Execute Python source.""" from RestrictedPython import compile_restricted_exec from RestrictedPython.Guards import safe_builtins, full_write_guard + from RestrictedPython.Utilities import utility_builtins compiled = compile_restricted_exec(source, filename=filename) @@ -87,8 +88,10 @@ def execute(hass, filename, source, data=None): return getattr(obj, name, default) + builtins = safe_builtins.copy() + builtins.update(utility_builtins) restricted_globals = { - '__builtins__': safe_builtins, + '__builtins__': builtins, '_print_': StubPrinter, '_getattr_': protected_getattr, '_write_': full_write_guard,