Commit e35a6607 authored by Klaus Wölfel's avatar Klaus Wölfel

Allow to use pd.DataFrame class functions and access recarray in sanbox

parent 89020e26
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
Wendelin is a product containing general purpose tools to handle big Wendelin is a product containing general purpose tools to handle big
data manipulations. data manipulations.
""" """
from AccessControl import allow_module, allow_type from AccessControl import allow_module, allow_type, allow_class
# we neeed to allow access to numpy's internal types # we neeed to allow access to numpy's internal types
import numpy as np import numpy as np
...@@ -45,6 +45,10 @@ for dtype in ('int8', 'int16', 'int32', 'int64', \ ...@@ -45,6 +45,10 @@ for dtype in ('int8', 'int16', 'int32', 'int64', \
sz = np.array([(0,)], dtype = [('f0', dtype)]) sz = np.array([(0,)], dtype = [('f0', dtype)])
allow_type(type(sz[0])) allow_type(type(sz[0]))
allow_type(type(sz)) allow_type(type(sz))
rz = np.rec.array(np.array([(0,)], dtype = [('f0', dtype)]))
allow_type(type(rz[0]))
allow_type(type(rz))
allow_module('sklearn') allow_module('sklearn')
allow_module('scipy') allow_module('scipy')
...@@ -61,11 +65,14 @@ allow_type(pd.Timestamp) ...@@ -61,11 +65,14 @@ allow_type(pd.Timestamp)
allow_type(pd.DatetimeIndex) allow_type(pd.DatetimeIndex)
allow_type(pd.DataFrame) allow_type(pd.DataFrame)
allow_class(pd.DataFrame)
# Modify 'safetype' dict in full_write_guard function # Modify 'safetype' dict in full_write_guard function
# of RestrictedPython (closure) directly To allow # of RestrictedPython (closure) directly To allow
# write access to ndarray and ZBigArray objects # write access to ndarray and ZBigArray objects
from RestrictedPython.Guards import full_write_guard from RestrictedPython.Guards import full_write_guard
full_write_guard.func_closure[1].cell_contents.__self__[np.ndarray] = True full_write_guard.func_closure[1].cell_contents.__self__[np.ndarray] = True
full_write_guard.func_closure[1].cell_contents.__self__[np.core.records.recarray] = True
from wendelin.bigarray.array_zodb import ZBigArray from wendelin.bigarray.array_zodb import ZBigArray
full_write_guard.func_closure[1].cell_contents.__self__[ZBigArray] = True full_write_guard.func_closure[1].cell_contents.__self__[ZBigArray] = True
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment