diff options
Diffstat (limited to 'Lib/rexec.py')
-rw-r--r-- | Lib/rexec.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Lib/rexec.py b/Lib/rexec.py index 316fc1c..f33041a 100644 --- a/Lib/rexec.py +++ b/Lib/rexec.py @@ -112,7 +112,8 @@ class RExec(ihooks._Verbose): ok_path = tuple(sys.path) # That's a policy decision - ok_builtin_modules = ('array', 'audioop', 'imageop', 'marshal', 'math', + ok_builtin_modules = ('array', 'binascii', 'audioop', 'imageop', + 'marshal', 'math', 'md5', 'parser', 'regex', 'rotor', 'select', 'strop', 'struct', 'time') @@ -229,6 +230,9 @@ class RExec(ihooks._Verbose): def r_reload(self, m): return self.importer.reload(m) + + def r_unload(self, m): + return self.importer.unload(m) # The s_* methods are similar but also swap std{in,out,err} @@ -274,12 +278,15 @@ class RExec(ihooks._Verbose): def s_reload(self, *args): self.s_apply(self.r_reload, args) + def s_unload(self, *args): + self.s_apply(self.r_unload, args) + # Restricted open(...) def r_open(self, file, mode='r', buf=-1): if mode not in ('r', 'rb'): raise IOError, "can't open files for writing in restricted mode" - return open(file, 'r', buf) + return open(file, mode, buf) def test(): |